段新燕
(長沙職業(yè)技術學院工程系,湖南長沙 410000)
單片機液晶顯示系統(tǒng)的設計
段新燕
(長沙職業(yè)技術學院工程系,湖南長沙 410000)
以C8051F單片機和液晶顯示控制器KS0108為核心,設計了單片機控制的液晶顯示系統(tǒng)。重點研究了圖形的動態(tài)顯示技術,介紹了液晶顯示模塊的硬件、軟件特性。文中設計的電路在C8051F020單片機仿真實驗系統(tǒng)上進行了仿真,實驗結果表明,設計達到了預期目標。
單片機;液晶顯示器;圖形動態(tài)顯示;KS0108;C8051F020
單片機液晶顯示系統(tǒng)主要是指單片機控制的點陣型液晶顯示器(LCD)所組成的顯示系統(tǒng)。點陣型LCD不僅可顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,且可以實現(xiàn)屏幕畫面滾動、分區(qū)開窗口、反轉(zhuǎn)、閃爍、位操作等功能,可以顯示用戶自定義的任意符號及曲線、圖形等,是信息處理、信息輸出的重要手段,具有廣泛的應用前景。文中所闡述的單片機液晶顯示系統(tǒng),是在C8051F系列單片機仿真實驗系統(tǒng)上實現(xiàn)的。該仿真實驗系統(tǒng)所使用的液晶顯示控制器為KS0108。
KS0108是帶顯示存儲器的液晶顯示列驅(qū)動控制器。其特點是內(nèi)置64×64位的顯示存儲器,顯示屏上各像素點的顯示狀態(tài)與顯示存儲器的各位數(shù)據(jù)一一對應,顯示存儲器的數(shù)據(jù)直接作為圖形顯示在驅(qū)動信號上。顯示數(shù)據(jù)為1,相應的像素點就作顯示;顯示數(shù)據(jù)為0,相應的像素點就不作顯示。同時KS0108配備了一套顯示存儲器的管理電路與計算機接口電路,允許計算機直接訪問顯示存儲器,即KS0108可以直接與計算機的總線連接。但KS0108不能獨立工作,因為其本身不能生成顯示時序,所以KS0108需要與相應的帶振蕩器和顯示時序發(fā)動器的行驅(qū)動器KS0107配套才能形成一個完整的液晶驅(qū)動和控制系統(tǒng)。
在小規(guī)模點陣液晶顯示模塊上使用液晶顯示驅(qū)動控制器組成液晶顯示驅(qū)動控制系統(tǒng)是非常有益的。這使得液晶顯示模塊的硬件電路簡單化,從而降低模塊成本。但同時也提高了對軟件功能的要求,許多顯示功能都需要由軟件編制而成。KS01087就是這類液晶顯示驅(qū)動控制器的套件。
液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電顯示為黑色,這樣即可顯示出圖形。液晶顯示器具有厚度薄、適于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示等特點,目前已廣泛用于便攜式電腦、數(shù)字攝像機、PDA移動通信工具等領域。
(1)KS0108的主要特性如下。內(nèi)藏64×64=4 096位顯示RAM,RAM中每位數(shù)據(jù)對應LCD屏上一個點的亮、暗狀態(tài)。KS0108是列驅(qū)動器,具有64路列驅(qū)動輸出。KS0108讀、寫操作時序與68系列微處理器相符,可直接與68系列微處理器接口相連。KS0108的占空比為1/48~1/64。KS0108可管理64 kB顯示RAM。其中,圖形方式為64 kB。字符方式為4 kB;工作溫度:-20~+60℃,存儲溫度:-30~+70℃。
(2)KS0108的操作時序圖,如圖1所示。
圖1 KS0108的操作時序
了解KS0108圖形液晶顯示模塊的電路特性后,要使用內(nèi)置KS0108圖形液晶顯示模塊還需要了解其軟件特性,即KS0108的指令功能,才能較好地應用內(nèi)置KS0108圖形液晶顯示模塊。KS0108共有7條指令。KS0108的指令系統(tǒng)相對較為簡單,以表1所示讀狀態(tài)指令的詳細解釋其功能如下。
該指令用來查詢KS0108的狀態(tài),各參量含義如下。
BUSY:1-內(nèi)部在工作;0-正常狀態(tài)。
ON/OFF:1-顯示關閉;0-顯示打開。
REST:1-復位狀態(tài);0-正常狀態(tài)。
在BUSY和REST狀態(tài)時,除讀狀態(tài)指令外,其余指令均未對KS0108產(chǎn)生作用。在對KS0108操作之前要查詢BUSY狀態(tài),以確定是否可對KS0108進行操作。
內(nèi)置KS0108點陣型液晶顯示模塊與單片機的連接方式有兩種,一種為直接訪問方式,另一種為間接控制方式。下面以間接控制為例,描述其硬件電路和驅(qū)動程序。
間接控制方式是單片機通過自身的并行接口與液晶顯示模塊連接。通過對接口的操作,以達到對液晶顯示模塊的控制。實現(xiàn) KS0108液晶顯示模塊與C8051F020的接口電路圖,如圖2所示。
圖2 液晶顯示模塊接口電路圖
(1)圖形編碼。一般常用點陣液晶顯示模塊的字模是直接從系統(tǒng)字庫中提取的,然后經(jīng)過格式上的調(diào)整和轉(zhuǎn)換,可得到欲顯示的字模。在設計中,所用的顯示部分不是從字庫中提取字模,而是采用一個字模軟件來取模,將圖形點陣轉(zhuǎn)換為計算機內(nèi)部顯示緩沖單元的數(shù)據(jù)。在使用KS0108圖形方式時,顯示緩沖區(qū)單元與顯示屏的對應關系如圖3所示。
圖4所示的顯示格式與本身的習慣正好相反,如想在顯示屏上顯示10010110,則須向RAM中寫入01101001。這適應人的習慣,在字模軟件取模時設置字節(jié)倒序。在取模時,須設置取模參數(shù),縱向取模、字節(jié)倒序。例如圖4是128×64個像素的圖形。
圖3 顯示緩沖區(qū)單元與顯示屏的關系
圖4 圖形128×64個像素
(2)圖形動態(tài)顯示。
在圖形動態(tài)顯示程序設計中,以圖形從左向右移動為例。圖形從左向右移動實現(xiàn),圖形從左向右移出的思想是左右兩片KS0108分開驅(qū)動,根據(jù)左邊的起始列地址,推算出右邊的第一列對應圖形字模中數(shù)據(jù)地址。先驅(qū)動左邊的KS0108列起始地址0xB8+i(0≤i<64),再驅(qū)動右邊的 KS0108。當 i≥64時,不需要驅(qū)動左邊KS0108,只需驅(qū)動右邊的KS0108,右邊的KS0108列起始地址為0xB8+i-64。
(3)程序流程。主程序和圖形顯示測試程序流程圖分別如圖5和圖6所示。
圖5 主程序流程圖
系統(tǒng)實驗是在C8051F020單片機仿真實驗系統(tǒng)上進行的仿真。在確認連線已連接時,接通仿真實驗系統(tǒng)電源,將撥碼開關S1和S2置于ON位置。在IDE(Integrated Development Environment)中建立一個新的項目文件,將程序加到這個項目文件中,編譯連接后,將程序下載到C8051F020中。打開RAM觀察窗口,運行程序。程序運行時,可單步執(zhí)行或在送數(shù)指令后加斷點觀察RAM存儲單元的變化,觀察結果是否正確。
圖6 LCD測試流程圖
C8051F020單片機仿真實驗系統(tǒng)上的液晶顯示屏的點陣是128×64點。在C8051F020系統(tǒng)實驗箱上的液晶顯示屏上,其實現(xiàn)了這些圖形動態(tài)顯示,特設計了幾個顯示場景,這里以從左向右移動為例;圖7是用數(shù)碼相機抓拍的圖形動態(tài)顯示效果畫面。在這個場景中,圖形是從左向右推出的,一直移動到顯示屏最右端。仿真實驗的結果完全達到了預期的設計。
圖7 圖形動態(tài)顯示效果
就C8051F單片機和液晶顯示控制器KS0108為核心,設計了單片機控制的液晶顯示系統(tǒng)。重點研究了圖形的動態(tài)顯示技術,介紹了液晶顯示模塊的硬件和軟件特性。所設計的電路在C8051F020單片機仿真實驗系統(tǒng)上進行了仿真,實驗結果達到了預期目標。
[1]李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,1999.
[2]吳金戌.8051單片機實踐與應用[M].北京:清華大學出版社,2001.
[3]徐飛.單片機接口技術及其在工業(yè)控制中的應用[M].西安:陜西電子編輯部,1991.
[4]薛棟梁.MCS-51/151/251單片機原理與應用[M].北京:中國水利水電出版社,2001.
[5]劉樂善.微型計算機接口技術及應用[M].武漢:華中科技大學出版社,2000.
[6]冀誠電子有限公司.KS0108使用手冊[EB/OL].(2005-01-18)[2012-04-10]http://www.gemtech-h(huán)b.com.
Design of a Liquid Crystal Display System for the Single Chip Microcomputer
DUAN Xinyan
(Department of Engineering,Changsha Vocational and Technical Collage,Changsha 410000,China)
This article introduces the C8051F single-chip micro-computer and the LCD controller KS0108.U-sing them as the core,we have designed the single-chip micro-computer LCD system.In the thesis,we put emphasis on the technology of graphic dynamic display,and describe the LCM's hardware and software features.The circuit that we have designed is emulated in the C8051F020 single-chip micro-computer emulation experiment system.That experimental result shows that we have achieved the expected goal in the design.
single-chip micro-computer(SCM);LCD;graphic dynamic display;KS0108;C8051F020
TN873+.93
A
1007-7820(2012)08-013-04
2012-05-04
段新燕(1974—),女,講師。研究方向:機電一體化。