新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP和ST7920的液晶顯示模塊的實(shí)現(xiàn)

基于DSP和ST7920的液晶顯示模塊的實(shí)現(xiàn)

作者: 時(shí)間:2010-02-03 來源:網(wǎng)絡(luò) 收藏

 是一種適合于數(shù)字信號(hào)處理的實(shí)時(shí)高速的高性能微處理器,已廣泛應(yīng)用于自動(dòng)控制、圖像處理、通信技術(shù)、網(wǎng)絡(luò)設(shè)備、儀器、儀表和家電領(lǐng)域。屏以其顯示直觀、便于操作的特點(diǎn)被用作各種便攜式系統(tǒng)的顯示終端。傳統(tǒng)液晶大多用單片機(jī)控制,而單片機(jī)的數(shù)字信號(hào)處理能力遠(yuǎn)低于芯片,使得其應(yīng)用范圍受到限制。此,本文選用TOPWAY公司生產(chǎn)的、以為控制芯片的128×64點(diǎn)陣3.3V簡(jiǎn)體中文字庫(kù)的LM3303A-B型圖形液晶,介紹了一種屏的設(shè)計(jì)。

本文引用地址:http://www.2s4d.com/article/152105.htm

  1 控制器介紹

  LM3303A-B型屏是香港TOPWAY公司采用臺(tái)灣銘創(chuàng)電子公司生產(chǎn)的ST7920控制器的液晶顯示屏。它由128×64點(diǎn)陣構(gòu)成、接口方便(3.3V)、設(shè)計(jì)簡(jiǎn)單、功耗低、價(jià)格便宜,可用于各種設(shè)備的顯示終端[1]。

  ST7920支持8位、4位并行或2線、3線串行兩種接口方式,帶有ZMB的中文字型CGROM,該字庫(kù)ROM中含有8192個(gè)16×16點(diǎn)陣的中文字型,可利用代碼簡(jiǎn)單方便地顯示漢字。16KB的半寬字型HCGROM,提供了126個(gè)168點(diǎn)陣的ASCII字符庫(kù),便于英文和其他常用字符顯示。64×16位元的字型產(chǎn)生CGRAM,用戶可以根據(jù)需要構(gòu)造生僻字。64×26位元的繪圖GDRAM,方便構(gòu)造圖形??刂破骶哂欣L圖及文字畫面混合顯示功能。另外,控制器提供基本指令與擴(kuò)充指令命令,功能強(qiáng)大。

  2 DSP與液晶顯示屏硬件接口設(shè)計(jì)

  由于LM3303A-B具有串/并行多種接口方式,針對(duì)DSP外圍I/O豐富且處理速度快的特點(diǎn)選用8位并行的接口方式,這種方式下雖然接線多,但是速度比串行要快得多,所以將PSB引腳接高電平。

  DSP 與LM3303A-B之間的接口電路如圖1所示。由于LM3033A-B是3.3V簡(jiǎn)體中文圖形液晶,所以DSP與液晶之間不用電平轉(zhuǎn)換。其中DSP 的IOPE0~I(xiàn)OPE7用作數(shù)據(jù)接口,與LCD的數(shù)據(jù)線DB0~DB7相連,完成與LM3303A-B 間的數(shù)據(jù)傳送;IOPF0與RS相連,決定是數(shù)據(jù)(RS=0)還是命令(RS=1);IOPF1與R/W相連,決定是寫入(RW=0)還是讀出(RW=1); IOPF2與E相連,工作狀態(tài)使能。IOPD0與/RST相連用于復(fù)位。VDD接+3.3V輸入電源。A與K引腳間的電壓為顯示屏內(nèi)部發(fā)光二極管提供電壓,使其產(chǎn)生背光;參考文獻(xiàn)[1]中要求調(diào)節(jié)顯示屏的對(duì)比度是在V0與VOUT之間串接一個(gè)電位器,但在實(shí)際應(yīng)用中無法,而是采用V0直接接+5V的上拉電阻且空出VOUT,可以有效地調(diào)節(jié)顯示對(duì)比度。

DSP 與LM3303A-B之間的接口電路

  3 DSP控制液晶顯示屏的軟件設(shè)計(jì)

  從程序的可移植性和通用性方面考慮,選擇C語(yǔ)言進(jìn)行軟件的設(shè)計(jì)。這里通過液晶顯示屏的初始化過程以及如何顯示文本和一幅圖畫來具體說明DSP控制液晶顯示屏的軟件設(shè)計(jì)。

  3.1 軟件設(shè)計(jì)程序流程

  DSP要控制液晶顯示屏系統(tǒng)運(yùn)行,首先應(yīng)將系統(tǒng)接通電源,系統(tǒng)自動(dòng)復(fù)位。復(fù)位后進(jìn)行系統(tǒng)初始化、液晶初始化。在初始化完畢后,系統(tǒng)可以通過控制器發(fā)出的指令調(diào)用相關(guān)函數(shù),完成相應(yīng)的顯示功能。其主程序流程圖如圖2所示。

主程序流程圖

  3.2 系統(tǒng)及液晶初始化

  系統(tǒng)初始化禁止所有可屏蔽中斷,并關(guān)總中斷,在進(jìn)行關(guān)鍵設(shè)置時(shí)不允許發(fā)生中斷,以免產(chǎn)生干擾。允許符號(hào)位擴(kuò)展,將B0配置為數(shù)據(jù)存儲(chǔ)空間。設(shè)置IOPE0~IOPE7為L(zhǎng)CD數(shù)據(jù)接口。

  液晶初始化需首先進(jìn)行復(fù)位清屏,如果液晶顯示屏正常工作,便可寫命令到LCD。其中用到用戶定義的函數(shù)LCD_WriteCommand(uchar cmdcode)和函數(shù)LCD_Busy(),其作用分別為寫命令到LCD和判斷ST7920內(nèi)部是否處于忙碌狀態(tài)。這里值得注意的是,當(dāng)ST7920在接受指令前,DSP必須先確認(rèn)ST7920內(nèi)部處于非忙碌狀態(tài),即讀取BF標(biāo)志位時(shí)BF需為0,方可接受新的指令。

  3.3 ST7920的讀寫時(shí)序

  在軟件設(shè)計(jì)過程中,只有產(chǎn)生符合ST7920的讀寫時(shí)序后才能對(duì)液晶正確操作,否則液晶顯示屏不會(huì)有任何輸出。

  本系統(tǒng)中的DSP主頻為30MHz,相對(duì)而言,液晶屬于慢速的外設(shè),所以在讀寫子程序中應(yīng)該插入一些延時(shí)等待。根據(jù)圖3和圖4中的時(shí)序圖可以編寫以下讀寫子程序(其中為了提高程序的可移植性與可讀性,在程序開頭都用了宏定義,限于篇幅在此不再給出):

時(shí)序圖


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉