PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 17-04-2013, 12:03 AM   #1
kdt_khanh
Nhập môn đệ tử
 
Tham gia ngày: Apr 2013
Bài gửi: 1
:
Help hiển thị LCD 16x2

Mọi người xem giúp mình đoạn code sau: khi mô phỏng trên Proteus thì chạy được.
Còn khi nạp vào PIC thì ko hiển thị chữ gì.
Giao tiếp 8 bit . data PORTB
Điều khiển RD0 RD1 RD2

Ngôn ngữ MPASM, MPLAB IDE

Code:
#INCLUDE <P16F877A.INC>
__CONFIG	_CP_OFF & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _HS_OSC
	
; thach anh 20MHz
COUNT1		EQU	0X20
COUNT2		EQU	0X21
COUNT3		EQU	0X22
COUNT4		EQU	0X23
COUNT5		EQU 0X24
LCD_DATA	EQU	PORTB
LCD_CONTROL	EQU	PORTD
RS			EQU	RD0
RW			EQU	RD1
EN			EQU	RD2

ORG 0X000
goto start

start	org 0x005	
		BCF	STATUS,RP1
		BSF	STATUS,RP0
		CLRF	TRISB
		CLRF	TRISD
		BCF	STATUS,RP0
;---------------------------
;		BEGIN
;-------- KHOI TAO -----------------
BEGIN	BCF		LCD_CONTROL,EN
		CALL	DELAY20MS
		MOVLW	0X38
		CALL	COMNWRT
		CALL	DELAY20MS
		MOVLW	0X0E
		CALL	COMNWRT
		CALL	DELAY20MS
		MOVLW	0X01
		CALL	COMNWRT
		CALL	DELAY20MS
		MOVLW	0X06
		CALL	COMNWRT
		CALL	DELAY20MS
		MOVLW	0X80
		CALL	COMNWRT
		CALL	DELAY20MS
;------------------------------
; GHI DATA
		MOVLW	A'N'
		CALL	DATAWRT
		CALL	DELAY20MS
		MOVLW	A'A'
		CALL	DATAWRT
		CALL	DELAY20MS
		MOVLW	A'M'
		CALL	DATAWRT
		CALL	DELAY20MS
		MOVLW	A'E'
		CALL	DATAWRT
		CALL	DELAY20MS
		GOTO 	$

;----------------------
;	COMMAND WRITE
COMNWRT		MOVWF	LCD_DATA
			BCF		LCD_CONTROL,RS
			BCF		LCD_CONTROL,RW
			BSF		LCD_CONTROL,EN
			NOP
			NOP
			NOP
			BCF		LCD_CONTROL,EN
			RETURN
;----------------
;	DATA WRITE
DATAWRT		MOVWF	LCD_DATA
			BSF		LCD_CONTROL,RS
			BCF		LCD_CONTROL,RW
			BSF		LCD_CONTROL,EN
			NOP
			NOP
			NOP
			BCF		LCD_CONTROL,EN
			RETURN
DELAY20MS
			MOVLW	D'20'
			MOVWF	COUNT3
LOOP3		MOVLW	D'100'
			MOVWF	COUNT1
LOOP1		MOVLW	D'200'
			MOVWF	COUNT2
LOOP2		NOP
			NOP
			DECFSZ	COUNT2
			GOTO	LOOP2
			DECFSZ	COUNT1
			GOTO	LOOP1
			DECFSZ	COUNT3
			GOTO 	LOOP3	
RETURN

END
kdt_khanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 09:40 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam