Em đang tập viết PIC6F877A cho LCD1602.
Sau khi tham khảo data sheet của LCD1602, em viết thử đưa con trỏ về đầu dòng màn hình nhưng không được, mong mọi người chỉ giúp
Code:
;***********************************
;Pic 16F877A
;Su dung Thach Anh 20 MHz
;LCD1602
;Các chân của LCD:
;RS : RD0
;R/W : RD1
;E : RD2
;DB7 DB6 DB5 DB4 : RB7 RB6 RB5 RB4
;DB3 DB2 DB1 DB0 : RB3 RB2 RB1 RB0
;***********************************
;---------------------------------------------------------------
;----------------- Khoi Tao Vi dieu khien ----------------------
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF ; khai báo “configuration bit”
;---------------- Khoi tao xong --------------------------------
;---------------------------------------------------------------
;---------------------------------------------------------------
;---------------- Khai bao cho LCD -----------------------------
#DEFINE RS PORTB,0 ;RS - RD0
#DEFINE RW PORTB,1 ;R/W - RD1
#DEFINE EN PORTB,2 ;E - RD2
;---------------------------------------------------------------
;---------------------------------------------------------------
;---------------- Chuong trình chính ---------------------------
ORG 0x0000
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
BANKSEL TRISD
CLRF TRISD
BANKSEL PORTD
BSF RS
BCF RW
BSF EN
BANKSEL PORTB
MOVLW B'00000001' ; DB0 = 1, đưa con trỏ về đầu dòng
MOVWF PORTB
LOOP
GOTO LOOP
END