單片機與液晶顯示模塊HS12864-1的接口及其編程
圖2中采用并行通信方式,單片機的IOA0-IOA7口與液晶模塊的DB0-DB7口相連作為數(shù)據(jù)輸入輸出用;即IOB0- IOB 4口與液晶模組的CS1、CS2、D/I、R/W、E相連作為單片機對液晶的控制口。
4、顯示程序設(shè)計
在液晶上顯示整屏字符或圖像有兩種方法:一種是將所要顯示的字模數(shù)據(jù)一次性發(fā)送到顯示數(shù)據(jù)RAM中;另外一種是在屏幕上指定位置進(jìn)行單獨顯示[4]。兩種方法都要在控制器空閑的條件下進(jìn)行操作,在操作之前都要先讀取忙標(biāo)志,判斷控制器是否處于忙狀態(tài),在一般情況下,可以用延時等待的方法代替。
本系統(tǒng)程序主要包括主程序和幾個子程序塊: LCD初始化, 液晶顯示屏選擇,LCD顯示,還有若干個控制子程序。主程序分別調(diào)用這些子程序?qū)崿F(xiàn)對液晶顯示器操作控制。程序流程圖見圖3。
圖3 程序流程圖
凌陽單片機的編程語言常用的有二種:匯編語言和C語言。匯編語言的機器代碼生成效率很高但可讀性不強,而C語言在大多數(shù)情況下其機器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,用C語言的開發(fā)周期通常要小于匯編語言很多。綜合以上C語言的優(yōu)點,在設(shè)計時選擇了C語言。
這里給出右半屏送命令/數(shù)據(jù)程序,說明SPCE061A單片機程序設(shè)計中對IOA /IOB口的設(shè)置。凌陽單片機控制液晶顯示部分程序如下:
5、結(jié)束語
本系統(tǒng)調(diào)試采用的是凌陽61板(即SPCE061A EMU BOARD)和u'nSP IDE 集成開發(fā)環(huán)境。硬件調(diào)試較為簡單,只需調(diào)節(jié)好液晶的對比度和背光亮度即可;在軟件方面,使用凌陽u'nSP IDE 軟件來編譯調(diào)試液晶程序。
在調(diào)試中字模數(shù)據(jù)來自字模生成軟件Zimo3,其生成的字模數(shù)據(jù)在本程序中不能直接使用,運行結(jié)果會出現(xiàn)字體的上下部分顛倒,需要將其順序反轉(zhuǎn)。
調(diào)試效果達(dá)到了程序設(shè)計的要求。
參考文獻(xiàn)
[1] 李維 言是,郭強.《液晶顯示應(yīng)用技術(shù)》[M].北京:電子工業(yè)出版社,2003.
[2] 薛鈞義.《凌陽十六位單片機原理及應(yīng)用》[M].北京:北京航空航天大學(xué)出版社,2003.
[3] 張立材. 基于SPCE061A的多功能信號發(fā)生器設(shè)計實現(xiàn)[J]. 微計算機信息,2004.20(3):94-95.
[4] 楊雷,劉曉,魏春雪.液晶顯示器的接口技術(shù)及其抗干擾措施[J].液晶與顯示,2003.18(2):121-124.
[5] 廣州市千喜科技開發(fā)有限公司內(nèi)部技術(shù)資料.《HS12864-1圖形點陣液晶顯示模塊使用手冊》[M].廣州市千喜科技開發(fā)有限公司.
評論