/***************LCD顯示*******************/
;;;;;;LCD初始化子程序;;;;;;;;;;;;
LCD_INT:MOV A,#00000001H //清屏
ACALL W_COM //調(diào)用讀命令子程序
MOV A,#00111000B //傳輸8位數(shù)據(jù),顯示兩行,使用5*7的字符
LCALL W_COM
MOV A,#00001100B //顯示器開(kāi),光標(biāo)關(guān),字符不閃爍
LCALL W_COM
MOV A,#00000110B //字符不動(dòng),光標(biāo)自動(dòng)右移一格
LCALL W_COM
RET
;;;;;寫(xiě)入命令子程序(RS=0,RW=0);;;;;;
W_COM: ACALL F_BUSY
CLR E
CLR RS
CLR RW
SETB E
MOV P0,A
CLR E
RET
;;;;;寫(xiě)入數(shù)據(jù)子程序(RS=1,RW=0);;;;;
W_DAT: ACALL F_BUSY
CLR E
SETB RS
CLR RW
SETB E
MOV P0,A
CLR E
RET
;;;;;查忙子程序;;;;;;;;;;;;;
F_BUSY: PUSH ACC
MOV P0,#0FFH
CLR RS //忙標(biāo)志
SETB RW
WAIT: CLR E //給使能端有效信號(hào)(下降沿觸發(fā))
SETB E
JB P0.7,WAIT //直接尋址位P0.7是否為1,為1則忙,繼續(xù)等待
POP ACC
RET
END