新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在單片機(jī)平臺上建立規(guī)范化的液晶顯示接口

在單片機(jī)平臺上建立規(guī)范化的液晶顯示接口

作者: 時(shí)間:2012-01-30 來源:網(wǎng)絡(luò) 收藏

  在現(xiàn)代產(chǎn)品設(shè)計(jì)的理念上,首先使用某一種單片機(jī)類的智能IC,并以這個(gè)IC為核心搭建出一個(gè)芯系統(tǒng),再外延出若干個(gè)功能接口,如顯示接口、鍵盤接口、開關(guān)量信號輸入/輸出接口、模擬量輸入/輸出接口和打印接口等,最后再拼接各種所需的外圍設(shè)備,形成產(chǎn)品。這樣設(shè)計(jì)的優(yōu)點(diǎn)是在芯系統(tǒng)不變的情況下,更改外圍設(shè)備即可使產(chǎn)品升級、更新。在軟件方面芯系統(tǒng)具有基礎(chǔ)的功能函數(shù)以及外圍設(shè)備應(yīng)用所需的基礎(chǔ)軟件,從而形成良好的開發(fā)環(huán)境,這就是研發(fā)平臺的設(shè)計(jì)思想。

  點(diǎn)陣式液晶顯示模塊在迅速、廣泛地應(yīng)用于各行各業(yè)的電子產(chǎn)品中。其應(yīng)用的最大特點(diǎn)是平板顯示占空間小,CMOS電路功耗低,可顯示漢字。為了配合研發(fā)平臺概念的提出和推廣,我們對標(biāo)準(zhǔn)液晶顯示類產(chǎn)品作了歸納和總結(jié),在此介紹適用于平臺設(shè)計(jì)的通用電路和MCS|51系列單片機(jī)的顯示用軟件包。

一、 通用電路

  所謂標(biāo)準(zhǔn)液晶顯示類產(chǎn)品是指廠家自己設(shè)計(jì)并推向社會(huì)的液晶顯示模塊產(chǎn)品。它的種類、規(guī)格很多,從8×1個(gè)字符到40×4個(gè)字符的字符型液晶顯示模塊;從80×32點(diǎn)陣到640×480點(diǎn)陣的圖形液晶顯示模塊。而且同一點(diǎn)陣數(shù)的產(chǎn)品還會(huì)根據(jù)點(diǎn)陣的大小、模塊結(jié)構(gòu)尺寸和控制器IC型號等的不同劃分不同的系列。

  但是,我們避開液晶顯示模塊產(chǎn)品繁多的型號,僅分析液晶顯示模塊的計(jì)算機(jī)接口特性,從而歸納出液晶顯示模塊與單片機(jī)接口的共有特性??v觀國內(nèi)市場上的液晶顯示模塊,適用于單片機(jī)系統(tǒng)的液晶顯示控制器無外乎是這么幾種:HD44780及其替代品(字符型)、SED1520(控制122×32點(diǎn)陣以內(nèi))、HD61202U(控制192×64點(diǎn)陣以內(nèi))、HD61830A(控制240×128點(diǎn)陣以內(nèi))、T6963C(控制240×128點(diǎn)陣以內(nèi))、 SED1335(控制640×200點(diǎn)陣以內(nèi))和QPYD系列(控制640×480點(diǎn)陣單色和彩色)等(注:用于計(jì)算機(jī)系統(tǒng)的液晶顯示控制器不在本文的討論范圍之內(nèi))。

  雖然這些液晶顯示控制器的功能不同,但與單片機(jī)的接口時(shí)序關(guān)系可以歸納為兩類。一是Intel 8080時(shí)序關(guān)系,如T6963C、SED1335和QPYD系列等;另一種是MC6800時(shí)序關(guān)系,如HD44780、HD61830、 HD61202U和SED1520等。這兩類的接口時(shí)序如圖1和圖2所示。

  與單片機(jī)的運(yùn)行速度相比,液晶顯示控制器的工作速度是屬于中速偏慢的。因此,當(dāng)在高速單片機(jī)系統(tǒng)中設(shè)計(jì)時(shí),就要考慮液晶顯示控制器的適應(yīng)能力了。一般在讀、寫脈寬小于450ns的單片機(jī)系統(tǒng)中,我們建議使用間接方式的液晶顯示接口,即單片機(jī)芯系統(tǒng)與液晶顯示接口連接中使用兩個(gè)8位的并口作為緩沖器。其中一個(gè)用作數(shù)據(jù)信息的緩沖器,另一個(gè)用作控制信號的產(chǎn)生。單片機(jī)通過對該并口的數(shù)據(jù)寫入、更新,實(shí)現(xiàn)對液晶顯示控制器的控制信號狀態(tài)設(shè)置和顯示數(shù)據(jù)的寫入,從而達(dá)到對液晶顯示模塊的控制。在間接方式下的液晶顯示接口實(shí)現(xiàn)是比較容易的,但對軟件的時(shí)序編制要求就比較高了。

二、 規(guī)范的液晶顯示

  較完美地實(shí)現(xiàn)液晶顯示應(yīng)用,必須有“規(guī)范化”的液晶顯示基礎(chǔ)軟件的建設(shè)。我們分析了各種控制器的指令特性和用戶使用時(shí)所需要的基本顯示功能,提出了設(shè)計(jì)規(guī)范化的要求:

 ?。?) 使用最基層的編程語言——匯編語言,可以使用戶在任何高級語言編程時(shí)都可以調(diào)用;
 ?。?) 盡管因控制器的不同,寫入的指令格式和代碼不同,但要求程序的入口名都是統(tǒng)一的;
 ?。?) 盡可能減少軟件所占用的內(nèi)部寄存器單元;
 ?。?) 為了使各軟件包更換時(shí),對主程序影響最小,軟件包所用的全局變量應(yīng)是統(tǒng)一命名的;
 ?。?) 軟件包應(yīng)包括最基本的驅(qū)動(dòng)程序和應(yīng)用程序,用戶能使用它們完成最基礎(chǔ)的顯示功能。

  基于上述要求,我們編制了QHA51系列液晶顯示模塊的應(yīng)用軟件庫。這個(gè)軟件庫使用了MCS-51單片機(jī)的宏匯編指令,包含有:

  適應(yīng)HD44780控制器軟件包——QHA51-HD44780;
  適應(yīng)HD61202控制器軟件包——QHA51-HD61202;
  適應(yīng)HD61830控制器軟件包——QHA51-HD61830;
  適應(yīng)SED1520控制器軟件包——QHA51-SED1520;
  適應(yīng)T6963C 控制器軟件包——QHA51-T6963C;
  適應(yīng)SED1335控制器軟件包——QHA51-SED1335;
  適應(yīng)QPYD系列控制器軟件包——QHA51-QPYD。

  這組軟件包中的功能程序入口名都是統(tǒng)一的,它們是:

  PR0: 讀忙標(biāo)志子程序入口;
  PR1: 寫指令子程序入口1;
  PR2: 寫參數(shù)和數(shù)據(jù)子程序入口1;
  PR3: 讀數(shù)據(jù)子程序入口1;
  ……
  INT: 控制器初始化程序入口;
  CLEAR: 清顯示程序入口;
  CWPR: 西文字符寫入程序入口;
  CCWPR: 漢字字符寫入程序入口;
  WDOT: 繪點(diǎn)程序入口。
  ……

  程序參數(shù)用PARA1,PARA2……定義。程序變量定義為:

  OXH,OXL: X坐標(biāo)值。在字符顯示時(shí)該坐標(biāo)以字節(jié)為單位;在圖形顯示時(shí)則以點(diǎn)列為單位。
  OYH,OYL: Y坐標(biāo)值。在文本方式下該坐標(biāo)以字符行為單位;在圖形方式下則以點(diǎn)行為單位。
  CODE: 字符代碼。
  COUNT1,COUNT2…: 計(jì)數(shù)器。
  COM: 指令寄存器,作為驅(qū)動(dòng)子程序的輸入變量。
  DAT1: 數(shù)據(jù)寄存器,作為驅(qū)動(dòng)子程序的輸入變量。
  DAT2: 數(shù)據(jù)寄存器,作為驅(qū)動(dòng)子程序的輸入變量。

  該軟件庫對用戶不是煩瑣的控制器指令集,而是一組功能函數(shù),從而解脫了用戶軟件編程的煩瑣勞動(dòng),提高了開發(fā)效率,降低了開發(fā)成本。同時(shí)還可以實(shí)現(xiàn)在不修改系統(tǒng)程序的前提下,僅更換顯示功能程序,完成不同的液晶顯示模塊的更換。

三、 發(fā)展的液晶顯示應(yīng)用的規(guī)范化

  雖然我們提出液晶顯示應(yīng)用的規(guī)范化,即液晶顯示應(yīng)用技術(shù)服務(wù)的規(guī)范化建設(shè),但這僅僅是一家所言。日后還有更深、更廣的理論和實(shí)踐工作需要去探討和完善。要發(fā)展液晶顯示應(yīng)用的“規(guī)范化”,需要大家同心協(xié)力。今天,我們能斗膽提出和在力所能及之處實(shí)施“規(guī)范化”,就是為了能在應(yīng)用領(lǐng)域中得到廣泛的支持,以期能推動(dòng)我國液晶顯示應(yīng)用的更快、更好的發(fā)展。



評論


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

關(guān)閉