SED1335與51單片機的接口程序設計

在以單片機為核心的嵌入式應用中 , 友好的人機交互界面起著十分重要的作用 。 典型的顯示器件是LED數碼管 , 其亮度高 , 適應于大多數應用場合 。 缺點是接口電路復雜 , 功耗高 。 液晶顯示器件是利用液晶的電光效應制作的 , 具有功耗低、接口控制方便等優點 , 而且模塊的接口信號和操作指令具有廣泛的兼容性 , 并能直接與單片機接口 , 它還具有專用指令 , 可方便地實現各種不同的操作 , 同樣的顯示面積LCD其功耗為LED顯示器的幾百之一 , 所以它特別適宜與COMS電路直接相配 。 隨著液晶顯示技術的進步 , 高質量的液晶顯示模塊被日趨廣泛地應用于各種嵌入式系統中 。  
  現以筆者在某儀器設計中用到的圖形點陣液晶模塊TM320240E為例 , 介紹一種320×240圖形點陣液晶與51單片機的接口設計方案 。
  一.TM320240E及其驅動芯片簡介
  是天馬公司推出的一款單色圖形點陣液晶顯示模塊 , 可以顯示320×240點陣的圖形 , 也可以顯示20×15個漢字(16×16點陣) 。
  的驅動芯片為SED1335 。 SED1335是日本EPSON公司出品的液晶顯示控制器 , 在同類產品中功能較強:有較強功能的I/O緩沖器;指令功能豐富;四位數據并行發送;圖形和文本方式混合顯示 。 SED1335的應用非常廣泛 , 目前市場上的320×240圖形點陣液晶模塊多數都是采用這一款驅動芯片 。
  二.SED1335指令集
  有13條指令 , 多數指令帶有參數 , 如表1所示 。
 

SED1335與51單片機的接口程序設計

文章插圖

參數值由用戶根據所控制的液晶顯示模塊的特征和顯示的需要來設置 。
接收到來自MPU系統的指令與數據后 , 產生相應的時序和數據來控制液晶模塊的顯示 。 除SLEEP IN、CSRDIR、CSRR和MREAD外 , 任何一條指令的執行都發生在附屬參數輸入完成之后 。 MPU可用寫入新的指令代碼來結束上一條指令參數的寫入 。 MPU可用寫入新參數與余下的舊參數有效地組合成新的參數 , 但是所寫參數的順序不能改變 , 也不能省略 。
三.硬件接口電路
與51單片機的硬件接口電路如圖1所示 。
SED1335與51單片機的接口程序設計

文章插圖

圖1 TM320240E與51單片機的硬件接口電路圖
SEL1(18腳)為微處理器接口選擇端 , 接高電平時為MC68000單片機接口時序 , 接低電平為51系列單片機接口時序;A0(4腳)為命令/數據選擇端 , 1為命令 , 0為數據;V0(3腳)為對比度電壓輸入端 。 本系統中 , 為了防止系統內其他部件引起總線上有大電壓脈沖對LCD造成損害 , 采用了一片8位雙向總線驅動芯片74ALS245將LCD的數據總線與系統總線進行了隔離驅動 , 可以在一定程度上對液晶模塊進行保護 。
 
此外 , 關于液晶對比度調節電壓的產生 , TM320240E模塊自帶了負壓輸出(VEE , 17腳) , 但是也有一些320240模塊沒有此電壓 , 這時可以采用圖2所示電路 , 利用一片MAX749來產生負壓 , 此電路在筆者以前的設計中應用過 , 且效果較好 。
負壓產生電路
SED1335與51單片機的接口程序設計

文章插圖

 
四.接口程序設計
 
與51單片機的接口程序設計非常簡潔方便 。 在硬件系統上電復位后 , 單片機根據液晶模塊的參數(如液晶的行數、列數、掃描頻率等)和需要的顯示方式等 , 設置各個指令的參數來初始化系統 , 之后就可以由單片機把數據直接送給SED1335的顯示緩存 , SED1335就可以控制液晶顯示 。 如果在后面需要改變顯示的圖形或文字 , 只要對應表1 中的指令改變相應指令的參數 , 然后重新輸入數據即可實現 。
 
【SED1335與51單片機的接口程序設計】 設置系統命令參數或送數據給顯示緩沖區的方法是:先將指令代碼送到SED1335的命令口地址 , 然后把該指令的參數送到數據口地址后即可把數據送到數據口地址 。