RS BIT P2.0 //定义接口 RW BIT P2.1 E BIT P2.2 ORG 0000H SJMP START ORG 0030H START: LCALL LCDINIT MAIN: MOV A,#80H LCALL BUSY LCALL WRTC MOV R2,#04H MOV DPTR,#TAB1 LCALL DELAY LCALL WRTD MOV A,#0C0H LCALL BUSY LCALL WRTC MOV R2,#04H MOV DPTR,#TAB2 LCALL DELAY LCALL WRTD LCALL DELAY1 LCALL DELAY1 MOV A,#01H LCALL BUSY LCALL WRTC MOV A,#80H LCALL BUSY LCALL WRTC MOV R2,#0FH MOV DPTR,#TAB4 LCALL DELAY LCALL WRTD LCALL DELAY1 LCALL DELAY1 MOV A,#01H LCALL BUSY LCALL WRTC MOV A,#80H LCALL BUSY LCALL WRTC MOV R2,#0FH MOV DPTR,#TAB5 LCALL DELAY LCALL WRTD LCALL DELAY1 LCALL DELAY1 MOV A,#01H LCALL BUSY LCALL WRTC LJMP MAIN LCDINIT: LCALL DELAY LCALL DELAY LCALL DELAY MOV A,#38H LCALL WRTC LCALL DELAY MOV A,#38H LCALL WRTC LCALL DELAY MOV A,#38H LCALL WRTC LCALL DELAY MOV A,#38H LCALL BUSY LCALL WRTC MOV A,#08H LCALL BUSY LCALL WRTC MOV A,#01H LCALL BUSY LCALL WRTC MOV A,#06H LCALL BUSY LCALL WRTC MOV A,#0CH LCALL BUSY LCALL WRTC MOV A,#40H LCALL BUSY LCALL WRTC MOV R2,#40H MOV DPTR,#TAB3 LCALL BUSY LCALL WRTD RET WRTC: CLR RS CLR RW CLR E MOV P0,A LCALL DELAY ;延时5ms SETB E LCALL DELAY ;延时5ms CLR E RET WRTD: MOV R1,#00H AGAIN: MOV A,R1 MOVC A,@A+DPTR SETB RS CLR RW CLR E MOV P0,A LCALL DELAY SETB E LCALL DELAY CLR E INC R1 MOV A,R1 MOV B,R2 CJNE A,B,AGAIN RET BUSY: PUSH ACC CLR RS SETB RW TT0: SETB E MOV A,P0 CLR E ANL A,#80H JNZ TT0 POP ACC RET TAB1: DB 00H,01H,02H,03H TAB2: DB 04H,05H,06H,07H TAB3: DB 03H,07H,0fH,1FH,1FH,1FH,1FH,1FH DB 18H,1EH,1FH,1FH,1FH,1FH,1FH,1FH DB 07H,1FH,1FH,1FH,1FH,1FH,1FH,1FH DB 10H,18H,1cH,1EH,1EH,1EH,1EH,1EH DB 0FH,07H,03H,01H,00H,00H,00H,00H DB 1fH,1FH,1FH,1FH,1FH,0FH,07H,01H DB 1fH,1FH,1FH,1FH,1FH,1CH,18H,00H DB 1CH,18H,10H,00H,00H,00H,00H,00H TAB4: DB " Electrical 516 " TAB5: DB " CS UNIVERSITY " DELAY: MOV R6,#10 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET DELAY1: MOV R3,#30H DL1: MOV R4,#26H DL0: MOV R5,#82H DJNZ R5,$ DJNZ R4,DL0 DJNZ R3,DL1 RET
|