標題:
192*64液晶ST7920(帶字庫)測試匯編程序
[打印本頁]
作者:
daniu
時間:
2014-12-26 23:26
標題:
192*64液晶ST7920(帶字庫)測試匯編程序
;192*64液晶(帶字庫)測試程序
;芯片型號:ST7920
;晶振11.0592M
LCD_RS EQU P4.0 ;LCD 數(shù)據(jù)/命令選擇端
LCD_RW EQU P4.1 ;LCD 讀/寫選擇端
LCD_EN EQU P4.2 ;LCD 使能信號
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 ;顯示打開,光標關(guān),反白顯示關(guān)
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#01H ;清除屏幕顯示,將DDRAM的地址計數(shù)器歸零
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#06H ;DDRAM的地址計數(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延時子程序
;*************************************以上是寫入半角字符
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延時子程序
;*************************************以上是從字庫中“崔”字處開始顯示漢字
MOV COM,#01H ;清屏
ACALL WRI
LCALL DELAY
MOV COM,#32H ;功能設(shè)置---8BIT控制界面,繪圖顯示開
ACALL WRI ;調(diào)用寫指令子程序
LCALL DELAY ;延遲39uS
MOV COM,#36H ;功能設(shè)置---8BIT控制界面,擴充指令集
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地址坐標
INC R3 ;Y地址加1
LCALL WRI
MOV COM,#80H ;設(shè)置繪圖區(qū)的X地址坐標
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地址坐標
INC R3 ;Y地址加1
LCALL WRI
MOV COM,#88H ;設(shè)置繪圖區(qū)的X地址坐標
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延時子程序
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
;*************************************以上是延時子程序
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ù)制代碼
作者:
xiaomage
時間:
2014-12-27 22:48
好厲害哦,都是匯編
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1