1602液晶屏驱动源程序8 察看本站的产品全家福和网站介绍
本站产品正式流水线工艺生产情况 <>12232驱动程序
<>12832驱动程序
<>12864驱动源程序
<>1602
驱动程序 <>0802
液晶驱动程序 <>回液晶主页
RS BIT P3.0 R_W BIT P3.1 ENABLE BIT P3.2 LCDDATA DATA P1
;******************************************
ORG 0000H AJMP MAIN ;ORG 000BH ;AJMP INSERS
ORG 0050H MAIN: ;MOV TMOD,#00H ;MOV TL0,#00H ;MOV TH0,#00H ;SETB EA ;SETB ET0 ;SETB TR0 ;MOV R5,#50 ;SETB P3.2 ;SETB P3.1 MOV SP,#60H LCALL INITIAL LCALL CLS LCALL SAVE_FONT MOV A,#10000111B LCALL WRITE_INSTRUCTION MOV R1,#00H
OUT_DDRAM1: MOV A,R1 LCALL WRITELCDDATA INC R1 CJNE R1,#3,OUT_DDRAM1
MOV A,#11000110B LCALL WRITE_INSTRUCTION MOV R1,#3
OUT_DDRAM2: MOV A,R1 LCALL WRITELCDDATA INC R1 CJNE R1,#8,OUT_DDRAM2
AJMP $
;INSERS: ;MOV TL0,#00H ;MOV TH0,#00H ;DJNZ R5,L0 ;MOV R5,#50 ;CPL P3.2 ;CPL P3.1 ;L0: ;RETI
INITIAL: MOV A,#00111000B LCALL WRITE_INSTRUCTION MOV A,#00001100B LCALL WRITE_INSTRUCTION MOV A,#00000110B LCALL WRITE_INSTRUCTION RET
CHECKBUSY: PUSH ACC CHECKBUSYLOOP: CLR ENABLE SETB R_W CLR RS SETB ENABLE MOV A,LCDDATA CLR ENABLE JB ACC.7,CHECKBUSYLOOP POP ACC LCALL DELAY RET
WRITE_INSTRUCTION: LCALL CHECKBUSY CLR ENABLE CLR R_W CLR RS SETB ENABLE MOV LCDDATA,A CLR ENABLE LCALL DELAY RET
WRITELCDDATA: LCALL CHECKBUSY CLR ENABLE CLR R_W SETB RS SETB ENABLE MOV LCDDATA,A CLR ENABLE RET
CLS: MOV A,#01H LCALL WRITE_INSTRUCTION RET
SAVE_FONT: MOV A,#01000000B LCALL WRITE_INSTRUCTION MOV R4,#64 MOV DPTR,#USER_PATTERN
PUT_LOOP: CLR A MOVC A,@A+DPTR LCALL WRITELCDDATA INC DPTR DJNZ R4,PUT_LOOP MOV A,#10000000B LCALL WRITE_INSTRUCTION RET
USER_PATTERN: DB 00H,00H,00H,00H,01H,03H,03H,00H DB 04H,04H,0EH,1FH,1FH,1FH,0AH,00H DB 00H,00H,00H,00H,10H,18H,18H,00H DB 00H,00H,00H,17H,10H,17H,17H,00H DB 07H,0AH,15H,03H,1CH,1FH,1FH,00H DB 1FH,1FH,0EH,1FH,0EH,1FH,1FH,00H DB 1CH,0AH,15H,1FH,07H,1FH,1FH,00H DB 00H,00H,00H,1DH,01H,1DH,1DH,00H
;PR_STRING: PUSH ACC PR_LOOP: CLR A MOVC A,@A+DPTR JZ END_PR LCALL WRITELCDDATA INC DPTR AJMP PR_LOOP
END_PR: POP ACC RET
DELAY: MOV R5,#05H L1: MOV R6,#0F8H L2: DJNZ R6,L2 DJNZ R5,L1 RET
END
|