ST7920的12864液晶驅(qū)動程序
;******************ST7920并口驅(qū)動程序******************
RS EQU P3.3
RW EQU P3.1
E EQU P3.0
PSB EQU P3.4
RST EQU P3.5
;db0-db7--------p1.0-p1.7
LCD_X EQU 30H
LCD_Y EQU 31H
COUNT EQU 32H
COUNT1 EQU 33H
COUNT2 EQU 34H
COUNT3 EQU 35H
LCD_DATA EQU 36H
LCD_DATA1 EQU 37H
LCD_DATA2 EQU 38H
STORE EQU 39H
;***********************************************
ORG 0000H
LJMP MAIN
ORG 0030H
LJMP TTNT
ORG 100H
MAIN: NOP
NOP
MOV IE,#10000001B
MOV IP,#00000001B
MOV TCON,#00000000B
MOV SP,#5FH
SETB RST
NOP
SETB PSB
;********************初始化**********************
LGS0: MOV A,#34H ;34H--擴(kuò)充指令操作
LCALL SEND_I
MOV A,#30H ;30H--基本指令操作
LCALL SEND_I
MOV A,#01H ;清除顯示
LCALL SEND_I
MOV A,#06H ;指定在資料寫入或讀取時(shí),光標(biāo)的移動方向
LCALL SEND_I
MOV A,#0CH ;開顯示,關(guān)光標(biāo),不閃爍
LCALL SEND_I
;***********************************************
LGS1: MOV DPTR,#TAB1 ;顯示漢字和字符
MOV COUNT,#40H
MOV A,#80H
LCALL SEND_I
LGS11: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ COUNT,LGS11
LCALL DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS2: MOV A,#01H
LCALL SEND_I
MOV LCD_DATA1,#0CCH ;顯示點(diǎn)陣
MOV LCD_DATA2,#0CCH
LCALL LAT_DISP
LCALL DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS3: MOV A,#34H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
MOV DPTR,#TAB3 ;顯示漢字和字符
MOV COUNT,#40H
MOV A,#80H
LCALL SEND_I
LGS31: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ COUNT,LGS31
LCALL DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS4: MOV A,#01H
LCALL SEND_I
MOV LCD_DATA1,#0FFH ;顯示點(diǎn)陣
MOV LCD_DATA2,#00H
LCALL LAT_DISP
LCALL DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS5: MOV DPTR,#TAB5 ;顯示圖形
LCALL PHO_DISP
LCALL DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
MOV A,#34H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
LJMP LGS1
;***********************************************
PHO_DISP: MOV COUNT3,#02H ;全屏顯示圖形子程序
MOV LCD_X,#80H
PHO_DISP1: MOV LCD_Y,#80H
MOV COUNT2,#20H
PHO_DISP2: MOV COUNT1,#10H
LCALL WR_ZB
PHO_DISP3: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ COUNT1,PHO_DISP3
INC LCD_Y
DJNZ COUNT2,PHO_DISP2
MOV LCD_X,#88H
DJNZ COUNT3,PHO_DISP1
MOV A,#36H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
CLRRAM: MOV LCD_DATA1,#00H ;GDRAM寫0子程序
MOV LCD_DATA2,#00H
LCALL LAT_DISP
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LAT_DISP: MOV COUNT3,#02H ;顯示點(diǎn)陣子程序
MOV LCD_X,#80H
LAT_DISP1: MOV LCD_Y,#80H
CLR F0
MOV COUNT2,#20H
LAT_DISP2: MOV COUNT1,#10H
LCALL WR_ZB
LAT_DISP3: JB F0,LAT_DISP32
MOV LCD_DATA,LCD_DATA1
AJMP LAT_DISP31
LAT_DISP32: MOV LCD_DATA,LCD_DATA2
LAT_DISP31: MOV A,LCD_DATA
LCALL SEND_D
DJNZ COUNT1,LAT_DISP31
INC LCD_Y
CPL F0
DJNZ COUNT2,LAT_DISP2
MOV LCD_X,#88H
DJNZ COUNT3,LAT_DISP1
MOV A,#36H
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
WR_ZB: MOV A,#34H
LCALL SEND_I
MOV A,LCD_Y
LCALL SEND_I
MOV A,LCD_X
LCALL SEND_I
MOV A,#30H
LCALL SEND_I
RET
;***********************************************
SEND_D: LCALL CHK_BUSY ;寫數(shù)據(jù)子程序
SETB RS
CLR RW
MOV P1,A
SETB E
NOP
NOP
CLR E
RET
SEND_I: LCALL CHK_BUSY ;寫指令子程序
CLR RS
CLR RW
MOV P1,A
SETB E
NOP
NOP
CLR E
RET
READ_D: LCALL CHK_BUSY ;讀數(shù)據(jù)子程序
SETB RS
SETB RW
SETB E
NOP
MOV A,P1
CLR E
MOV STORE,A
RET
CHK_BUSY: MOV P1,#0FFH ;測忙碌子程序
CLR RS
SETB RW
SETB E
JB P1.7,$
CLR E
RET
;***********************************************
DELAY3: MOV R5,#16H
DEL31: MOV R6,#0FFH
DEL32: MOV R7,#0FFH
DEL33: DJNZ R7,DEL33
DJNZ R6,DEL32
DJNZ R5,DEL31
RET
DELAY2: MOV R6,#0CH
DEL21: MOV R7,#18H
DEL22: DJNZ R7,DEL22
DJNZ R6,DEL21
RET
DELAY1: MOV R6,#06H
DEL11: MOV R7,#08H
DEL12: DJNZ R7,DEL12
DJNZ R6,DEL11
RET
;***********************************************
TAB1: DB '深景潤達(dá)電子公司'
DB 'JINGCHANGDIANZII'
DB '深圳液晶顯示模塊'
;DB 0BEH,0A7H ;晶
;DB '顯示器'
DB '1234567890123456'
TAB3: DB '模塊內(nèi)置二級字庫'
DB '~!@#$%^&*()_+|{}'
DB '使用更方便更靈活'
DB0A2H,0D9H,0A2H,0DAH,0A2H,0DBH,0A2H,0DCH,0A2H,0DDH,0A2H,0DEH,0A2H,0DFH,0A2H,0E0H
TTNT:SETB P3.2
SETBP3.2
LCALLT0269
MOVC,P3.2
MOVC,P3.2
JNC TTNT
TTNT1:MOV C,P3.2
MOVC,P3.2
LCALLT0269
JC TTNT1
TTNT2:SETB P3.2
SETBP3.2
LCALLT0269
MOVC,P3.2
MOVC,P3.2
JNCTTNT2
RETI
T0269:MOVR7,#98H ;delay
T026B:MOV R6,#0FEH
T026D:DJNZ R6,T026D
DJNZR7,T026B
RET
TAB5:
;-- 調(diào)入了一幅圖像;-- 寬度x高度=128x64 --
DB 000H,000H,00FH,080H,000H,000H,000H,000H,000H,000H,000H,000H,007H,000H,00CH,000H
DB 000H,000H,018H,0E0H,000H,000H,000H,000H,007H,000H,000H,000H,01FH,0C0H,0FFH,080H
DB 000H,000H,010H,03FH,0C0H,000H,000H,0FCH,01FH,0C0H,000H,000H,03FH,0F1H,0FFH,0C0H
DB 000H,000H,030H,01FH,0E0H,000H,001H,0FEH,03FH,0E0H,000H,000H,001H,0FBH,0FFH,0E0H
DB 000H,000H,0F8H,0FFH,0E0H,000H,003H,0FFH,03FH,0F0H,000H,000H,000H,07FH,0E0H,020H
DB 000H,001H,0FFH,0FFH,0E0H,000H,003H,0FFH,0F8H,010H,000H,000H,00FH,0FFH,0B0H,000H
DB 000H,001H,0FFH,0FFH,0F0H,000H,000H,007H,0FFH,080H,000H,000H,03FH,0FFH,0FFH,000H
DB 000H,001H,0FFH,0FFH,0F0H,000H,000H,0FBH,0FFH,0E0H,000H,000H,07FH,0FFH,0FFH,0C0H
DB 000H,001H,0FFH,0FFH,0F0H,000H,003H,0FFH,0FFH,0F0H,000H,000H,0FFH,0FFH,0FFH,0E0H
DB 000H,001H,0FFH,0FFH,0FCH,000H,007H,0FFH,0FCH,0F8H,000H,000H,0FFH,0FFH,0FFH,0F0H
DB 000H,001H,0FFH,0FFH,0F7H,000H,00FH,0FFH,0FEH,078H,000H,001H,0FFH,07FH,0FFH,0F0H
DB 000H,003H,0FFH,0FFH,0E1H,0FFH,0CFH,0F6H,0FFH,03CH,000H,001H,0FCH,0ECH,0FDH,0F8H
DB 000H,006H,0FFH,0FFH,0E0H,0C0H,0CFH,088H,0FFH,01CH,000H,001H,0F8H,0C8H,0FEH,0F8H
DB 000H,0ECH,0FEH,00FH,0C0H,000H,06EH,018H,0E7H,08FH,00CH,001H,0E1H,088H,07FH,038H
DB 000H,038H,078H,000H,000H,000H,078H,078H,0F7H,089H,0FEH,001H,0C1H,088H,07FH,0B8H
DB 000H,01CH,000H,000H,000H,000H,060H,058H,0FFH,0F8H,0C3H,001H,083H,0C8H,0FFH,098H
DB 000H,014H,000H,000H,000H,000H,060H,0CEH,0E3H,001H,081H,081H,083H,0EEH,0B7H,0C0H
DB 000H,0F0H,000H,000H,000H,000H,040H,093H,0E0H,003H,080H,080H,003H,0E3H,09FH,0C0H
DB 000H,0F0H,000H,000H,000H,000H,041H,09FH,0F0H,000H,0C0H,0C0H,003H,0C0H,09BH,0C0H
DB 000H,030H,000H,000H,000H,000H,0C1H,070H,010H,060H,040H,060H,003H,0C0H,0C9H,0E0H
DB 000H,030H,000H,000H,000H,001H,0C1H,040H,030H,001H,070H,020H,003H,080H,06CH,0E0H
DB 001H,0FEH,060H,000H,000H,001H,083H,080H,030H,001H,09FH,030H,003H,000H,06CH,060H
DB 071H,0FFH,070H,000H,000H,001H,082H,080H,030H,036H,001H,030H,003H,000H,026H,000H
DB 0FFH,0FFH,0E0H,000H,000H,001H,083H,0C0H,030H,020H,001H,010H,003H,0FCH,036H,000H
DB 0FCH,01FH,0C0H,000H,000H,001H,086H,0C3H,030H,078H,003H,070H,003H,006H,01EH,000H
DB 0F0H,007H,000H,000H,000H,001H,086H,061H,0B0H,0D0H,003H,0FCH,03FH,0E3H,033H,000H
DB 0E0H,003H,000H,000H,000H,001H,004H,030H,070H,050H,001H,004H,070H,079H,079H,000H
DB 0C0H,003H,000H,000H,000H,001H,004H,05CH,019H,080H,001H,01FH,047H,0D1H,0D9H,000H
DB 0C0H,003H,000H,0E0H,000H,003H,00CH,0C6H,018H,000H,003H,061H,0DDH,013H,00BH,080H
DB 0C0H,011H,001H,0B0H,00CH,003H,00DH,0DBH,00CH,080H,003H,0D8H,040H,01EH,0F8H,080H
DB 080H,011H,080H,0B0H,00EH,002H,00CH,069H,0CCH,000H,007H,02CH,040H,038H,08CH,080H
DB 086H,0C3H,000H,060H,00CH,006H,00DH,04CH,076H,02DH,09CH,00EH,061H,0F0H,0C4H,0C0H
DB 0C0H,0C3H,080H,000H,000H,01CH,00CH,046H,03FH,01CH,018H,006H,01FH,08CH,086H,0C0H
DB 0C1H,0C7H,0C0H,000H,000H,01CH,008H,044H,083H,0F3H,000H,033H,0F8H,004H,084H,0C0H
DB 060H,00FH,0F0H,000H,000H,01EH,008H,045H,030H,01FH,0FFH,0FEH,000H,060H,0C4H,0C0H
DB 030H,03FH,0FEH,000H,000H,073H,00AH,045H,022H,040H,0CEH,0C0H,027H,018H,0C6H,040H
DB 01FH,0F7H,0FFH,0C0H,000H,070H,00BH,0C2H,012H,064H,000H,00AH,0CCH,080H,0C6H,0C0H
DB 007H,0FFH,0C0H,078H,003H,0D8H,008H,0C2H,0C8H,022H,0D6H,044H,048H,0CAH,086H,040H
DB 006H,07FH,080H,03FH,0FFH,088H,009H,0C3H,049H,091H,022H,064H,08DH,024H,086H,060H
DB 00CH,077H,080H,03FH,0FCH,080H,008H,0C1H,009H,091H,022H,06AH,0A2H,025H,086H,060H
DB 00CH,03FH,080H,07FH,080H,0C0H,00AH,0C1H,082H,0A2H,091H,091H,012H,041H,002H,060H
DB 01CH,03FH,080H,07FH,080H,040H,019H,0C0H,084H,064H,0C8H,091H,005H,009H,006H,060H
DB 01CH,03FH,0C0H,07FH,0C0H,000H,018H,040H,046H,044H,0C8H,09AH,0CCH,082H,002H,020H
DB 03CH,03FH,0E0H,07FH,0C0H,000H,018H,040H,064H,0A8H,014H,0E4H,04CH,086H,002H,020H
DB 07CH,07FH,0F8H,07FH,0FEH,000H,01BH,040H,031H,0B2H,002H,024H,040H,004H,006H,020H
DB 07FH,0FFH,0FFH,0FFH,0FFH,080H,018H,040H,019H,013H,032H,064H,0B2H,00CH,006H,020H
DB 05FH,0FFH,0FFH,0FFH,0F0H,0C0H,018H,040H,00CH,03AH,021H,01BH,030H,018H,002H,020H
DB 07FH,0FFH,03FH,0FFH,0F0H,0C0H,01BH,040H,006H,004H,0CDH,099H,010H,060H,006H,020H
DB 01CH,00CH,03FH,0FFH,0F8H,0C0H,018H,040H,003H,084H,0CCH,088H,000H,0C0H,006H,020H
DB 00CH,00CH,03FH,0FFH,0F9H,080H,018H,040H,000H,0E0H,008H,000H,003H,080H,007H,020H
DB 00CH,00CH,03FH,0FFH,0FFH,000H,018H,040H,000H,038H,000H,000H,00EH,000H,006H,0A0H
DB 004H,00CH,07FH,0FFH,0FEH,000H,010H,060H,000H,00FH,0E0H,000H,0F8H,000H,004H,020H
DB 006H,00CH,07FH,0FFH,0FCH,000H,01CH,060H,000H,000H,0FFH,0FFH,0C0H,000H,004H,020H
DB 002H,00FH,0FFH,0FFH,0FCH,000H,016H,020H,000H,000H,001H,0F0H,000H,000H,004H,020H
DB 003H,09FH,080H,000H,00CH,000H,031H,0E0H,000H,000H,000H,000H,000H,000H,004H,020H
DB 001H,0F8H,000H,000H,00CH,000H,020H,060H,000H,000H,000H,000H,000H,000H,00EH,020H
DB 000H,018H,000H,000H,00CH,000H,060H,030H,000H,000H,000H,000H,000H,000H,008H,030H
DB 000H,018H,000H,000H,00CH,000H,040H,030H,000H,00FH,0FFH,0FFH,080H,000H,018H,030H
DB 000H,018H,000H,000H,008H,000H,0C0H,010H,000H,003H,0FFH,0FFH,000H,000H,010H,010H
DB 000H,00CH,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H,010H,018H
DB 000H,006H,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,003H,080H,000H,070H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,07CH,003H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,00FH,0FEH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
END