LCD驅(qū)動(dòng)器SD0432與嵌入式系統(tǒng)的接口設(shè)計(jì)
關(guān)鍵詞:LCD顯示驅(qū)動(dòng)器 SD0432 嵌入式系統(tǒng)芯片8051 看門狗(WDT)
1 SD0432的主要特性
現(xiàn)今,隨著LCD價(jià)格的下降,LCD的使用已經(jīng)越來(lái)越普遍了,如在電腦顯示器方面,大有LCD顯示器取代CRT顯示器的趨勢(shì)。同時(shí)由于LCD顯示器具有直觀、小巧輕薄、耐用等特性,因而得到了廣泛的使用。
SD0432是具有128段(324位)和映射存儲(chǔ)器的多功能LCD驅(qū)動(dòng)器。通過(guò)配置可使之適合于多種LCD的應(yīng)用場(chǎng)合。主控制器(如單片機(jī))與SD0432之間的接口只需四根線。此外,SD0432還可以通過(guò)掉電指令來(lái)降低器件的功耗。SD0432的主要特性如下:
工作電壓范圍為2.4V~5.2V;
內(nèi)含256kHz RC振蕩器;
外部32kHz晶振或256kHz時(shí)鐘頻率輸入;
1/2或1/3偏置選擇及1/2、1/3或1/4占空比LCD顯示;
內(nèi)含時(shí)基頻率源;
兩個(gè)可選擇的蜂鳴器頻率;
可用掉電命令降低功耗;
內(nèi)含時(shí)基發(fā)生器及看門狗定時(shí)器;
時(shí)基或看門狗定時(shí)器溢出輸出;
具有八種時(shí)基/看門狗定時(shí)器時(shí)鐘源;
324 LCD驅(qū)動(dòng)器;
內(nèi)含324位顯示RAM;
帶有四線串行接口;
內(nèi)含LCD驅(qū)動(dòng)信號(hào)源;
具有軟件配置特性;
具有三種數(shù)據(jù)尋址模式;
通過(guò)改變VLCD腳至VDD腳的串接電阻器調(diào)整LCD的工作電壓;
數(shù)據(jù)模式指令及命令模式指令R(Read)/W(Write)地址可以自動(dòng)累加。
2 SD0432的引腳功能
3 結(jié)構(gòu)原理
圖1是SD0432的內(nèi)部結(jié)構(gòu)原理圖,它主要由顯示存儲(chǔ)器RAM、系統(tǒng)振蕩器、時(shí)基及看門狗定時(shí)器(WDT)、音頻發(fā)生器、LCD驅(qū)動(dòng)器及偏壓發(fā)生器、控制和定時(shí)電路等部分組成。
3.1 顯示存儲(chǔ)器RAM
靜態(tài)顯示存儲(chǔ)器(RAM)用以存儲(chǔ)要顯示的數(shù)據(jù),其容量為324位。RAM的內(nèi)容直接反映LCD驅(qū)動(dòng)器的內(nèi)容,RAM中的數(shù)據(jù)由READ、WRITE以及READ-MODIFY-WRITE指令進(jìn)行存取。
3.2 看門狗定時(shí)器(WDT)
圖2是SD0432中系統(tǒng)時(shí)基及看門狗(WDT)的結(jié)構(gòu)圖,時(shí)基發(fā)生器經(jīng)過(guò)256分頻可產(chǎn)生精確時(shí)基??撮T狗定時(shí)器在此基礎(chǔ)上,經(jīng)過(guò)4分頻產(chǎn)生中斷,從未知或不希望的跳轉(zhuǎn)及誤操作中斷主控制器或其他子系統(tǒng),看門狗定時(shí)器結(jié)束將導(dǎo)致內(nèi)部看門狗定時(shí)結(jié)束標(biāo)志位置1。時(shí)基發(fā)生器及WDT定時(shí)結(jié)束標(biāo)志的輸出可通過(guò)命令選擇與IRQ輸出相連接。SD0432共有八個(gè)頻率源適用于時(shí)基發(fā)生器及看門狗定時(shí)器時(shí)鐘,該頻率可由下式計(jì)算:
fout=32kHz/2 n
其中:n=0~7,32kHz為系統(tǒng)頻率,可由32.768kHz晶振,256kHz內(nèi)部振蕩器或256kHz外部頻率產(chǎn)生。
若采用片內(nèi)振蕩器或外部256kHz頻率作為系統(tǒng)頻率源,可通過(guò)一個(gè)三級(jí)預(yù)分頻器將其分頻為32kHz。使用時(shí)基發(fā)生器及WDT相關(guān)命令時(shí)應(yīng)注意其相互的區(qū)別,因?yàn)閮烧吖埠鸵粋€(gè)八級(jí)計(jì)數(shù)器。例如:調(diào)用WDT DIS命令可禁止時(shí)基發(fā)生器,而WDT EN命令不僅使能時(shí)基發(fā)生器而且可輸出WDT定時(shí)結(jié)束標(biāo)志(將WDT定時(shí)結(jié)束標(biāo)志接至IRQ引腳)。在TIMER EN命令發(fā)生后,WDT從IRQ引腳斷開(kāi)而時(shí)基發(fā)生器的輸出端接至該引腳。CLR WDT命令可清零WDT,而時(shí)基發(fā)生器的內(nèi)容則可由CLR WDT或CL TIMER命令清零,應(yīng)在WD EN或TIMER EN命令前執(zhí)行操作。
在IRQ EN命令執(zhí)行前應(yīng)執(zhí)行CLR WDT命令,一旦出現(xiàn)WDT定時(shí)結(jié)束,IRQ引腳將保持低電平狀態(tài)直至發(fā)出CLR WDT或者IRQ DIS命令,當(dāng)IRQ引腳禁止后,其輸出處于漏極開(kāi)路狀態(tài),IRQ輸出可由IRQ EN或IRQ DIS命令來(lái)使能或禁止,IRQ EN命令可以將時(shí)基發(fā)生器或WDT定時(shí)結(jié)束標(biāo)志的輸出送至IRQ引腳,時(shí)基發(fā)生器及WDT配置如圖2所示。若采用片內(nèi)RC振蕩器或晶振,那么,在掉電模式時(shí)會(huì)降低功耗,因?yàn)榭筛鶕?jù)系統(tǒng)命令啟動(dòng)或關(guān)閉振蕩器。但是,在掉電模式下,時(shí)基WDT將失去基所有功能。
圖3
3.3 語(yǔ)音輸出
SD0432中還集成了一個(gè)簡(jiǎn)單的音頻發(fā)生器,此發(fā)聲器可輸出一對(duì)不同的驅(qū)動(dòng)信號(hào)至BZ和BZ以產(chǎn)生單查,執(zhí)行TONE 4k與TONE 2k命令可選擇4khz和2khz這兩個(gè)頻率不同的音頻輸出,通過(guò)TONE ON及TONE OFF命令可打開(kāi)或關(guān)閉語(yǔ)音輸出。語(yǔ)音輸出BZ和BZ是一對(duì)不同的帶驅(qū)動(dòng)蜂鳴器,當(dāng)系統(tǒng)關(guān)閉或語(yǔ)音輸出被禁止時(shí),BZ及BZ處于低電平狀態(tài)。
3.4 LCD驅(qū)動(dòng)器
SD0432是128(324)段LCD驅(qū)動(dòng)器,它可設(shè)置為1/2或1/3偏置,并可通過(guò)S/W配置設(shè)置為2、3或4個(gè)公共端的LCD驅(qū)動(dòng)器,這使得SD0432適合多種LCD應(yīng)用。LCD驅(qū)動(dòng)時(shí)鐘可從系統(tǒng)時(shí)鐘內(nèi)產(chǎn)生,一般為256kHz。
4 SD0432的命令格式及工作時(shí)序
4.1 SD0432的命令格式
SD0432可由S/W設(shè)置來(lái)配置。有兩種命令模式,分別用來(lái)配置SD0432和傳送LCD顯示數(shù)據(jù)。配置SD0432的命令模式(普通模式)識(shí)別碼為100,此命令模式由系統(tǒng)配置命令、LCD和配置命令、音頻選擇命令、定時(shí)器/看門狗定時(shí)器設(shè)置命令及操作命令組成。另一方面,數(shù)據(jù)模式包括READ、WRITE及READ-MODIFY-WITE操作。
模式識(shí)別碼必須在數(shù)據(jù)/命令傳送前發(fā)出。當(dāng)連續(xù)發(fā)出命令時(shí),可省略命令模式識(shí)別碼即100。當(dāng)系統(tǒng)操作處于不連續(xù)命令或不連續(xù)的地址數(shù)據(jù)模式時(shí),CS引腳須置1且以前的操作模式將被復(fù)位。一旦CS清零,系統(tǒng)將首先發(fā)出一個(gè)新的操作模式識(shí)別碼。
4.2 SD0432的工作時(shí)序
圖3是SD0432的WRITE模式、READ模式和READ-MODIFY-WRITE模式的工作時(shí)序。
5 SD0432與8051的接口設(shè)計(jì)
5.1 硬件接口
圖4所示是SD0432與單片機(jī)的硬件接口電路,可以看出,與SD0432接口只需四條線。其中CS線用以初始化串行接口電路且終止主控制器8051與SD0432的通信。若CS=1,主控制器8051及SD0432間發(fā)送的數(shù)據(jù)及命令首先被禁止進(jìn)而進(jìn)行初始化,在模式命令或模式轉(zhuǎn)換命令發(fā)出前,需要一高電平脈沖以初始化SD0432的串行接口;數(shù)據(jù)的讀/寫命令及命令的寫入必須通過(guò)DATA數(shù)據(jù)線。第二條RD為讀輸入,RAM內(nèi)的數(shù)據(jù)在RD信號(hào)的下降沿同步被送至數(shù)據(jù)線上,以便主控制器可以在RD信號(hào)的上升沿及下一個(gè)下降沿到來(lái)期間讀入正確的數(shù)據(jù)。第三條WR為寫輸入,數(shù)據(jù)線上的數(shù)據(jù)、地址及命令可在WR信號(hào)上升沿被寫入SD0432。第四條是可選擇的IRQ線,可用作主控制器件(8051CPU)及SD0432間的接口,IRQ引腳可通過(guò)S/W設(shè)置為定時(shí)器輸出或WDT溢出標(biāo)志輸出。主控制器(8051CPU)可在與IRQ相連時(shí)執(zhí)行時(shí)基或WDT功能。
圖4電路在設(shè)計(jì)時(shí),要注意以下幾點(diǎn):
一是VLCD應(yīng)小于VDD。二是調(diào)節(jié)可變電阻器VR以改變LCD偏置電壓。當(dāng)VDD為5V,VLCD為4V時(shí),R應(yīng)為15kΩ20%。第三是可通過(guò)調(diào)節(jié)R(外接上拉電阻器)來(lái)適應(yīng)用戶的基準(zhǔn)時(shí)鐘。
5.2 軟件接口程序
(1)初始化程序
ORG 0000H
LJMP START
ORG 0100H
START: ;程序初始化
MOV COM_REG,#COM_MODE;啟動(dòng)SD0432
MOV COM_DATA,#01H
LCALL SD0432
MOV COM_REG,#COM_MODE ;LCD ON
MOV COM_DATA,#03H
LCALL SD0432
MOV COM_REG,#COM_MODE ;LCD 1/3偏置方式,4公共端
MOV COM_DATA,#29H
LCALL SD0432
該通信子程序主要用來(lái)實(shí)現(xiàn)MCU與SD0432之間的通信及傳輸指令與數(shù)據(jù),指令模式存放在COM_REG中,指令數(shù)據(jù)存放在COM_DATA中,數(shù)據(jù)地址存放在ADD_REG中,數(shù)據(jù)存放在DATA-REG中。程序中的CLK是時(shí)鐘子程序,其功能是發(fā)送時(shí)鐘信號(hào),以便使數(shù)據(jù)傳送到SD0432中。具體的通訊子程序如下:
SD0432:CLR CS ;啟動(dòng)SD0432
MOV R2,#03H ;發(fā)送顯示模式(3位)
MOV A,COM_REG
SENDMODE:NOP
MOV C,ACC.2
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDMODE
JNB ACC.3,SENDCOM
MOV R2,#06H ;發(fā)送數(shù)據(jù)地址(6位)
MOV A,ADD_REG
SENDADD:NOP
MOV C,ACC.5
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDADD
MOV R2,#04H ;發(fā)送數(shù)據(jù)(4位)
MOV A,DATA_REG
SENDDATA:NOP
MOV C,ACC.0
MOV SDATA,C
LCALL CLK
RRC A
DJNZ R2,SENDDATA
JMP SENDEND
]SENDCOM:MOV R2,#08H
MOV A,COM_DATA
SENDCOM1:NOP
MOV C,ACC.7
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDCOM1
CLR SDATA ;發(fā)送第九位
LCALL CLK
SENDEND:SETB CS ;關(guān)閉SD0432
RET
6 結(jié)束語(yǔ)
SD0432芯片具有接口簡(jiǎn)單、無(wú)需外圍接口芯片、編程靈活等特點(diǎn),同時(shí)內(nèi)部具有其它LCD驅(qū)動(dòng)器所不具有的看門狗(WDT)及語(yǔ)音輸出電路。因而可廣泛應(yīng)用于儀器儀表、工業(yè)控制、條形顯示器以及控制面板等場(chǎng)合。
評(píng)論