1 引言
ST7920是臺灣矽創(chuàng)電子公司生產(chǎn)的中文圖形液晶控制器,,可作為控制器和驅(qū)動器捉供32路com 輸出和64路seg輸出,。與驅(qū)動器ST7921組成的模塊最多可驅(qū)動256×32點陣液晶,主要用于顯示漢字及圖形,,其內(nèi)置了2 MB中文字型ROM(CGROM),,共提供8192個中文字型(16×16點陣);16KB半寬字型ROM(HCGROM),,共提供126個西文字型(16×8點陣),;64×16位字符顯示RAM(DDRAM最多16字符×4行,LCD顯示范圍16×2行),;64×16位字符產(chǎn)生RAM(CGRAM);15×16位共240點的ICON RAM(ICONRAM),。此外,,為了適應(yīng)多種微處理器與單片機接口需求,,該模塊還可提供4位并行、8位并行,、2線串行以及3線串行等多種接口,。利用上述特性方便實現(xiàn)文字與圖形混合顯示、畫面清除,、光標(biāo)歸位,、顯示開/關(guān)、光標(biāo)顯示/隱藏,、顯示字體閃爍,、光標(biāo)移位、顯示移位,、垂直畫面旋轉(zhuǎn),、反白顯示、休眠模式等功能,。
2 ST7920與MCU的接口
ST7920與MCU的接口引腳如表1所示,。
ST7920與MCU連接的方式非常靈活,分為并行和串行兩種方法,。并行接口復(fù)雜,,但編程簡單,訪問速度快,;串行接口簡單,,但編程復(fù)雜。并行連接方法又分為并口直接訪問,、并口間接訪問和4位并口訪問,。以Atmel公司8位單片機AT89C52為例逐一介紹各自的接口連接實例。
2.1并口直接訪問
MCU以AT89C52為例,,P0端口接ST7920的數(shù)據(jù)引腳DB0~DB7,,P2.1端口接ST7920的RS,P2.2接ST7920的R/W,,讀寫引腳(P3.6和P3.7)通過與非門接至E端,,如圖1所示。將ST7920視為MCU的外部數(shù)據(jù)存儲器進行傳輸數(shù)據(jù),。
2.2并口間接訪問
利用AT89C52的P3.0,、P3.1、P3.2C及P0端口分別接至ST7920的RS,、R/W,、E引腳以及數(shù)據(jù)引腳DB0~DB7,如圖2所示,以P3.0,、P3.1,、P3.2作為模擬聯(lián)絡(luò)信號完成數(shù)據(jù)傳輸。
2.3位并口訪問
4位并口訪問接口連接圖與并口間接訪問一致,,區(qū)別只是將每個字節(jié)分兩次送入,,第一次送入高4位,第二次送入低4位,。
2.4串口訪問
CS接低電平時,,選擇串口模式。在該模式下,,只用兩根線(SID與SCLK)完成數(shù)據(jù)傳輸,。編寫代碼前,須制定通訊雙方的通訊協(xié)議,。其串口訪問接線圖如圖3所示,。
3 ST7920指令
ST7920的指令集包括基本指令和擴充指令,其中基本指令有11條(見表2),,擴充指令有7條(見表3),。每一個指令的長度都為8位。16×8點陣的ASCII字符代碼也是8位,。但是16×16點陣中文字符的代碼為16位,,必須分為兩次傳送,先傳送高8位,,再傳送低8位,。
當(dāng)ST7920在接收指令前,MCU必須先確認(rèn)ST7920處于空閑狀態(tài),。即讀取BF=0,,才能接收新的指令;如果在送出一條指令前不檢查BF狀態(tài),,則需要延時一段時間,,確保上一條指令執(zhí)行完畢,具體指令執(zhí)行時間參照指令表,。
"RE"是基本指令集與擴充指令集的選擇控制位,,當(dāng)更改"RE"的狀態(tài)更改后,后續(xù)指令維持在最后狀態(tài),。除非再次更改"RE"狀態(tài),,否則使用相同指令集時,無需要重新設(shè)置"RE",。
無論采用何種連接,,根據(jù)ST7920的指令表,,在確定顯示功能后,ST7920初始化編程基本一致,,圖4為ST7920初始化編程的一個簡單流程表,。
4 ST7920應(yīng)用編程
ST7920控制器廣泛應(yīng)用中小型儀器或控制電路,,由于支持接口形式多,,編寫程序非常靈活,下面以顯示4行32漢字(或64個ASCII字符)為例,,簡要介紹ST7920編程步驟與基本方法,,電路接口采用并口直接訪問,其程序代碼如下:
5 結(jié)語
與同類型點陣的LCM相比,,ST71920控制的LCM硬件和軟件設(shè)計靈活,,而且內(nèi)置多種漢字字庫。相對于無字庫的液晶控制器而言,,大大降低了成本,,簡化了系統(tǒng)設(shè)計,因此,,在當(dāng)今LCM市場上,,ST71920應(yīng)用廣泛。