最近在使用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'
|