低成本單片機(jī)系統(tǒng)的液晶顯示器顯示技術(shù)研究
1.前言
隨著電子技術(shù)的迅速發(fā)展,使得電子電路的設(shè)計日趨復(fù)雜,單片機(jī)因為具有高集成度、高穩(wěn)定性和成本低廉等特點(diǎn),因而在電子設(shè)計中得到越來越廣泛的應(yīng)用。
第一,使用數(shù)碼顯示管雖然成本低廉,但是顯示內(nèi)容非常有限且單一,不能滿足越來越多的顯示需求;第二,使用CRT或者彩色液晶顯示器可以顯示更多的內(nèi)容,但是存在著設(shè)計復(fù)雜化、提高設(shè)計成本和浪費(fèi)資源等弊端。因此,實際工作中迫切需要一種簡單實用,成本低廉,設(shè)計簡單的顯示其產(chǎn)品。
2.基本原理LC0811-SL由液晶顯示器控制器和液晶顯示器面板以及發(fā)光二極管背光三部分組成。其中液晶顯示器顯示控制器是整個顯示器的核心部分。其內(nèi)部結(jié)構(gòu)圖如圖1所示。
2.1 電源
液晶顯示器使用5V直流電源,電源供給示意圖如圖2所示。
2.2 管腳功能定義
LC0811-SL具有16個管腳(PIN),具體功能定義如表1、表2所示。
2.3 寄存器
LCD控制器有2個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)。
指令寄存器(IR)是一個只寫寄存器,既用于存儲指令代碼如清顯示或者光標(biāo)移位,又用來存儲顯示數(shù)據(jù)RAM(DD RAM)地址或者字符發(fā)發(fā)生器RAM(CG RAM)地址。
數(shù)據(jù)寄存器(DR)是一個讀寫寄存器,用于暫存對DD RAM或CG RAM讀/寫的數(shù)據(jù),數(shù)據(jù)寫入DR是通過一個顯示控制器的內(nèi)部操作自動寫入到DD RAM或CG RAM.同時,DR也用來存儲從DD RAM或CG RAM讀出的數(shù)據(jù)。當(dāng)?shù)刂沸畔懭隝R,通過一個內(nèi)部操作從DD RAM或CG RAM讀出數(shù)據(jù)到DR,此時的數(shù)據(jù)傳輸完全通過讀DR來完成。執(zhí)行完一個從DR的讀操作后,數(shù)據(jù)保存在DD RAM或CG RAM,下一地址送到DR,為下一個讀周期做準(zhǔn)備,如表2所示,寄存選擇器(RS)信號決定兩個寄存器中的哪一個被選中。
2.4 忙標(biāo)志(BF)
當(dāng)忙標(biāo)志位是1(即高)時執(zhí)行一個內(nèi)部操作并且下一個指令是不能被接受的。
當(dāng)RS=0并且執(zhí)行完一個讀操作時,忙標(biāo)志位輸出到DB7,下一個指令只有在忙標(biāo)志位為0(即低)時才能夠被寫入。
2.5 地址計數(shù)器(AC)
地址計數(shù)器分配地址給D D R A M或C GRAM,當(dāng)一個指令的地址寫入IR,地址信息從IR送到AC,這個指令同時決定DD RAM或CGRAM的選擇。從DD RAM或CG RAM完成一次讀/寫操作后,地址計數(shù)器(AC)自動減1或者加1,當(dāng)RS=0并且讀操作完成后,AC中的內(nèi)容輸出到DB0DB0~DB7.
2.6 顯示數(shù)據(jù)存儲器(DD RAM)
DD RAM用8位字符代碼的形式來存儲顯示數(shù)據(jù),容量是80*8或者80字節(jié),DD RAM不用于顯示時,可用作通用的數(shù)據(jù)R A M.
DD RAM地址是用AC來設(shè)置并且用16進(jìn)制表示,這個地址計數(shù)器可以通過“Set DD RAMAddress”指令進(jìn)行寫操作,用“Read BusFlag and Address”指令進(jìn)行讀操作。如圖3所示,在讀/寫時,數(shù)據(jù)位DB0~DB6代表DDRAM地址,DB7為忙標(biāo)志位。
2.7 字符發(fā)生器ROM(CG ROM)
字符發(fā)生器ROM(CG ROM)從8位字符代碼產(chǎn)生5×7點(diǎn)陣或者5×10點(diǎn)陣字符圖形,能夠產(chǎn)生等于192種5×7點(diǎn)陣字符圖形和32種5×10點(diǎn)陣字符圖形。
2.8 字符發(fā)生器(CG RAM)
CG RAM是一個64×8位的RAM,可以對其編程自定義字符圖形,在5×7點(diǎn)陣下,可以寫8種類型的字符圖形,在5×10點(diǎn)陣下,可以寫4種類型的字符圖形??梢允褂米址a00H~07H,從CG RAM寫字符程序到DDRAM,不使用CG RAM存儲單元時可以用作普通的RAM.
例如:寫一個5×7字符圖形程序到CGRAM存儲單元(如01H)步驟如下:
a)用“Set DD RAM Address”指令置CGRAM指針到字符代碼01H的第一行;
b)用“Read Bus Flag and Address”指令寫自定義字符的嘴上一行;
c)如果I/D位在“Entry Mode Set”命令中已經(jīng)置位,CG RAM地址自動增加,然后,再繼續(xù)回到b),寫完字符的所有行;
d)寫完所有7行數(shù)據(jù),用“Set DD RAMAddress”指令將地址計數(shù)器恢復(fù)到一個DDRAM存儲單元。
e)顯示寫入的自定義字符,在DD RAM地址里用“Write Data to CG or DD RAM”指令顯示01H這個字符。[!--empirenews.page--]
2.9 控制器
a)LCD控制器具有4位或者8位模式,當(dāng)使用4位模式時,數(shù)據(jù)傳送使用數(shù)據(jù)位D B 4~D B 7進(jìn)行兩個4位操作,DB0~DB3不使用,在時令周期完成之前, 數(shù)據(jù)傳送兩次, 先傳送高四位(DB4~DB7的數(shù)據(jù),假設(shè)接口數(shù)據(jù)是8位字長),然后傳送低四位(DB0~DB3的數(shù)據(jù),假設(shè)接口數(shù)據(jù)是8位字長),4 位數(shù)據(jù)傳送完成后, 檢查忙標(biāo)志(BF),兩個四位操作后接著傳送忙標(biāo)志位和地址計數(shù)器的數(shù)據(jù);b)當(dāng)使用8位模式時,數(shù)據(jù)傳送使用完整的8位散居據(jù)總線DB0~DB7.
2.10 初始化
2.10.1 復(fù)位電路初始化
打開電源,顯示器可以通過內(nèi)部電路進(jìn)行初始化,進(jìn)入初始化后,可以開始執(zhí)行指令,直到初始化結(jié)束忙標(biāo)志)(BF)位保持忙狀態(tài),VCC電壓升高到4.5V后,忙標(biāo)志(BF)保持10ms有效。
1)清顯示
2)功能設(shè)置
DL=1:8位接口操作
N=0:一行顯示
F=0:5×7點(diǎn)陣字符顯示
3)顯示開/關(guān)控制
D=0:顯示關(guān)
C=0:光標(biāo)關(guān)
B=0:閃爍關(guān)
4)入口模式設(shè)置
I/D=0:+1(增量模式)
S=0:不顯示移位操作
如果內(nèi)部電源可提供的復(fù)位時間不能滿足(0.1ms
2.10.2 軟件初始化
軟件初始化一般在內(nèi)部電路不能滿足條件,無法正常初始化的情況下使用,軟件初始化流程如圖3所示。
3.應(yīng)用實例
單片機(jī)系統(tǒng)通過數(shù)據(jù)總線直接與顯示器進(jìn)行連接,可以很方便的組成單片機(jī)顯示系統(tǒng),基本原理圖如圖4所示。
這是一個典型的單片機(jī)顯示系統(tǒng)電路,具有較強(qiáng)的通用性,可以廣泛的應(yīng)用于電子工程設(shè)計中??紤]到使用上的方便快捷和通用性,可以把單片機(jī)系統(tǒng)和顯示器的接口用標(biāo)準(zhǔn)接插件進(jìn)行擴(kuò)展,單片機(jī)系統(tǒng)部分采用插座XS1,液晶顯示器部分使用插頭XP1.這樣,使系統(tǒng)的通用性和簡捷性得到加強(qiáng)。
4.結(jié)語
由于它本身具有比較完善的字符顯示能力,可以顯示大量字符圖形,突破了普通數(shù)碼顯示管只能顯示數(shù)字和簡單英文的局限性,能充分滿足單片機(jī)系統(tǒng)的數(shù)據(jù)信息的顯示。實際使用中,LC0811-SL液晶顯示器能夠為單片機(jī)系統(tǒng)提供良好的人機(jī)界面。