?? 12864lcd顯示屏實(shí)驗(yàn)(51).asm
字號:
;******************************************************
;目標(biāo)板:51 開發(fā)板
;適用于ST7920 控制的LCM
;MCU:AT89S52 or STC89C5* ,晶體頻率:12MHz
;LCM:128*64
;LCM 型號:12864E
;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7--14:DB0-DB7 15:PSB 16:NC 17:RST
;調(diào)節(jié)對比度電路中,電位器一端接VCC,一端接地,中間端接V0
;硬件已經(jīng)將PSB 置1,通信方式為8 位數(shù)據(jù)并口
;***************接口定義********************************
RS EQU P2.7
RW EQU P2.6
E EQU P2.5
RST EQU P2.4
COM EQU 20H
DAT EQU 21H
;***************主程序入口******************************
START:
ORG 0000H
MOV SP,#60H
LJMP DISP
ORG 0040H
LCALL DELAY ;等待電源穩(wěn)定
LCALL DELAY
;***************顯示字體初始化***************************
DISP: MOV COM,#30H ;功能設(shè)置---8BIT 控制界面,基本指令集
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#0CH ;顯示打開,光標(biāo)關(guān),反白顯示關(guān)
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#01H ;清除屏幕顯示,將DDRAM 的地址計(jì)數(shù)器歸零
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#06H ;DDRAM的地址計(jì)數(shù)器(AC)加1
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
;******************寫入半角字符*********************************
;DISPLAY5A:
; MOV R2,#64 ;DDRAM地址記數(shù)器設(shè)為最大值
; MOV R1,#10H
; MOV COM,#80H ;DD RAM 地址-----0000000
; ACALL WRI
;DISP5A: MOV DAT,R1
; ACALL WRD ;寫入第二字節(jié)數(shù)據(jù)
; INC R1
; DJNZ R2,DISP5A
; LCALL DELAY1 ;1S 延時(shí)子程序
;******************寫漢字**************************************
DISPLAY5:
MOV COM,#91H ;第一行字的首地址DD RAM 地址
ACALL WRI
DISP5:
MOV DAT,#57H ;W
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#57H ;W
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#57H ;W
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#2EH ;.
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#44H ;D
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#5AH ;Z
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#4BH ;K
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#46H ;F
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#2EH ;.
ACALL WRD ;寫入第一字節(jié)數(shù)據(jù)
MOV DAT,#43H ;C
ACALL WRD ;寫入第二字節(jié)數(shù)據(jù)
MOV DAT,#4FH ;O
ACALL WRD ;寫入一字節(jié)數(shù)據(jù)
MOV DAT,#4DH ;M
CALL WRD ;寫入一字節(jié)數(shù)據(jù)
LCALL DELAY1 ;1S 延時(shí)子程序
;********************電子開發(fā)網(wǎng)等字*****************************
DISPLAY5A:
MOV R2,#128 ;64 個(gè)字寫128 次
MOV COM,#80H ;DD RAM 地址-----0000000
ACALL WRI
MOV DPTR,#DWORD
DISP5A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R2,DISP5A
LCALL DELAY1 ;1S 延時(shí)子程序
LCALL DELAY1 ;1S 延時(shí)子程序
LCALL DELAY1 ;1S 延時(shí)子程序
;************顯示圖形初始化*************************************
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY
MOV COM,#32H ;功能設(shè)置---8BIT 控制界面,繪圖顯示ON
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#36H ;功能設(shè)置---8BIT 控制界面,擴(kuò)充指令集
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
;************顯示下列圖形***************************************
DISPLAY6A:
MOV DPTR,#DAB1 ;圖形數(shù)據(jù)入口地址
ACALL DTU
MOV DPTR,#DAB1 ;圖形數(shù)據(jù)入口地址
ACALL DTU
LJMP START ;從開始處循環(huán)顯示
;***********畫圖子程序如下*************************************
DTU:
MOV R2,#32 ;32 行,(雙屏結(jié)構(gòu)中上半屏)
MOV R3,#80H ;Y 地址寄存器 (D7 固定為1,所以該地址是00H)
DISP6A: MOV COM,R3 ;設(shè)置繪圖區(qū)的Y 地址坐標(biāo)
INC R3 ;Y 地址加1
LCALL WRI
MOV COM,#80H ;設(shè)置繪圖區(qū)的X 地址坐標(biāo)
LCALL WRI
MOV R1,#16 ;16*8 列
DISP7A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP7A
DJNZ R2,DISP6A ;寫滿全屏的16*8 字節(jié)X64
MOV R2,#32 ;32 行,(雙屏結(jié)構(gòu)的下半屏)
MOV R3,#80H ;Y 地址寄存器
DISP8A: MOV COM,R3 ;設(shè)置繪圖區(qū)的Y 地址坐標(biāo)
INC R3 ;Y 地址加1
LCALL WRI
MOV COM,#88H ;設(shè)置繪圖區(qū)的X 地址坐標(biāo)
LCALL WRI
MOV R1,#16 ;16*8 列
DISP9A: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP9A
DJNZ R2,DISP8A ;寫滿全屏的16*8 字節(jié)X64
LCALL DELAY1 ;1S 延時(shí)子程序
RET
;*********************寫指令子程序*****************************
WRI: PUSH ACC
CLR RS
SETB RW
WRI1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRI1
CLR RW
MOV P0,COM
SETB E
CLR E
POP ACC
RET
;********************寫數(shù)據(jù)子程序**********************
WRD: PUSH ACC
CLR RS
SETB RW
WRD1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRD1
SETB RS
CLR RW
MOV P0,DAT
SETB E
CLR E
POP ACC
RET
;**************延時(shí)子程序***********************
DELAY: MOV R7,#0FFH
DELAY4: MOV R6,#00FH
LOOP2: DJNZ R6,LOOP2
DJNZ R7,DELAY4
RET
DELAY1: MOV R4,#16H ;延時(shí)兩秒
DELAY11:MOV R7,#0FFH
DELAY41:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,DELAY41
DJNZ R4,DELAY11
RET
XX: MOV R5,#0FFH
XX1: MOV R6,#0FFH
XX2: DJNZ R6,XX2
DJNZ R5,XX1
RET
;*****************圖形數(shù)據(jù)區(qū),每滿屏數(shù)據(jù)占1K*************************
DWORD:
DB 0A1H,0A1H,0B5H,0E7H,0D7H,0D3H,0BFH,0AAH,0B7H,0A2H,0CDH,0F8H,0D5H,0BEH,0A1H,0A1H,
DB 0D7H,0A8H,0D2H,0B5H,0B5H,0C4H,0CFH,0EEH,0C4H,0BFH,0BFH,0AAH,0B7H,0A2H,0C9H,0CCH,
DB 0B7H,0BDH,0B1H,0E3H,0B5H,0C4H,0D4H,0AAH,0C6H,0F7H,0BCH,0FEH,0B2H,0C9H,0B9H,0BAH,
DB 0A1H,0A1H,030H,032H,030H,02DH,033H,039H,037H,030H,039H,038H,037H,032H,0A1H,0A1H,
DAB1: ;小女生
DB 000H,000H,000H,000H,0FFH,0E0H,01FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,000H,000H,000H,
DB 000H,000H,000H,001H,0FFH,0C0H,003H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,
DB 000H,000H,000H,001H,0FFH,080H,007H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0C0H,000H,000H,
DB 000H,000H,000H,003H,0FFH,080H,00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F0H,000H,000H,
DB 000H,000H,000H,003H,0FFH,000H,000H,03FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,000H,000H,
DB 000H,000H,000H,003H,0FEH,0C0H,000H,07FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,003H,0FDH,080H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,007H,0FFH,080H,000H,0FBH,0FFH,0DFH,0FFH,0FFH,0FFH,0DFH,000H,000H,
DB 000H,000H,000H,007H,0FFH,040H,000H,007H,0FFH,0BBH,0FFH,0FDH,0FFH,0E1H,000H,000H,
DB 000H,000H,000H,007H,0FEH,0A0H,000H,00FH,0FFH,07BH,0FFH,0FCH,0FBH,070H,000H,000H,
DB 000H,000H,000H,007H,0FFH,079H,000H,00FH,03EH,0FBH,0FFH,0BCH,0FDH,0B0H,000H,000H,
DB 000H,000H,000H,007H,0FFH,0F3H,0C0H,00CH,02CH,099H,0FFH,03EH,07CH,090H,000H,000H,
DB 000H,000H,000H,007H,0FFH,0E7H,0B0H,000H,019H,038H,0FFH,03EH,07CH,000H,000H,000H,
DB 000H,000H,0E0H,007H,0FFH,0EFH,068H,000H,0B3H,020H,0C2H,03FH,03CH,000H,000H,000H,
DB 000H,000H,018H,007H,0FFH,0FEH,0D8H,001H,036H,06AH,092H,017H,038H,000H,000H,000H,
DB 000H,000H,006H,007H,0FFH,0FFH,0B8H,032H,05EH,0CAH,092H,007H,018H,000H,000H,000H,
DB 000H,000H,001H,007H,0FFH,0FFH,0F4H,076H,0ACH,0DAH,012H,003H,098H,040H,000H,000H,
DB 000H,000H,0C1H,007H,0FFH,0FFH,0ECH,0EDH,029H,0DAH,092H,000H,088H,044H,000H,000H,
DB 000H,000H,031H,007H,0FFH,0FFH,0DDH,0DFH,05FH,0FBH,0B2H,080H,080H,064H,000H,000H,
DB 000H,000H,008H,087H,0FFH,0FFH,0B9H,0BEH,07FH,0FFH,0B2H,080H,080H,066H,000H,000H,
DB 000H,000H,008H,087H,0FFH,0FFH,0F3H,07FH,0E0H,007H,0B2H,080H,080H,066H,000H,000H,
DB 000H,000H,004H,047H,0FFH,0FFH,0F7H,0FCH,080H,000H,0B2H,080H,081H,076H,000H,000H,
DB 000H,000H,004H,047H,0FFH,0FFH,0EFH,0F8H,080H,000H,0D6H,0FCH,081H,0F6H,000H,000H,
DB 000H,000H,0C2H,067H,0FFH,0FFH,0FFH,0F1H,007H,0C0H,0D6H,0FFH,081H,0F6H,000H,000H,
DB 000H,000H,0C2H,023H,0FFH,0FFH,0FFH,0F1H,03FH,0E0H,0D7H,0FFH,099H,0FEH,000H,000H,
DB 000H,000H,0E3H,011H,0FFH,0EFH,07FH,033H,0FFH,0F0H,0DFH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0E1H,00BH,0FFH,0E9H,07FH,01FH,0FDH,038H,09BH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0E0H,083H,0FFH,0C8H,0FEH,03FH,0FFH,018H,09BH,0FFH,099H,0FFH,000H,000H,
DB 000H,000H,0F0H,047H,0BFH,0C8H,0FEH,03FH,03FH,000H,09BH,0FBH,0BBH,0FFH,000H,000H,
DB 000H,000H,0F0H,03FH,01FH,0E1H,0FCH,07CH,03FH,001H,03BH,0DBH,0BBH,0FFH,000H,000H,
DB 000H,000H,0F8H,00FH,007H,0E1H,0FDH,0F8H,03BH,001H,033H,0B7H,0BBH,0FFH,000H,000H,
DB 000H,000H,0F8H,01EH,003H,0F1H,0CCH,0F0H,07AH,000H,033H,0B7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FCH,03EH,001H,0F9H,0C8H,030H,07EH,000H,031H,0E7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FCH,03CH,03FH,0FBH,0C8H,009H,0ECH,000H,061H,0E7H,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FCH,040H,0E3H,0C0H,007H,0F8H,000H,041H,0CFH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0F9H,080H,083H,0C0H,003H,0F0H,000H,043H,0DFH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FAH,01FH,003H,080H,000H,000H,000H,0C3H,09FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0FCH,016H,003H,080H,000H,000H,000H,080H,03FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0F0H,018H,003H,080H,000H,000H,001H,008H,07FH,0FFH,0FFH,000H,000H,
DB 000H,000H,0FFH,0C0H,010H,007H,080H,000H,000H,000H,008H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,0FFH,000H,010H,007H,080H,000H,000H,000H,004H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,0FCH,000H,008H,007H,080H,000H,000H,000H,00CH,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,07CH,000H,008H,00BH,0C0H,000H,000H,000H,000H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,07CH,000H,004H,00BH,020H,000H,000H,000H,000H,07FH,0FFH,0FEH,000H,000H,
DB 000H,000H,03CH,000H,004H,00BH,010H,000H,001H,0F8H,000H,0FFH,0FFH,0FEH,000H,000H,
DB 000H,000H,002H,000H,002H,00BH,008H,000H,003H,0FEH,001H,0FFH,0FFH,0FEH,000H,000H,
DB 000H,000H,001H,000H,002H,00BH,004H,000H,004H,07EH,003H,0FFH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,080H,001H,01BH,002H,000H,004H,03CH,007H,09FH,0FFH,0FFH,000H,000H,
DB 000H,000H,000H,080H,001H,013H,001H,000H,004H,038H,03FH,090H,003H,0FFH,000H,000H,
DB 000H,000H,000H,040H,000H,093H,000H,080H,004H,030H,04FH,020H,000H,000H,000H,000H,
DB 000H,000H,000H,020H,000H,053H,000H,040H,004H,041H,08EH,040H,000H,000H,000H,000H,
DB 000H,000H,000H,020H,000H,033H,000H,030H,004H,082H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,010H,000H,013H,000H,048H,003H,004H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,008H,000H,00BH,000H,044H,000H,01CH,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,004H,000H,007H,000H,042H,000H,062H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,004H,000H,003H,000H,0A1H,087H,082H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,003H,000H,0A0H,078H,001H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,003H,080H,0A0H,000H,001H,00CH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,002H,000H,002H,041H,020H,000H,001H,00EH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,000H,002H,03FH,020H,000H,001H,00EH,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,000H,004H,011H,020H,000H,001H,006H,000H,000H,000H,000H,000H,
DB 000H,000H,000H,001H,080H,004H,01FH,020H,000H,002H,006H,000H,000H,000H,000H,000H,
DB 000H,000H,080H,001H,0C0H,004H,010H,090H,000H,00CH,006H,000H,000H,000H,000H,000H,
DB 000H,000H,040H,001H,020H,008H,020H,050H,000H,010H,006H,000H,000H,000H,000H,000H,end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -