一種基于控制的液晶顯示屏的設計及實現
指令設置語句:
STM #XXH,AR0 ;XXH為指令代碼
PORTW AR0,#8100H ;8100H為命令口地址
參數設置語句:
STM #XXH,AR0 ;XXH為指令參數
PORTW AR0,#8000H ;8000H為數據口地址
…………
數據輸入語句:
STM #XXH,AR0 ;XXH為用戶數據
PORTW AR0,#8000H ;8000H為數據口地址
…………
液晶顯示屏的初始化程序如下:
INIT:
STM #40H,AR0 ;系統設置命令,指令代碼:40H
PORTW WR0,#8100H
STM #10H,AR0 ;標準設置
PORTW AR0,#8000H
STM #87H,AR0 ;設置光標寬度為8
PORTW AR0,#8000H
STM #07H,AR0 ;設置光標高度為8
PORTW AR0,#8000H
STM #27H,AR0;設置LCD每行需要的字節數,
PORTW AR0,#8000H每行320個點,行數為320/8=40
STM #36H,AR0 ;設置液晶的掃描頻率約為70Hz
PORTW AR0,#8000H
STM #0F0H,AR0 ;設置LCD的點行數為240
PORTW AR0,#8000H
STM #28H,AR0 ;設置顯示屏一行所占顯緩的字節數
PORTW AR0,#8000H
STM #00H,AR0
PORTW AR0,#8000H
STM #44H,AR0 ;SCROLL指令,指令代碼:44H
PORTW AR0,#8100H
STM #00H,AR0 ;確定第一顯示區的首地址
PORTW AR0,#8000H
STM #00H,AR0
PORTW AR0,#8000H
STM #240D,AR0 ;設置第一顯示區的行數
PORTW AR0,#8000H
STM #00H,AR0 ;確定第二顯示區的首地址
PORTW AR0,#8000H
STM #40H,AR0
PORTW AR0,#8000H
STM #0F0H,AR0 ;設置第二顯示區的行數
PORTW AR0,#8000H
STM #00H,AR0 ;確定第三顯示區的首地址
PORTW AR0,#8000H
STM #80H,AR0
PORTW AR0,#8000H
STM #4CH,AR0 ;設置光標自動由左向右移動
PORTW AR0,#8100H
STM #5BH,AR0 ;設置顯示屏為兩層疊加顯示方式
PORTW AR0,#8100H
STM #0DH,AR0
PORTW AR0,#8000H
…………
STM #42H,AR0 ;液晶顯示屏顯緩寫指令
PORTW AR0,#8100H
LD #240D,A ;清屏程序
LOOP1:LD #40D,B
LOOP2:STM #00H,AR0
PORTW AR0,#8000H
SUB #1H,B
BC LOOP2,BNEQ
SUB #1H,A
BC LOOP1,ANEQ
RET ;初始化結束
顯示圖片的主程序如下:
AMIN:STM #800H,SP
CALL INIT ;調用液晶顯示屏初始化程序
STM #0C03EH,AR1 ;位圖數據相對于BMP文件頭的地址
STM #42H,AR0
PORTW AR0,#8100H ;送液晶顯示屏緩寫指令
LD #240,A
CMP:LD #40,B
CMP1:PORTW AR1+,#8000H;將320×240的位圖數據依次寫入緩存區
SUB #1,B
BC CMP1,BNEQ
SUB #1,A
BC CMP,ANEQ
B $ ;主程序結束
以上就是該系統的軟件設計。由于篇幅有限,這里省略了某些控制指令的設置,用戶可根據實際需要添加設置。在實際的軟件設計中,DSP匯編語言執行過程中由于本身延時而引起的數據丟失現象,可以適當地加入空指令(NOP)來解決。同時,本程序中使用圖片顯示的例子只是用來說明控制器的利用方面就顯得有些浪費而且靈活性較差。針對那些存儲空間有限、效率要求高的系統,可以制作成字模存儲在外部ROM中供多次調用, 當顯示文字時只需計算出顯示地址而后調用字模入口地址即可。
本文提出的基礎DSP控制的液晶顯示屏,作為示波表顯示前端已在實際應用中取得了成功。該系統中所選用具有64K大容量緩存區的SED1335控制器,適用于多種點陣規格的顯示屏使用,加之其內部固化的字符發生器可產生160種字模,以及具有通過改變指令參數可實現圖像的閃爍、翻轉、移動等特點,因此從總體性能方面而言其大大強于同類型的其它控制器,非常適用于各種便攜式系統顯示前端的設計。
LCD顯示屏相關文章:lcd顯示屏原理
lcd相關文章:lcd原理
評論