摘?? 要: 介紹了EPSON EG7564C-RS點陣液晶和Motorola 16位單片機MC68HC16Z1的硬件連接電路以及在該液晶上的畫點程序和圖片顯示程序。該程序可以在液晶任意位置上顯示任意字符、圖片,其設(shè)計方案可應用于各種選用點陣液晶顯示的微型儀器的界面設(shè)計中。
關(guān)鍵詞: MC68HC16Z1單片機? EG7564-RS點陣液晶? C語言
?
EG7564C-RS是一種高性能反射式點陣液晶(STN模式),具有體積小、單電源供電、超低功耗" title="超低功耗">超低功耗(1mA)等特點,非常適合作為微型儀器的顯示器。但是,相對于大屏幕的有源液晶(TFT模式),其設(shè)計要困難一些。
本文以MOTOROLA 16位單片機MC68HC16Z1對EG7564C-RS液晶的控制為例,在介紹硬件電路的基礎(chǔ)上,詳細介紹了畫點和圖片顯示程序,各程序都用C語言編寫成函數(shù)的形式以方便調(diào)用。
1 EG7564C-RS液晶簡介
EPSON EG7564C-RS為320×200(像素)黑白點陣液晶,其方框圖參見圖1[1]。它共有18個I/O" title="I/O">I/O引腳,其功能參見表1。
?
?
?
EG7564C-RS液晶數(shù)據(jù)和屏幕的對應關(guān)系參見圖2,它決定顯示軟件的編寫。EG7564C-RS液晶支持20條指令,參見表2[1]。其中主要指令的用法在軟件設(shè)計" title="軟件設(shè)計">軟件設(shè)計中給出。
?
?
?
2 MC 68HC16Z1簡介
MOTOROLA MC68HC16Z1是高速16位單片機,該單片機采用模塊化結(jié)構(gòu),各個模塊通過內(nèi)部模塊總線連結(jié)起來。它包括16位中央處理單元(CPU16)、系統(tǒng)集成模塊(SIM)、8位或10位A/D" title="A/D">A/D轉(zhuǎn)換器(ADC)、隊列串行模塊(QSM,含有隊列串行外圍接口QSPI和串行通信接口SCI)、通用定時器(GPT)和1024字節(jié)靜態(tài)RAM(SRAM)。其方框圖參見圖3[2]。
?
?
MC68HC16Z1的最大時鐘速率為16.78MHz,鎖相環(huán)(PLL)電路通過基準頻率產(chǎn)生系統(tǒng)時鐘" title="系統(tǒng)時鐘">系統(tǒng)時鐘,時鐘源可采用晶體(標稱頻率為32.768kHz)或外部時鐘信號。系統(tǒng)硬件和軟件支持在操作期間改變時鐘頻率。由于MC68HC16Z1為全靜態(tài)操作,所以改變時鐘速率不影響寄存器和存儲器的內(nèi)容。
MC68HC16Z1采用高密度CMOS(HCMOS)工藝,功耗非常低。在使用中還可以采用低功耗停止指令(LPSTOP)使系統(tǒng)時鐘停止運行,功耗達到最小。
3 硬件設(shè)計
MC68HC16Z1單片機和EG7564C-RS液晶的硬件連接電路示意圖如圖4所示。由于MC68HC16Z1用的是5V電源,而EG7564C-RS液晶用的是3.3V電源,所以在它們之間加了4050電平轉(zhuǎn)換器,用于電平轉(zhuǎn)換。
?
?
由前可知,MC68HC16Z1是16位數(shù)據(jù)線,而EG7564C-RS液晶是8位數(shù)據(jù)線。當MC68HC16Z1和8位外設(shè)通訊時,是高8位有效,所以將MC68HC16Z1的高8位與液晶的8位數(shù)據(jù)線相連。ADD0是MC68HC16Z1地址線的最低位,和液晶的A0相連。
4 軟件設(shè)計
要在液晶上顯示圖片和字符,首先要能在液晶上畫點。畫點程序是圖片和字符顯示程序的基礎(chǔ)。下面先介紹畫點程序,然后介紹圖片和字符顯示程序。
本畫點程序?qū)崿F(xiàn)在(x,y)坐標處顯示一黑點或去掉一黑點,其流程圖如圖5所示。要在液晶上顯示一黑點,事實上就是將對應的數(shù)據(jù)字節(jié)的對應位設(shè)為“1”,而要去掉一黑點,就是將該位設(shè)為“0”。所以程序的重點是要找到(x,y)所對應的數(shù)據(jù)字節(jié)的列地址和頁地址。
?
?
液晶的列地址有10位,由x值決定。將y除以8所得的商就是頁地址。列地址的設(shè)置命令如表3所示。
?
由表3可知,在設(shè)置時,要求先送列地址的低5位,然后送列地址的高5位,每5位都是在一個字節(jié)的低5位上。所以,要將x值分解到DATA1和DATA2兩個字節(jié)中。這可用如下語句實現(xiàn):
DATA1=x&0x001f;/*DATA1中是列地址的低5位*/
DATA2=x>>5;/*DATA2中是列地址的高5位*/
字符實際上也是一種圖片,所以字符和圖片的顯示程序是一樣的。本圖片顯示程序?qū)挒閣idth(像素)、高為height(像素)的圖片顯示在(x,y)處。其流程圖如圖6所示。
?
?
由于已經(jīng)有了畫點程序,要顯示一圖片,只要計算出圖片的每一點在液晶屏幕上的坐標即可,而圖片最左上角的點在屏幕上的坐標就是(x,y)。
本圖片顯示程序由于是基于畫點程序,一個點一個點地顯示出來的,顯示速度較慢。如果采用一個字節(jié)一個字節(jié)地寫,速度將快8倍,但不能在任意位置顯示字符或圖片,其起始y坐標只能是8的整數(shù)倍,在界面設(shè)計時,將不利于界面的整體規(guī)劃和美觀。
?
參考文獻
1 SPECIFICATION TCM-A0902-9.SEIKO EPSON CORPORATION,1997
1 齊秋群,剛寒冰.16位單片機及其應用.北京:機械工業(yè)出版社,1995