標(biāo)題:
12864液晶屏測(cè)試程序(匯編)
[打印本頁(yè)]
作者:
daniu
時(shí)間:
2014-12-26 22:32
標(biāo)題:
12864液晶屏測(cè)試程序(匯編)
DI BIT P4.0
RW BIT P4.1
E BIT P4.2
PSB BIT P2.7
RESET BIT P2.3
LCDBG BIT P4.3
ORG 00H
AJMP MAIN
ORG 0030H
MAIN:
SETB PSB
CLR LCDBG
MOV SP,#40H
LCALL INIT
LCALL BMP1 ;全屏顯示花格子
LCALL DEL200MS
LCALL BMP2 ;全屏顯示另一種花格子
LCALL DEL200MS
LCALL BMP4 ;全屏顯示大方格,每行8個(gè),共32個(gè)
LCALL DEL200MS
MOV R1,#0D2H ;全屏顯示“液”
MOV R0,#0BAH
LCALL BMP3
LCALL DEL200MS
MOV R1,#0BEH ;全屏顯示“示”
MOV R0,#0A7H
LCALL BMP3
LCALL DEL200MS
MOV R1,#0C6H ;全屏顯示“屏”
MOV R0,#0C1H
LCALL BMP3
LCALL DEL200MS
LCALL BMP5 ;全屏顯示“晶漢達(dá)”等文字
LCALL DEL200MS
AJMP MAIN
BMP1: ;全屏顯示花格子
MOV R3,#20H
MOV A,#40H
LCALL WC1
MOV A,#0AAH
MOV R4,#02H
BMP10:
LCALL WD1
DJNZ R4,BMP100
CPL A
MOV R4,#02H
BMP100:
DJNZ R3,BMP10
MOV R3,#20H
MOV A,#80H
LCALL WC1
BMP11:
MOV A,#00H
LCALL WD1
MOV A,#00H
LCALL WD1
DJNZ R3,BMP11
RET
BMP2:
MOV R3,#80H ;128個(gè)
MOV A,#60H ;造字CGRAM,可以自定義
LCALL WC1
MOV A,#0FFH
BMP20:
DJNZ R3,BMP20
MOV R3,#80H
MOV A,#80H
LCALL WC1
BMP21:
MOV A,#00H
LCALL WD1
MOV A,#02H
LCALL WD1
DJNZ R3,BMP21
RET
BMP3:
MOV R3,#20H ;顯示32個(gè)字
MOV A,#80H ;從第1行第1個(gè)地址開始顯示
LCALL WC1
BMP31:
MOV A,R1
LCALL WD1
MOV A,R0
LCALL WD1
DJNZ R3,BMP31
RET
BMP4: ;自定義圖片,顯示方格“口”
MOV A,#40H ;造字CGRAM
LCALL WC1
MOV A,#0FFH ;第一行顯示
LCALL WD1
MOV A,#0FFH
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#80H
LCALL WD1
MOV A,#01H
LCALL WD1
MOV A,#0FFH ;第一字符最后一行顯示
LCALL WD1
MOV A,#0FFH
LCALL WD1
MOV A,#80H
LCALL WC1
BMP41:
MOV A,#00H
LCALL WD1
MOV A,#00H
LCALL WD1
DJNZ R3,BMP41
RET
BMP5: ;第5幅畫面
MOV A,#01H ;清除顯示
LCALL WC1 ;寫指令
MOV A,#82H ;從第一行第3個(gè)地址開始顯示
LCALL WC1
MOV A,#0BEH ;顯示“晶”(查表得編碼BEA7)
LCALL WD1 ;寫數(shù)據(jù)
MOV A,#0A7H
LCALL WD1
MOV A,#0BAH ;顯示“漢”
LCALL WD1
MOV A,#0BAH
LCALL WD1
MOV A,#0B4H ;顯示“達(dá)”
LCALL WD1
MOV A,#0EFH
LCALL WD1
MOV A,#91H ;從第二行第2個(gè)地址開始顯示
LCALL WC1 ;寫指令
MOV A,#0A3H ;顯示“1”
LCALL WD1
MOV A,#0B1H
LCALL WD1
MOV A,#0A3H ;顯示“2”
LCALL WD1
MOV A,#0B2H
LCALL WD1
MOV A,#0A3H ;顯示“8”
LCALL WD1
MOV A,#0B8H
LCALL WD1
MOV A,#0A3H ;顯示“6”
LCALL WD1
MOV A,#0B6H
LCALL WD1
MOV A,#0A3H ;顯示“4”
LCALL WD1
MOV A,#0B4H
LCALL WD1
MOV A,#0A3H ;顯示“F”
LCALL WD1
MOV A,#0C6H
LCALL WD1
MOV A,#8AH ;從第三行第3個(gè)地址開始顯示
LCALL WC1
MOV A,#0CDH ;顯示“圖”
LCALL WD1
MOV A,#0BCH
LCALL WD1
MOV A,#0D0H ;顯示“形”
LCALL WD1
MOV A,#0CEH
LCALL WD1
MOV A,#0B5H ;顯示“點(diǎn)”
LCALL WD1
MOV A,#0E3H
LCALL WD1
MOV A,#0D5H ;顯示“陣”
LCALL WD1
MOV A,#0F3H
LCALL WD1
MOV A,#99H ;從第四行第2個(gè)地址開始顯示
LCALL WC1
MOV A,#0D7H ;顯示“自”
LCALL WD1
MOV A,#0D4H
LCALL WD1
MOV A,#0B4H ;顯示“帶”
LCALL WD1
MOV A,#0F8H
LCALL WD1
MOV A,#0BAH ;顯示“漢”
LCALL WD1
MOV A,#0BAH
LCALL WD1
MOV A,#0D7H ;顯示“字”
LCALL WD1
MOV A,#0D6H
LCALL WD1
MOV A,#0D7H ;顯示“字”
LCALL WD1
MOV A,#0D6H
LCALL WD1
MOV A,#0BFH ;顯示“庫(kù)”
LCALL WD1
MOV A,#0E2H
LCALL WD1
RET
INIT: ;初始化LCD程序
CLR RESET ;復(fù)位
SETB RESET
MOV A,#30H ;8位基本指令操作
LCALL WC1
MOV A,#30H
LCALL WC1
MOV A,#0CH
LCALL WC1
MOV A,#01H ;清除屏幕顯示
LCALL WC1
MOV A,#06H ;DDRAM地址計(jì)數(shù)器加1
LCALL WC1
RET
WC1: ;寫指令
PUSH ACC
MOV P0,A
CLR RW
CLR DI
SETB E
NOP
CLR E
CALL RFG1
POP ACC
RET
WD1: ;寫數(shù)據(jù)
PUSH ACC
MOV P0,A
CLR RW
SETB DI
SETB E
NOP
CLR E
CALL RFG1
POP ACC
RET
RFG1: ;讀取忙標(biāo)志和地址
MOV P0,#0FFH
SETB RW
CLR DI
BUSY: ;讀忙標(biāo)志程序
SETB E
MOV A,P0
CLR E
JB ACC.7,BUSY
RET
DEL20MS: ;延時(shí)
MOV R7,#20D
DD6: MOV R6,#200D
DD5: NOP
NOP
NOP
DJNZ R6,DD5
DJNZ R7,DD6
RET
DEL200MS:
MOV R7,#15D
DEL2: MOV R6,#200D
DEL1: MOV R5,#200D
DEL0: DJNZ R5,DEL0
DJNZ R6,DEL1
DJNZ R7,DEL2
RET
END
復(fù)制代碼
作者:
ahshmj
時(shí)間:
2014-12-29 19:40
使用循環(huán)查表方法輸入漢字會(huì)更簡(jiǎn)潔。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1