SED1335與51單片機(jī)的接口程序設(shè)計(jì)
在以單片機(jī)為核心的嵌入式應(yīng)用中,友好的人機(jī)交互界面起著十分重要的作用。典型的顯示器件是LED數(shù)碼管,其亮度高,適應(yīng)于大多數(shù)應(yīng)用場(chǎng)合。缺點(diǎn)是接口電路復(fù)雜,功耗高。液晶顯示器件是利用液晶的電光效應(yīng)制作的,具有功耗低、接口控制方便等優(yōu)點(diǎn),而且模塊的接口信號(hào)和操作指令具有廣泛的兼容性,并能直接與單片機(jī)接口,它還具有專用指令,可方便地實(shí)現(xiàn)各種不同的操作,同樣的顯示面積LCD其功耗為L(zhǎng)ED顯示器的幾百之一,所以它特別適宜與COMS電路直接相配。隨著液晶顯示技術(shù)的進(jìn)步,高質(zhì)量的液晶顯示模塊被日趨廣泛地應(yīng)用于各種嵌入式系統(tǒng)中。
現(xiàn)以筆者在某儀器設(shè)計(jì)中用到的圖形點(diǎn)陣液晶模塊TM320240E為例,介紹一種320×240圖形點(diǎn)陣液晶與51單片機(jī)的接口設(shè)計(jì)方案。
一.TM320240E及其驅(qū)動(dòng)芯片簡(jiǎn)介
TM320240E是天馬公司推出的一款單色圖形點(diǎn)陣液晶顯示模塊,可以顯示320×240點(diǎn)陣的圖形,也可以顯示20×15個(gè)漢字(16×16點(diǎn)陣)。
TM320240E的驅(qū)動(dòng)芯片為SED1335。SED1335是日本EPSON公司出品的液晶顯示控制器,在同類產(chǎn)品中功能較強(qiáng):有較強(qiáng)功能的I/O緩沖器;指令功能豐富;四位數(shù)據(jù)并行發(fā)送;圖形和文本方式混合顯示。SED1335的應(yīng)用非常廣泛,目前市場(chǎng)上的320×240圖形點(diǎn)陣液晶模塊多數(shù)都是采用這一款驅(qū)動(dòng)芯片。
二.SED1335指令集
SED1335有13條指令,多數(shù)指令帶有參數(shù),如表1所示。
參數(shù)值由用戶根據(jù)所控制的液晶顯示模塊的特征和顯示的需要來(lái)設(shè)置。
SED1335接收到來(lái)自MPU系統(tǒng)的指令與數(shù)據(jù)后,產(chǎn)生相應(yīng)的時(shí)序和數(shù)據(jù)來(lái)控制液晶模塊的顯示。除SLEEP IN、CSRDIR、CSRR和MREAD外,任何一條指令的執(zhí)行都發(fā)生在附屬參數(shù)輸入完成之后。MPU可用寫入新的指令代碼來(lái)結(jié)束上一條指令參數(shù)的寫入。MPU可用寫入新參數(shù)與余下的舊參數(shù)有效地組合成新的參數(shù),但是所寫參數(shù)的順序不能改變,也不能省略。
三.硬件接口電路
TM320240E與51單片機(jī)的硬件接口電路如圖1所示。
圖1 TM320240E與51單片機(jī)的硬件接口電路圖[!--empirenews.page--]
TM320240E的SEL1(18腳)為微處理器接口選擇端,接高電平時(shí)為MC68000單片機(jī)接口時(shí)序,接低電平為51系列單片機(jī)接口時(shí)序;A0(4腳)為命令/數(shù)據(jù)選擇端,1為命令,0為數(shù)據(jù);V0(3腳)為對(duì)比度電壓輸入端。本系統(tǒng)中,為了防止系統(tǒng)內(nèi)其他部件引起總線上有大電壓脈沖對(duì)LCD造成損害,采用了一片8位雙向總線驅(qū)動(dòng)芯片74ALS245將LCD的數(shù)據(jù)總線與系統(tǒng)總線進(jìn)行了隔離驅(qū)動(dòng),可以在一定程度上對(duì)液晶模塊進(jìn)行保護(hù)。
此外,關(guān)于液晶對(duì)比度調(diào)節(jié)電壓的產(chǎn)生,TM320240E模塊自帶了負(fù)壓輸出(VEE,17腳),但是也有一些320240模塊沒(méi)有此電壓,這時(shí)可以采用圖2所示電路,利用一片MAX749來(lái)產(chǎn)生負(fù)壓,此電路在筆者以前的設(shè)計(jì)中應(yīng)用過(guò),且效果較好。
2 MAX749負(fù)壓產(chǎn)生電路
圖
四.接口程序設(shè)計(jì)
SED1335與51單片機(jī)的接口程序設(shè)計(jì)非常簡(jiǎn)潔方便。在硬件系統(tǒng)上電復(fù)位后,單片機(jī)根據(jù)液晶模塊的參數(shù)(如液晶的行數(shù)、列數(shù)、掃描頻率等)和需要的顯示方式等,設(shè)置各個(gè)指令的參數(shù)來(lái)初始化系統(tǒng),之后就可以由單片機(jī)把數(shù)據(jù)直接送給SED1335的顯示緩存,SED1335就可以控制液晶顯示。如果在后面需要改變顯示的圖形或文字,只要對(duì)應(yīng)表1 中的指令改變相應(yīng)指令的參數(shù),然后重新輸入數(shù)據(jù)即可實(shí)現(xiàn)。
設(shè)置系統(tǒng)命令參數(shù)或送數(shù)據(jù)給顯示緩沖區(qū)的方法是:先將指令代碼送到SED1335的命令口地址,然后把該指令的參數(shù)送到數(shù)據(jù)口地址后即可把數(shù)據(jù)送到數(shù)據(jù)口地址。