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