|
最近在使用1602,写了几个程序都是只有背光显示,无法显示数据
第一个:RS-P2.0 RW-P2.1 E-P2.7(E通过与74ls00与RD WR相连)如第一个图
LCD_COMW EQU 8000H ;写命令字
LCD_DATAW EQU 8100H ;写数据寄存器
LCD_COM EQU 8200H ;读命令字
LCD_DATA EQU 8300H ;读数据寄存器
ORG 0000H
SJMP Main
ORG 0030H
Main:
MOV SP,#60H LCALL DS1
LCALL INT_LCD ;清屏
LCALL DS1
MOV A,#38H ;设置8位操作数,2行显示,5×7点阵
LCALL W_LCD_C
MOV A,#0CH ;显示开关控制:显示开关
LCALL W_LCD_C
MOV A,#06H ;输入方式设置:设置AC为自动加1,光标右移一个字符位
LCALL W_LCD_C
MOV A,#80H ;显示位地址第一行,第0位
LCALL W_LCD_C
MOV DPTR,#CCTAB1
MOV R0,#0FH
LINE1:
MOV R1,#00H
LCD2:
MOV A,R1
MOVC A,@A+DPTR ;第一行DISPLAY
MOV R2,DPL
MOV R3,DPH
LCALL W_LCD_D
INC R1
MOV DPL,R2
MOV DPH,R3
DJNZ R0,LCD2
MOV R4,#0EH
LCD3: LCALL DS1
DJNZ R4,LCD3
SJMP MAIN
END
;------------------------------------------------------------
INT_LCD:
LCALL LCD_CLS
LCALL DS1
RET
LCD_CLS:
MOV A,#01H ; 清屏
LCALL W_LCD_C
RET
W_LCD_C:
PUSH ACC
LCALL WAIT_LCD
POP ACC
MOV DPTR,#LCD_COMW
MOVX @DPTR,A
RET
WAIT_LCD:
LCALL R_LCD_C
JB ACC.7,WAIT_LCD
RET
R_LCD_C:
MOV DPTR,#LCD_COM
MOVX A,@DPTR
RET
W_LCD_D:
PUSH ACC
LCALL WAIT_LCD
POP ACC
MOV DPTR,#LCD_DATAW
MOVX @DPTR,A
RET
DS1:
MOV R7,#60H ;延时
DELAY1:
MOV R6,#00H
DJNZ R6,$
DJNZ R7,DELAY1
RET
CCTAB1: DB 57H,45H,4CH,43H,4FH,4DH,45H,20H,20H,20H,20H,20H,20H,20H,20H,20H;'WELCOME'
|
|