只是LCD1602的代码;多功能51单片机开发板;LCD1602测试程序RS EQU P2.0 RW EQU P2.1 E EQU P2.2 LDATA EQU P1 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#00H ;R0:每行显示字符的个数 MOV R1,#80H ;寄存器地址 MOV A,#38H ;设置显示(16×2) ACALL WIR MOV A,#0EH ;开显示,显示光标,光标不闪烁 ACALL WIR MOV A,#06H ;整屏显示不移动 ACALL WIR MOV A,#01H ;显示清屏 ACALL WIR MOV DPTR,#LCD LOOP0: MOV A,R1 ;写地址 ACALL WIR INC R1 ;地址加一 CJNE R1,#90H,TT ;判断第一行写完没有 MOV R1,#0C0H ;若写完,R1=第二行地址 TT: MOV A,R0 MOVC A,@A+DPTR ACALL WDR INC R0 ;计数R0加1 LCALL DELAY1 CJNE R0,#20H,LOOP0 ;R1不等于32则继续 RE: AJMP RE WIR: ACALL BUSY ;写指令寄存器子程序 CLR E ;初始化 CLR RS CLR RW SETB E MOV LDATA,A CLR E RET WDR: ACALL BUSY ;写数据寄存器子程序 CLR E SETB RS CLR RW SETB E MOV LDATA,A CLR E RET BUSY: PUSH ACC ;检测忙信号子程序 ISBUSY:CLR E CLR RS SETB RW SETB E MOV A,LDATA JB ACC.7,ISBUSY ;ACC.7=1,说明忙 POP ACC ACALL DELAY1 RET DELAY1:MOV R6,#5 ;延时子程序 D0: MOV R7,#248 DJNZ R7,$ DJNZ R6,D0 RET DELAY2:MOV R5,#2 D1: MOV R3,#245 D2: MOV R4,#245 DJNZ R4,$ DJNZ R3,D2 DJNZ R5,D1 RET LCD:DB ' MCS-51 TEST ' DB ' Xu Rui Feng ' END