本人是剛學(xué)51的菜鳥, 請教各位高手大哥一個問題,再此先謝過了!
我來點(diǎn)一款12864的液晶屏, 實(shí)現(xiàn)最簡單的顯示 " 間隔橫條 " , 主要顯示程序段用下邊的這一段
的時候,一打開電源, 就可以正常的顯示出 間隔橫條 來, 可是, 一旦改成后邊的那一段, 就絕對不
顯示, 只在片1與片2的第一頁顯示4或8列出來,然后沒反應(yīng)了. 或者用鑷子放在AT89C52的第19
腳, 顯示屏便逐頁逐列的緩慢的一列一列的顯示出來, 最終片1顯示正常, 片2(右半屏)卻有部分亂
碼. 始終想不明白:
這是開機(jī)即可以正常顯示的程序段:
QUAN:
MOV R4,#00H ; 頁從0開始
QUAN1:
MOV A,R4 ; 頁數(shù)送到A
ORL A,#0B8H ; 計(jì)算頁碼值代碼
MOV R_1,A ; 頁代碼送到指令暫存器
CALL WRI1
CALL WRI2 ; 頁代碼寫進(jìn)LCM的片1與片2
MOV R_1,#40H ; 0列開始,即列代碼為40H
CALL WRI1
CALL WRI2 ; 起始列寫進(jìn)左右半屏
MOV R3,#00H ; 每一頁寫64個字節(jié)( 64 列)
QUAN2:
; MOV R_2,#55H ; 調(diào)用"QUAN"的程序已在R_2中送入55H, 這里僅作說明本段程序用
CALL WRDATA1 ; 向片1寫入顯示數(shù)據(jù) 55H
CALL WRDATA2 ; 向片2寫入顯示數(shù)據(jù) 55H
INC R3 ; 列計(jì)數(shù)器加1
CJNE R3,#40H,QUAN2 ; 列如果沒有到64, 就返回繼續(xù)寫
INC R4 ; 頁計(jì)數(shù)器加1
CJNE R4,#08H,QUAN1 ; 頁如果沒有到8, 就返回繼續(xù)寫
RET
這是在上邊這段稍加修改但卻不能正常顯示的程序段:
QUAN:
MOV R4,#00H ; 頁從0開始
QUAN1:
MOV A,R4 ; 頁數(shù)送到A
ORL A,#0B8H ; 計(jì)算頁碼值代碼
MOV R_1,A ; 頁代碼送到指令暫存器
CALL WRI1 ; 寫頁代碼
CALL WRI2
MOV R_1,#40H ; 0列開始,即列代碼為40H
CALL WRI1
CALL WRI2
MOV R3,#00H ; 每一頁寫64個字節(jié) ( 64列 )
QUAN2:
; MOV R_2,#55H ; 調(diào)用"QUAN"的程序已在R_2中送入55H, 這里僅作說明本段程序用
CALL WRDATA1 ; 將55H寫進(jìn)片1 ( 左半屏 )
INC R3
CJNE R3,#64,QUAN2 ; 將左半屏的一頁64列寫滿
MOV R3,#0
QUAN3:
; MOV R_2,#55H ; 調(diào)用"QUAN"的程序已在R_2中送入55H, 這里僅作說明本段程序用
CALL WRDATA2 ; 將55H寫進(jìn)片2 ( 右半屏 )
INC R3 ; 列計(jì)數(shù)器加1
CJNE R3,#40H,QUAN3 ; 將右半屏的同一頁寫滿64列
INC R4 ; 頁計(jì)數(shù)器加1
CJNE R4,#08H,QUAN1 ; 頁如果沒有到8, 就返回繼續(xù)重復(fù)
RET
請教下,我是新會員,我現(xiàn)在用的是MTG-12232CFYHSGY的液晶顯示器,不帶字庫的,請問要把漢字顯示出來,該怎么編寫程序?謝謝了,很急!
| 歡迎光臨 (http://www.denmoz.com/bbs/) | Powered by Discuz! X3.1 |