康海洋 ,楊 風(fēng)
(中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)
目前科技信息產(chǎn)品都朝著輕、薄、短、小的目標(biāo)發(fā)展,作為人機(jī)交互終端的液晶顯示屏也不例外。液晶顯示屏以其直觀、低功耗、易于控制等優(yōu)點(diǎn)廣泛應(yīng)用在便攜式智能儀器儀表和各種電子設(shè)備的可視化系統(tǒng)中。傳統(tǒng)的液晶顯示屏一般采用單片機(jī)控制,但在系統(tǒng)有大量的高速實(shí)時(shí)數(shù)據(jù)需要顯示時(shí),單片機(jī)受限于處理速度較低,往往不能滿足實(shí)際要求?;诖?,本文以ST7565P為控制芯片的128×64點(diǎn)陣3.3V的SO12864-12C型液晶,介紹了一種基于TMS320F2812 DSP和ST7565P的液晶顯示屏的設(shè)計(jì)。
TMS320F2812數(shù)字信號處理器頻率高達(dá)150MHz,大大提高了控制系統(tǒng)的控制精度和芯片處理能力。TMS320F2812有多達(dá)56個(gè)獨(dú)立的可編程、多用途雙向數(shù)字I/O口,本文將利用這些I/O口,通過軟件編程實(shí)現(xiàn)與液晶通信。
SO12864液晶模塊內(nèi)部集成了ST7565P控制器。SO12864液晶顯示模塊是128×64點(diǎn)陣的漢字圖形型液晶顯示模塊,可以顯示漢字和圖形。
由于SO12864支持串/并行接口方式,并行接口方式即采用DSP的數(shù)據(jù)總線直接與液晶顯示模塊的數(shù)據(jù)口相連;串行接口方式則是通過DSP的I/O接口與液晶顯示模塊的數(shù)據(jù)口相連,由程序控制接口產(chǎn)生相應(yīng)的控制時(shí)序,實(shí)現(xiàn)對液晶顯示模塊的控制。為了簡化電路結(jié)構(gòu),設(shè)計(jì)中的液晶顯示模塊接口控制時(shí)序采用了串行接口時(shí)序方式,SO12864與DSP的接口電路如圖1所示。
圖1 SO12864與DSP的接口電路
為了使液晶屏正常工作,必須編寫液晶模塊的驅(qū)動程序,其關(guān)鍵是DSP對LCD模塊的初始化以及DSP與液晶模塊接口時(shí)序的匹配。
系統(tǒng)的初始化包括禁止看門狗、設(shè)置系統(tǒng)時(shí)鐘和外設(shè)時(shí)鐘、關(guān)閉中斷,使能PIE向量表。
SO12864的初始化首先是要設(shè)置液晶對應(yīng)端口輸出,然后是復(fù)位清屏,如果液晶屏工作正常,就可以根據(jù)實(shí)際需要寫命令到LCD,以完成液晶模塊參數(shù)及顯示方式的初始化。系統(tǒng)進(jìn)行正確的初始化設(shè)置后,可以通過DSP將ROM中的數(shù)據(jù)送至ST7565P控制器的緩沖器中,控制器就可以控制液晶屏顯示用戶所需的信息。
DSP2812為快速設(shè)備,而液晶為慢速設(shè)備,要實(shí)現(xiàn)他們的 連接,必須實(shí)現(xiàn)DSP與液晶模塊的時(shí)序匹配。本文采取在往ST7565P控制器寫指令或數(shù)據(jù)時(shí)加入延時(shí)程序的方法來實(shí)現(xiàn)時(shí)序匹配的問題,而且每次對ST7565P控制器的控制端口進(jìn)行寫操作時(shí)必須調(diào)用延時(shí)子程序,這樣在實(shí)際編程過程中就可以不用檢查BUSY位。
SO12864液晶顯示模塊自身不具備字符庫,要根據(jù)顯示屏的內(nèi)容,確定字符庫和漢字庫中要存放的字符和漢字,本系統(tǒng)采用了字模提取軟件V2.1。由于本液晶模塊是按列寫數(shù)據(jù)的,因此需選擇縱向取模。
在軟件設(shè)計(jì)過程中,只有產(chǎn)生正確的ST7565P控制器串行接口時(shí)序才能對液晶屏正確操作,否則液晶屏不會顯示任何數(shù)據(jù)。SO12864的串行接口時(shí)序圖如圖2所示,接口時(shí)序特性表如表1 所示。
表1 接口時(shí)序特性表
在給液晶模塊上電時(shí),一般要先經(jīng)過初始化才能正常使用,其初始化的子程序流程圖如圖3所示。液晶模塊初始化子程序既具有對液晶模塊初始化的功能,同時(shí)也具有對整個(gè)液晶模塊寫操作和清屏的功能,因此在用到該模塊時(shí)只需調(diào)用子程序即可。在程序編寫過程中結(jié)合圖2所示的時(shí)序圖和表1所示的時(shí)序表,加入延時(shí)子程序,避免檢查BUSY位狀態(tài)。
圖2 SO12864的串行接口時(shí)序圖
圖3 液晶模塊初始化子程序流程圖
本文以顯示漢字為例來說明液晶顯示模塊的具體操作:首先通過字模提取軟件提取所要顯示漢字的點(diǎn)陣數(shù)據(jù),然后通過液晶初始化時(shí)寫入的命令確定要顯示漢字的狀態(tài);最后將漢字點(diǎn)陣數(shù)據(jù)通過寫操作寫入ST7565P控制器的顯示存儲器RAM中,這樣液晶屏上將會在相應(yīng)位置顯示所要顯示的漢字,具體顯示漢字子程序如下。
由于在液晶顯示屏上每個(gè)漢字占16行16列,即2頁16列,因此程序中定義了2頁16列,按列將指令寫入液晶模塊。經(jīng)過試驗(yàn)證明,此程序可行。漢字顯示結(jié)果如4所示。
圖4 漢字顯示效果
本文采用TMS320F2812通過I/O串行接口與液晶顯示模塊SO12864連接的控制方式,該方案硬件電路簡單,可通過軟件編程的方式模擬時(shí)序關(guān)系,解決了DSP和液晶模塊接口之間的時(shí)序差異,通過在液晶屏上顯示漢字,實(shí)現(xiàn)了對液晶模塊的串行傳輸通訊。
[1]DONG Y S,YIXM.Wavelet denosing based on four [1]美國德州儀器公司.TMS320C28X系列DSP的CPU與外設(shè)(上)[M].張衛(wèi)寧譯.北京:清華大學(xué)出版社,2004:53-67.
[2]蘇奎峰,呂強(qiáng)等.TMS320F2812原理與開發(fā)[M].北京:電子工業(yè)出版社, 2005:8-21,130-150.
[3]廖麗瑩,李嘯驄.基于TMS320F2812的液晶顯示的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(7-2):196-198.
[4]劉瑋,賈慶軒.LCM151液晶模塊在DSP中的應(yīng)用[J].新特器件應(yīng)用,2008,10(3):34-35.
[5]胡漢梅,陳妮.基于DSP圖形液晶顯示器接口及程序設(shè)計(jì)[J].液晶與顯示,2007,22(5):623-628.
[6]黃根春,陳小橋等.電子設(shè)計(jì)教程[M].北京:電子工業(yè)出版社, 2007:74-86.
[7]劉勇,蔡延財(cái).基于TMS320F2812&CPLD的液晶顯示驅(qū)動設(shè)計(jì)[J].終端與顯示技術(shù),2006,29(3):142-143.
[8]北京集粹電子設(shè)備制造有限公司.SO12864液晶顯示模塊使用手冊, 2007:1-35.