- ;192*64液晶(帶字庫(kù))測(cè)試程序
- ;芯片型號(hào):ST7920
- ;晶振11.0592M
- LCD_RS EQU P4.0 ;LCD 數(shù)據(jù)/命令選擇端
- LCD_RW EQU P4.1 ;LCD 讀/寫選擇端
- LCD_EN EQU P4.2 ;LCD 使能信號(hào)
- LCD_BG EQU P4.3 ;LCD 背光控制端
- LCD_SJ EQU P0 ;LCD 數(shù)據(jù)
- COM EQU 20H
- DAT EQU 21H
- ;===========================================================
- ORG 0000H
- AJMP START
- ORG 0100H
- ;===========================================================
- START: MOV SP,#60H
- CLR LCD_BG ;打開LCD背光
- 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
- ;*************************************以上是模塊初始化
- MOV R2,#64 ;DDRAM地址記數(shù)器設(shè)為最大
- MOV R1,#10H ;從代碼為“10”處顯示
- MOV COM,#80H ;DDRAM地址---0000000
- ACALL WRI ;調(diào)用寫指令子程序
- DISP5A: MOV DAT,R1
- ACALL WRD ;調(diào)用寫數(shù)據(jù)子程序
- INC R1
- DJNZ R2,DISP5A
- LCALL DELAY1 ;1S延時(shí)子程序
- ;*************************************以上是寫入半角字符
- MOV R2,#64 ;DDRAM地址記數(shù)器設(shè)為最大
- MOV R1,#0DEH ;字符低位地址
- MOV COM,#80H ;DDRAM地址---0000000
- ACALL WRI ;調(diào)用寫指令子程序
- DISP5: MOV DAT,#0B4H ;寫入字符高位地址
- ACALL WRD ;調(diào)用寫數(shù)據(jù)子程序
- MOV DAT,R1
- ACALL WRD
- INC R1
- DJNZ R2,DISP5
- LCALL DELAY1 ;1S延時(shí)子程序
- ;*************************************以上是從字庫(kù)中“崔”字處開始顯示漢字
- MOV COM,#01H ;清屏
- ACALL WRI
- LCALL DELAY
- MOV COM,#32H ;功能設(shè)置---8BIT控制界面,繪圖顯示開
- ACALL WRI ;調(diào)用寫指令子程序
- LCALL DELAY ;延遲39uS
- MOV COM,#36H ;功能設(shè)置---8BIT控制界面,擴(kuò)充指令集
- ACALL WRI ;調(diào)用寫指令子程序
- LCALL DELAY ;延遲39uS
- DISPLAY6:MOV DPTR,#DAB2 ;圖形數(shù)據(jù)入口地址
- MOV R2,#32 ;32行(雙屏結(jié)構(gòu)的上半屏)
- MOV R3,#80H ;Y地址寄存器
- DISP6: 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列
- DISP7: CLR A
- MOVC A,@A+DPTR
- MOV DAT,A
- LCALL WRD
- INC DPTR
- DJNZ R1,DISP7
- DJNZ R2,DISP6 ;寫滿全屏的16*8字節(jié)X64
- MOV R2,#32 ;32行(雙屏結(jié)構(gòu)的下半屏)
- MOV R3,#80H ;Y地址寄存器
- DISP8: 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列
- DISP9: CLR A
- MOVC A,@A+DPTR
- MOV DAT,A
- LCALL WRD
- INC DPTR
- DJNZ R1,DISP9
- DJNZ R2,DISP8 ;寫滿全屏的16*8字節(jié)X64
- LCALL DELAY1 ;1S延時(shí)子程序
- LJMP START ;從開始處循環(huán)顯示
- ;*************************************以上是寫入圖畫面
- WRI: PUSH ACC
- CLR LCD_RS
- SETB LCD_RW
- WRI1: MOV LCD_SJ,#0FFH
- SETB LCD_EN
- MOV A,LCD_SJ
- CLR LCD_EN
- JB ACC.7,WRI1
- CLR LCD_RW
- MOV LCD_SJ,COM
- SETB LCD_EN
- CLR LCD_EN
- POP ACC
- RET
- ;*************************************以上是寫指令子程序
- WRD: PUSH ACC
- CLR LCD_RS
- SETB LCD_RW
- WRD1: MOV LCD_SJ,#0FFH
- SETB LCD_EN
- MOV A,LCD_SJ
- CLR LCD_EN
- JB ACC.7,WRD1
- SETB LCD_RS
- CLR LCD_RW
- MOV LCD_SJ,DAT
- SETB LCD_EN
- CLR LCD_EN
- POP ACC
- RET
- ;*************************************以上是寫數(shù)據(jù)子程序
- DELAY: MOV R7,#200 ;延遲39uS;17
- DJNZ R7,$
- RET ;17*2*(12/11.0592)+2*(12/11.0592)≈39uS
- DELAY1: MOV R4,#200 ;延遲1S,06D;08
- DELAY11: MOV R7,#0E2H
- DELAY41: MOV R6,#0FFH ;07D
- DJNZ R6,$
- DJNZ R7,DELAY41
- DJNZ R4,DELAY11
- RET ;255*2*226*8*(12/11.0592)+2*(12/11.0592)=1000459uS≈1S
- ;*************************************以上是延時(shí)子程序
- DAB2: ;畫面數(shù)據(jù)表
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
- DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
- DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 11H,0FFH, 80H, 40H, 08H, 30H, 10H, 20H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 68H, 3FH,0FFH, 08H, 30H, 11H,0F8H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 68H, 3FH,0FFH, 08H, 30H, 11H,0F8H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H,0FFH, 00H, 00H, 7FH,0FEH, 7DH, 08H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 11H, 6BH, 07H,0FCH, 16H, 30H, 2DH,0F8H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH,0FFH, 04H, 0CH, 16H, 30H, 2DH, 08H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 00H, 3FH,0FFH, 16H, 30H, 2DH,0F8H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 00H, 3FH,0FFH, 16H, 30H, 2DH,0F8H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH,0FFH, 30H, 01H, 66H,0FEH, 2DH, 26H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 1CH, 00H, 03H,0F0H, 76H, 82H, 2DH, 28H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH,0FFH, 82H, 11H, 08H, 82H, 11H, 10H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 8BH, 04H, 11H, 16H, 82H, 2DH, 28H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 8BH, 04H, 11H, 16H, 82H, 2DH, 28H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH, 18H,0B8H, 1FH, 60H,0FEH, 41H,0C6H, 00H
- DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 07H, 8FH,0FFH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 08H, 70H, 40H,0EFH, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 08H, 70H, 40H,0EFH, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 00H, 10H, 00H, 80H, 10H, 60H, 00H, 0FH,0FFH, 30H, 0CH, 00H, 80H, 00H, 00H, 00H
- DB 00H, 20H, 18H, 38H, 20H, 60H, 00H, 00H, 60H, 08H, 0CH, 1FH,0FCH, 1CH, 00H, 00H
- DB 00H,0C0H, 64H, 45H, 00H, 60H, 00H, 03H,0FCH, 0BH,0FFH, 00H, 80H, 3EH, 00H, 00H
- DB 00H,0C1H, 00H, 01H, 00H, 10H, 00H, 00H, 80H, 00H, 0CH, 08H, 88H, 3EH, 00H, 00H
- DB 00H,0C1H, 00H, 01H, 00H, 10H, 00H, 00H, 80H, 00H, 0CH, 08H, 88H, 3EH, 00H, 00H
- DB 01H, 01H, 00H, 00H,0C0H, 10H, 00H, 1FH,0FFH,0BDH, 8CH, 06H,0B0H, 3EH, 00H, 00H
- DB 02H, 0EH, 18H, 1CH,0C0H, 10H, 00H, 01H, 00H, 04H, 4CH, 7FH,0FEH, 1CH, 00H, 00H
- DB 02H, 16H, 64H, 22H, 20H, 10H, 00H, 03H,0FCH, 04H, 4CH, 01H,0C0H, 1CH, 00H, 00H
- DB 02H, 16H, 64H, 22H, 20H, 10H, 00H, 03H,0FCH, 04H, 4CH, 01H,0C0H, 1CH, 00H, 00H
- DB 04H,0E8H, 83H, 41H, 1CH, 08H, 00H, 0DH, 04H, 04H, 0CH, 06H,0B0H, 00H, 00H, 00H
- DB 07H, 10H, 8FH, 47H, 03H, 88H, 00H, 11H,0FCH, 04H, 3CH, 08H, 88H, 1CH, 00H, 00H
- DB 00H, 20H, 6CH, 26H, 01H, 78H, 00H, 01H, 04H, 0AH, 00H, 70H, 86H, 1CH, 00H, 00H
- DB 00H,0C0H, 18H, 1CH, 00H, 80H, 00H, 01H,0FCH, 31H,0FFH, 00H, 80H, 00H, 00H, 00H
- DB 00H,0C0H, 18H, 1CH, 00H, 80H, 00H, 01H,0FCH, 31H,0FFH, 00H, 80H, 00H, 00H, 00H
- DB 00H,0C1H, 87H, 80H, 00H, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 01H, 06H, 78H, 3CH, 20H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 01H, 08H, 07H,0C2H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 01H, 08H, 00H, 01H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 01H, 08H, 00H, 01H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 01H, 08H, 18H, 01H,0C0H, 60H, 00H, 00H, 00H,0F1H,0F3H, 87H,0C0H, 00H, 00H, 00H
- DB 00H,0C6H, 18H,0C2H, 20H, 80H, 00H, 00H, 03H, 0EH, 1CH, 78H, 70H, 00H, 00H, 00H
- DB 00H,0C1H, 00H,0C2H, 00H, 80H, 00H, 00H, 04H, 44H, 11H, 10H, 38H, 00H, 00H, 00H
- DB 00H, 26H,0E0H, 04H, 01H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
- DB 00H, 26H,0E0H, 04H, 01H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
- DB 00H, 11H, 18H, 38H, 03H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
- DB 00H, 0EH, 87H,0C2H, 1CH, 00H, 00H, 00H, 04H, 00H, 10H, 00H, 38H, 00H, 00H, 00H
- DB 00H, 01H,0E0H, 04H,0E0H, 00H, 00H, 00H, 03H, 00H, 1CH, 00H, 70H, 00H, 00H, 00H
- DB 00H, 1EH, 18H, 3FH, 1EH, 00H, 00H, 00H, 00H, 80H, 32H, 00H,0C0H, 00H, 00H, 00H
- DB 00H, 1EH, 18H, 3FH, 1EH, 00H, 00H, 00H, 00H, 80H, 32H, 00H,0C0H, 00H, 00H, 00H
- DB 00H, 38H, 07H,0C0H, 0FH, 00H, 00H, 00H, 00H, 40H, 61H, 01H, 80H, 00H, 00H, 00H
- DB 00H,0E9H,0FFH,0FFH, 0DH, 80H, 00H, 00H, 00H, 31H,0C0H, 87H, 00H, 00H, 00H, 00H
- DB 01H,0E9H, 1BH,0B9H, 0DH,0E0H, 00H, 00H, 00H, 0BH, 80H, 6EH, 00H, 00H, 00H, 00H
- DB 03H,0C9H,0F0H, 1FH, 0CH,0F0H, 00H, 00H, 00H, 06H, 00H, 18H, 00H, 00H, 00H, 00H
- DB 03H,0C9H,0F0H, 1FH, 0CH,0F0H, 00H, 00H, 00H, 06H, 00H, 18H, 00H, 00H, 00H, 00H
- DB 07H, 06H,0E0H, 06H, 10H, 78H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 07H,0C1H, 00H, 00H, 20H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 07H,0E0H, 80H, 00H,0C1H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 07H,0E0H, 80H, 00H,0C1H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
- DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
- END
復(fù)制代碼
|