基于單片機的LCD液晶顯示器控制原理系統(tǒng)設(shè)計_[當(dāng)文網(wǎng)提供][1]_第1頁
基于單片機的LCD液晶顯示器控制原理系統(tǒng)設(shè)計_[當(dāng)文網(wǎng)提供][1]_第2頁
基于單片機的LCD液晶顯示器控制原理系統(tǒng)設(shè)計_[當(dāng)文網(wǎng)提供][1]_第3頁
基于單片機的LCD液晶顯示器控制原理系統(tǒng)設(shè)計_[當(dāng)文網(wǎng)提供][1]_第4頁
基于單片機的LCD液晶顯示器控制原理系統(tǒng)設(shè)計_[當(dāng)文網(wǎng)提供][1]_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 摘摘 要要本文圍繞設(shè)計以單片機作為 LCD 液晶顯示系統(tǒng)控制器為主線,基于單片機 8051,采用的液晶顯示控制器的芯片是 SED1520,主要實現(xiàn)中文顯示、滾屏以及左右移動功能。同時也對部分芯片和外圍電路進行了介紹和設(shè)計,并附以系統(tǒng)結(jié)構(gòu)框圖加以說明,著重介紹了本系統(tǒng)應(yīng)用的各硬件接口技術(shù)和各個接口模塊的功能及工作過程,并詳細闡述了程序的各個模塊。本系統(tǒng)是以單片機的匯編語言來進行軟件設(shè)計,指令的執(zhí)行速度快,節(jié)省存儲空間。為了便于擴展和更改,軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)計的邏輯關(guān)系更加簡潔明了。使硬件在軟件的控制下協(xié)調(diào)運作。其次闡述了部分程序的流程圖和實現(xiàn)過程。本文撰寫的主導(dǎo)思想是軟、硬件

2、相結(jié)合,以硬件為基礎(chǔ),來進行各功能模塊的編寫。最后對我所開發(fā)的用單片機實現(xiàn) LCD 液晶顯示器控制原理的設(shè)計思想和軟、硬件調(diào)試作了詳細的論述。關(guān)鍵字:關(guān)鍵字:單片機、液晶顯示、8051、SED1520、2 目目 錄錄1 緒 論.21.1 單片機液晶顯示系統(tǒng)設(shè)計課題背景 .21.2 開發(fā)單片機液晶顯示系統(tǒng)的意義 .21.3 課題完成的功能 .32 單片機與 C8051F020 單片機實驗系統(tǒng).42.1 單片機技術(shù)的發(fā)展特點.42.2 C8051F020 單片機實驗系統(tǒng).52.3 CIP-51TMCPU.73 液晶顯示控制器 KS0108.103.1 KS0108 的特點.103.2 KS0108

3、 管腳.103.3 KS0108 受控引腳.113.4 KS0108 的時序4.113.4.1 KS0108 與 68 系列微處理器直接接口的時序.113.4.2 復(fù)位時序 .123.5 KS0108 顯示 RAM 地址結(jié)構(gòu).133.6 KS0108 指令系統(tǒng)4.134 圖形動態(tài)顯示.154.1 圖形點陣式液晶顯示控制原理 .154.2 液晶顯示模塊外部接口 .154.3 圖形點陣液晶顯示編碼規(guī)則 .174.3.1 漢字編碼規(guī)則.174.3.2 圖形編碼規(guī)則 .194.4 程序流程 .194.5 功能實現(xiàn) .205 系統(tǒng)實驗仿真.235.1 平臺及操作 .235.2 仿真及結(jié)果 .23參考文獻

4、.25致 謝.2631 緒 論1.1 單片機液晶顯示系統(tǒng)設(shè)計課題背景單片機液晶顯示系統(tǒng)主要是指單片機以及由單片機驅(qū)動的點陣式液晶顯示屏所組成的一個顯示系統(tǒng)。液晶顯示器與 CRT(cathode-ray tube,陰極射線管)、LED (light-emitting diode,發(fā)光二級管)或等離子顯示器相比是一種低功耗的平面顯示器件。它在車內(nèi)廣告、在型智能廣告、可視電話、儀表盤、空調(diào)、洗衣機和其它低功耗電子產(chǎn)品中得到廣泛應(yīng)用。老式七段 LCD(Liquid Crystal Display 液晶顯示屏)顯示的字符數(shù)量有限,只能用于簡單顯示,而對于比較復(fù)雜的字符、圖形無法表達。然而在現(xiàn)代工業(yè)控制和

5、一些智能化儀器儀表中,越來越多的場所需要用點陣圖形顯示器顯示漢字。由于物探儀器的多功能化、智能化、并且普遍采用人機對話的交互方式,需要能夠顯示更豐富信息和通用性較強的顯示器,便于開發(fā)和應(yīng)用,并要求其體積小、重量輕、功耗小。圖形點陣式 LCD 不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕畫面滾動、分區(qū)開窗口、反轉(zhuǎn)、閃爍、位操作等功能,可以顯示用戶自定義的任意符號以及曲線、圖形等,是信息處理、信息輸出的重要手段之一,具有廣泛的應(yīng)用前景。1.2 開發(fā)單片機液晶顯示系統(tǒng)的意義社會意義:液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無法相比的優(yōu)點。近幾年

6、來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。液晶顯示器分為字符型 LCD 顯示模塊和點陣型 LCD 顯示模塊。字符型 LCD 是一種用 57點陣圖形來顯示字符的液晶顯示器。點陣型液晶可顯示用戶自定義的任意符號和圖形,并可卷動顯示,它作為便攜式單片機系統(tǒng)人機交互界面的重要組成部分被廣泛應(yīng)用于實時檢測和顯示的儀器儀表中。支持漢字顯示的點陣型液晶在現(xiàn)代單片機應(yīng)用系統(tǒng)中是一種十分常用的顯示設(shè)備,漢字 BP 機、手機上的顯示屏就是點陣型 LCD。點陣型LCD 是現(xiàn)代單片機應(yīng)用系統(tǒng)中最常用的人機交互界面之一。4現(xiàn)實意義:我選擇的單片機液晶顯示系統(tǒng)的開發(fā),是基于 KS0108 液晶顯示控制器,

7、在C8051F020 單片機實驗系統(tǒng)上實現(xiàn)。KS0108 是點陣型液晶顯示控制器,C8051F020 單片機是美國 Silabs 公司推出的完全集成的混合信號系統(tǒng)芯片(SOC)。利用單片機控制液晶顯示系統(tǒng)的原理,完成單片機液晶顯示系統(tǒng)的設(shè)計,我希望能夠觸類旁通,靈活應(yīng)用其他型號的液晶顯示控制器。將來如果有機會從事這方面的工作,要運用的液晶顯示控制器不一定是 KS0108,但這次畢業(yè)設(shè)計中學(xué)到的東西為此打下了良好的基礎(chǔ),相信自己能做好這方面的工作。1.3 課題完成的功能所選的單片機液晶顯示系統(tǒng)設(shè)計,是在 C8051F020 系統(tǒng)實驗設(shè)備上實現(xiàn)的。C8051F020 中有內(nèi)藏 KS0108 控制器

8、的液晶模塊 CGM12864B。KS0108,12864 個點陣,與行控制器 KS0107 配合使用,組成液晶顯示驅(qū)動控制系統(tǒng)。我最主要是用 KS0108 來設(shè)計圖形動態(tài)顯示。在顯示屏上的顯示點是以字節(jié)數(shù)和位數(shù)為顯示單元的,單元內(nèi)為“1”的位在屏幕上反應(yīng)是亮點,為“0”的位不亮。在字節(jié)中能夠顯示的位數(shù)可編程設(shè)置,范圍是116。如果小于等于 8 位,則用一個字節(jié),每個字節(jié)的低位不起顯示作用。例如,設(shè)置顯示單元為 6,每個字節(jié)顯示 6 位,那么屏幕上的顯示單元為 16 點;如果大于 8位則用兩個字節(jié),低字節(jié)的低位不起顯示作用。屏幕上同一行的顯示單元從左到右地排列,對應(yīng)著顯示內(nèi)存中的地址是從高到低,

9、同一列中的顯示單元從上到下,對應(yīng)顯示內(nèi)存中的地址相差一定的值,稱作行地址間隔,可用程序設(shè)置。顯示內(nèi)存(RAM,Random Access Memory 隨機存儲器)中的地址與屏幕上的顯示位置一一對應(yīng)。在液晶顯示屏上顯示圖形實際上是將對應(yīng)的圖形顯示數(shù)據(jù)寫入顯示 RAM 的相應(yīng)位置。顯示圖形首先需要將圖形轉(zhuǎn)換為圖形字模,然后根據(jù)該圖形的顯示位置將圖形字模寫入對應(yīng)的顯示 RAM 區(qū)地址。在圖形顯示過程中,按列掃描,顯示完一頁后,要送一個頁面地址加 1 指令,讓單片機將數(shù)據(jù)傳送到顯示 RAM 的下一頁。除了實現(xiàn)圖形簡單的整屏顯示外,根據(jù)單片機編程控制靈活的特點,還可以實現(xiàn)圖形的左右或上下滾動。實現(xiàn)圖形

10、左右滾屏的基本思想是讓后一列的數(shù)據(jù)寫住前一列的顯示 RAM,直至整屏都往右移一列;實現(xiàn)上下滾屏的基本思想是每顯示完整屏數(shù)據(jù)后,顯示起始行地址加 1,再顯示原整屏數(shù)據(jù),這樣就實現(xiàn)了上下滾屏的效果。2 單片機與 C8051F020 單片機實驗系統(tǒng)52.1 單片機技術(shù)的發(fā)展特點1自單片機出現(xiàn)至今,單片機技術(shù)已走過了近 20 年的發(fā)展路程??v觀 20 年來單片機發(fā)展里程可以看出,單片機技術(shù)的發(fā)展以微處理器(MPU,Microprocessor Unit)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出比微處理器更具個性的發(fā)展趨勢。 單片機壽命長 一般說來,單片機開發(fā)的產(chǎn)品可以穩(wěn)定可

11、靠地工作 10 年、20 年;另外,與微處理器相比,單片機的長壽命表現(xiàn)在它不會像 386、486、586 等 MPU 一樣,隨著半導(dǎo)體技術(shù)的飛速發(fā)展,更新?lián)Q代的速度越來越快,很短的時間內(nèi)就被淘汰出局。傳統(tǒng)的單片機如 68HC05、8051 等年齡已有十幾年的歷史,但產(chǎn)量仍是上升的,這是因為它們在其對相應(yīng)應(yīng)用領(lǐng)域的適應(yīng)性強,并且與之兼容的 I/O 功能模塊的擴展接口技術(shù)也層出不窮。 8 位、16 位與 32 位單片機共同發(fā)展 這是單片機技術(shù)發(fā)展的另一個動向。長期以來,單片機技術(shù)的發(fā)展是以 8 位機為主的。隨著移動通信、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品進入家庭,32 位單片機應(yīng)用得到了長足的發(fā)展,

12、而 16 位單片機的發(fā)展無論從品種和產(chǎn)量方面,近年來也有較大幅度的增長。 單片機的速度越來越快 MPU 發(fā)展中表現(xiàn)出來的速度越來越快是以時鐘頻率越來越高為標(biāo)志的。而單片機則有所不同,為提高單片機抗干擾能力,降低噪聲,降低時鐘頻率而不犧牲運算速度是單片機技術(shù)發(fā)展之追求。一些 8051 單片機兼容廠商改善了單片機的內(nèi)部時序,在不提高時鐘頻率的條件下,使運算速度提高了許多。 低電壓與低功耗 自 80 年代中期以來,NMOS 工藝單片機逐漸被 CMOS(互補金屬氧化物半導(dǎo)體)工藝所代替,功耗得以大幅度下降,隨著超大規(guī)模集成電路技術(shù)由 3m 工藝發(fā)展1.5、1.2、0.8、0.5、0.35 進而實現(xiàn)了

13、0.2m 工藝,全靜態(tài)設(shè)計使時鐘頻率從直流電到數(shù)十 MHz 任選,都使功耗不斷下降。幾乎所有的單片機都有 Wait、Stop 等省電運行方式。允許使用的電源電壓范圍也越來越寬。一般單片機都能在 36V 范圍內(nèi)工作,對電池供電的單片機不再需要對電源采取穩(wěn)壓措施。低電壓供電的單片機電源下限已由 2.7V 降至 2.2V、1.8V、0.9V 供電的單片機已經(jīng)問世。 低噪聲與高可靠性技術(shù) 為提高單片機系統(tǒng)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工作環(huán)境,滿足電磁6兼容性方面更高標(biāo)準(zhǔn)的要求,各單片機商家在單片機內(nèi)部電路中采取了一些新的技術(shù)措施。OTP 與掩膜 OTP 是一次性寫入的單片機。過去認為一個單片機

14、產(chǎn)品的成熟是以投產(chǎn)掩膜型單片機為標(biāo)志的。由于掩膜需要一定的生產(chǎn)周期,而 OTP 型單片機價格不斷下降,使得近年來直接使用 OTP 完成最終產(chǎn)品制造更為流行。它較之掩膜具有生產(chǎn)周期短、風(fēng)險小的特點。近年來,OTP 型單片機需量大幅度上揚,為適應(yīng)這種需求許多單片機都采用了在片編程技術(shù)(In system Programming) 。未編程的 OTP 芯片可采用裸片 Bonding 技術(shù)或表面貼裝技術(shù),先焊在印刷板上,然后通過單片機上的編程線、串行數(shù)據(jù)、時鐘線等對單片機編程,解決了批量寫 OTP 芯片時容易出現(xiàn)的芯片與寫入器接觸不好的問題,使 OTP 的裸片得以廣泛應(yīng)用,降低了產(chǎn)品的成本。編程線與

15、I/O 線共用,不增加單片機的額外引腳。而一些生產(chǎn)廠商推出的單片機不再有掩膜型,全部為有 ISP 功能的 OTP。 MTP 向 OTP 挑戰(zhàn) MTP 是可多次編程的意思。一些單片機廠商以 MTP 的性能、OTP 的價位推出他們的單片機,如 ATMEL AVR 單片機,片內(nèi)采用 FLASH,可多次編程。華幫公司生產(chǎn)的 8051兼容的單片機也采用了 MTP 性能,OTP 的價位。這些單片機都使用了 ISP 技術(shù),等安裝到印刷板線路板上以后再下載程序。2.2 C8051F020 單片機實驗系統(tǒng)2C8051F020 器件是完全集成的混合信號系統(tǒng)級 MCU(微程序控制器)芯片,具有 64個數(shù)字 I/O

16、引腳。下面列出了一些主要特性:高速、流水線結(jié)構(gòu)的 8051 兼容的 CIP-51 內(nèi)核(可達 25MIPS(Million Instructions Per Second, 每秒百萬條指令))全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi))真正 12 位、100ksps 的 8 通道 ADC,帶 PGA 和模擬多路開關(guān)兩個 12 位 DAC,可編程更新時序64K 字節(jié)可在系統(tǒng)編程的 FLASH 存儲器4352(4096+256)字節(jié)的片內(nèi) RAM可尋址 64K 字節(jié)地址空間的外部數(shù)據(jù)存儲器接口硬件實現(xiàn)的 SPI、SMBus/I2C 和兩個 UART 串行接口5 個通用的 16 位定時器具有 5 個捕捉/

17、比較模塊的可編程計數(shù)器/定時器陣列7片內(nèi)看門狗定時器、VDD 監(jiān)視器和溫度傳感器具有片內(nèi) VDD 監(jiān)視器、看門狗定時器和時鐘振蕩器的 C8051F020 是真正能獨立工作的片上系統(tǒng)。所有模擬和數(shù)字外設(shè)均可由用戶固件配置為使能或禁止。FLASH 存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新 8051 固件。片內(nèi) FTAG 調(diào)試電路允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品 MCU 進行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試.該調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,支持斷點、觀察點、單步及運行和停機命令。在使用 JTAG 調(diào)試時,所有的模擬和數(shù)字外設(shè)都可全功能運行。每個 M

18、CU 都可在工業(yè)溫度范圍(-45+85)內(nèi)用 2.7V3.6V 的電壓工作。端CoCo口 I/O、/RST、和 JTAG 引腳都容許 5V 的輸入信號電壓。C8051020 為 100 腳 TQFP 封裝(見圖 2.1)。圖 2.1 C8051F020 原理框架2.3 CIP-51CPUTM與 8051 完全兼容C8051F020 系列器件使用 Cygnal 的專利 CIP-51 微控制器內(nèi)核。CIP-51 與 MCS-51指令集完全兼容,可以使用標(biāo)準(zhǔn) 803x/805x 的匯編器和編譯器進行軟件開發(fā)。CIP-51TM內(nèi)核具有標(biāo)準(zhǔn) 8052 的所有外設(shè)部件,包括 5 個 16 位的計數(shù)器/定時

19、器、兩個全雙工UART、256 字節(jié)內(nèi)部 RAM、128 字節(jié)特殊功能寄存器(SFR)地址空間及 8/4 個字節(jié)寬的8I/O 端口。速度提高CIP-51 采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的 8051 結(jié)構(gòu)相比指令執(zhí)行速度有很大的提高。在一個標(biāo)準(zhǔn)的 8051 中,除 MUL 和 DIV 以外所有指令都需要 12 或 24 個系統(tǒng)時鐘周期,最大系統(tǒng)時鐘頻率為 1224MHz。而對于 CIP-51 內(nèi)核,70的指令的執(zhí)行時間為 1 或 2個系統(tǒng)時鐘周期,只有 4 條指令的執(zhí)行時間大于 4 個系統(tǒng)時鐘周期。增加的功能C8051F202 系列 MCU 在 CIP-51 內(nèi)核和外設(shè)有幾項關(guān)鍵性的改進,提高了整體性能

20、,更易于在最終應(yīng)用中使用。擴展的中斷系統(tǒng)向 CIP-51 提供 22 個中斷源(標(biāo)準(zhǔn) 8051 只有 7 個中斷源),允許大量的模擬和數(shù)字外設(shè)中斷微控制器,一個中斷驅(qū)動的系統(tǒng)需要較小的 MCU 干預(yù),因而有更高的執(zhí)行效率。在設(shè)計一個多任務(wù)實時系統(tǒng)時,這些增加的中斷源是非常有用的。MCU 可有多達 7 個復(fù)位源:一個片內(nèi) CDD 監(jiān)視器、一個看門狗定時器、一個時鐘丟失檢測器、一個由比較器 0 提供的電壓檢測器、一個軟件強制復(fù)位、CNVSTR 引腳及/RST 引腳。MCU 內(nèi)部有一個獨立運行的時鐘發(fā)生器,在復(fù)位后被默認為系統(tǒng)時鐘。如果需要,時鐘源可以在運行時切換到外部振蕩器,外部振蕩器可以使用晶體

21、、陶瓷諧振器、電容、RC 或外部時鐘源產(chǎn)生系統(tǒng)時鐘。 片內(nèi)存儲器3CIP-51 有標(biāo)準(zhǔn)的 8051 程序和數(shù)據(jù)地址配置。它包括 256 字節(jié)的數(shù)據(jù) RAM,其中高128 字節(jié)為雙映射。用間接尋址訪問通用 RAM 的高 128 字節(jié),用直接尋址訪問 128 字節(jié)的 SFR 地址空間。數(shù)據(jù) RAM 的低 128 字節(jié)可用直接或間接尋址方式訪問。前 32 個字節(jié)為 4 個通用寄存器區(qū),接下來的 16 個字節(jié)既可以按字節(jié)尋址也可以按位尋址。MCU 的程序存儲器包含 64K 字節(jié)的 FLASH。該存儲器以 512 字節(jié)為一個扇區(qū),可以在系統(tǒng)編程,且不需要特別的編程電壓。從 0 xFE00 到 0 xFF

22、FF 的 512 字節(jié)被保留,由工廠使用。還有一個位于地址 0 x100000 x1007F 的 128 字節(jié)的扇區(qū),該扇子區(qū)可作為一個小的軟件常數(shù)表使用。圖 2.2 給出了 MCU 系統(tǒng)的存儲器結(jié)構(gòu)。9圖 2.2 片內(nèi)存儲器組織JTAG 調(diào)試和邊界掃描C8051F020 系列具有片內(nèi) JTAG 邊界掃描和調(diào)試電路,通過 4 腳 JTAG 接口并使用安裝在最終應(yīng)用系統(tǒng)中的產(chǎn)品器件就可以進行非侵入式、全速的在系統(tǒng)調(diào)試。該 JTAG 接口完全符合 IEEE1149.1 規(guī)范,為生產(chǎn)和測試提供完全的邊界掃描功能。Cygnal 的調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,支持斷點、觀察點、堆棧指示器和單步

23、執(zhí)行。不需要額外的目標(biāo) RAM、程序存儲器、定時器或通信通道。在調(diào)試時所有的模擬和數(shù)字外設(shè)都正常運行,以保持同步。圖 2.3 給出了調(diào)試環(huán)境示意圖。圖 2.3 調(diào)試環(huán)境示意圖可編程數(shù)字 I/O 和交叉開關(guān)該系列 MCU 具有標(biāo)準(zhǔn) 8051 的端口(0、1、2 和 3) 。在 C8051F020 中有 4 個附加的端口(4、5、6 和 7) ,因此共有 64 個通用端口 I/O。這些端口 I/O 的工作情況與標(biāo)準(zhǔn)8051 相似,但有一些改進??赡茏瞠毺氐母倪M是引入了數(shù)字交叉開關(guān)。這是一個大的數(shù)字開關(guān)網(wǎng)絡(luò),允許將內(nèi)部數(shù)字系統(tǒng)資源映射到 P0、P1、P2 和 P3 的端口 I/O 引腳(見圖 2.4

24、) 。具有標(biāo)準(zhǔn)復(fù)用數(shù)字 I/O 的微控制器不同,這種結(jié)構(gòu)可支持所有的功能組合。10圖 2.4 數(shù)字交叉開關(guān)原理框圖可編程計數(shù)器陣列除了 5 個 16 位的通用計數(shù)器/定時器之外,C8051F020 MCU 系列還有一個片內(nèi)可編程計數(shù)器/定時器陣列(PCA) 。PCA 包括一個專用的 16 位計數(shù)器/定時器時間基準(zhǔn)和 5個可編程的捕捉/比較模塊。時間基準(zhǔn)的時鐘可以是下面的 6 個時鐘源之一:系統(tǒng)時鐘/12、系統(tǒng)時鐘/4、定時器 0 溢出、外部時鐘輸入(ECI) 、系統(tǒng)時鐘和外部振蕩器源頻率/8。C8051F020 還有更多的優(yōu)勢,需要詳細了解的請參考文獻9。本節(jié)主要講了單片機的特點和 C8051

25、F020 單片機實驗系統(tǒng)的特性。C8051F020 與8051 完全兼容,指令采用流水線結(jié)構(gòu)提高了系統(tǒng)速度,有可編程數(shù)字 I/O 和交叉開關(guān),增加了一些功能器件,提高了 C8051F020 整體性能。113 液晶顯示控制器 KS0108KS0108是一種帶有驅(qū)動輸出的點陣型液晶顯示控制器,它可直接與8位微處理器相連,它可與KS0107配合對液晶顯示控制器進行行、列驅(qū)動,組成液晶顯示驅(qū)動控制系統(tǒng)。3.1 KS0108 的特點(1).內(nèi)藏6464=4096位顯示RAM,RAM中每位數(shù)據(jù)對應(yīng)LCD屏上一個點的亮、暗狀態(tài);(2).KS0108是列驅(qū)動器,具有64路列驅(qū)動輸出;(3).KS0108讀、寫

26、操作時序與68系列微處理器相符,因此它可直接與68系列微處理器接口相連;(4).KS0108的占空比為1/481/64;(5).具有專用指令集,可完成文本顯示或圖形顯示的功能設(shè)置,以及實現(xiàn)畫面滾動、光標(biāo)、閃爍和位操作等功能;(6).KS0108可管理64KB顯示RAM。其中,圖形方式為64KB;字符方式為4KB。3.2 KS0108 管腳4KS0108的管腳見圖3.1所示:12圖3.1 KS0108管腳圖3.3 KS0108 受控引腳KS0108的引腳功能見表1表1 引腳功能引腳符號狀態(tài)引腳名稱功能CS1,CS2,CS3輸入芯片片選端CS1和CS2低電平選通,CS3高電平選通E輸入讀寫使能信號

27、在E下降沿,數(shù)據(jù)被鎖存(寫)入KS0108;在E高電平時,數(shù)據(jù)被讀出R/W輸入讀寫選擇信號R/W=1,為讀選通;R/W=0為寫選通RS(也習(xí)慣叫做D/I)輸入數(shù)據(jù)、指令選擇信號RS=1為數(shù)據(jù)操作RS=0為寫指令或讀狀態(tài)DB0-DB7三態(tài)數(shù)據(jù)總線RST輸入復(fù)位信號低電平有效,復(fù)位信號有效時,關(guān)閉液晶顯示,使顯示起始終不渝行為0,RST可跟MPU相連,由MPU控制;也右直接接VDD,使之不起作用。133.4 KS0108 的時序43.4.1 KS0108 與 68 系列微處理器直接接口的時序各種信號波形對照見表2:表2 信號波形MPU讀時序見圖3.2:圖3.2 讀時序MPU寫時序見圖3.3:圖3.

28、3 寫時序143.4.2 復(fù)位時序復(fù)位后,KA0108顯示關(guān)閉,顯存地址歸零。復(fù)位條件見表3和圖3.4:表3 復(fù)位條件項目符號最小值典型值最大值單位復(fù)位時間Trs1.0微秒上升時間Tr200納秒圖3.4 復(fù)位條件3.5 KS0108 顯示 RAM 地址結(jié)構(gòu) KS0108中的顯示RAM共有64行,64列,其結(jié)構(gòu)見圖3.5圖3.5 顯示RAM地址結(jié)構(gòu)3.6 KS0108 指令系統(tǒng)4KS0108的指令系統(tǒng)比較簡單,總共只有七種。現(xiàn)分別介紹如下:3.6.1 顯示開/關(guān)指令見表4表4 顯示開/關(guān)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0150 00 0 1 1 1 1

29、 1 1/0當(dāng)DBO=1時,LCD顯示RAM中的內(nèi)容;DBO=0時,關(guān)閉顯示。3.6.2 顯示起始行(ROW)設(shè)置指令見表5表5 顯示起始行指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 1 顯示起始行(0-63)該指令設(shè)置了對應(yīng)液晶屏最一行的顯示RAM的行號,有規(guī)律的改變顯示起始行,可以使LCD實現(xiàn)顯示滾屏的效果。3.6.3 頁(RAGE)設(shè)置指令見表6表6 頁設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 0 1 1 1 頁號(0-7)顯示RAM共64行,分8頁,每頁8行。3.6.4 列地址(Y Addre

30、ss)設(shè)置指令見表7表7 列地址設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 1 顯示列地址(0-63)設(shè)置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進一個字節(jié)數(shù)據(jù)。3.6.5 讀狀態(tài)指令見表8表8 讀狀態(tài)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0BUSY 0 ON/OFF REST 0 0 0 0該指令用來查詢KS0108的狀態(tài),各參量含義如下:BUSY:1-內(nèi)部在工作 0-正常狀態(tài)ON/OFF:1-顯示關(guān)閉 0-顯示打開REST: 1

31、-復(fù)位狀態(tài) 0-正常狀態(tài)在BUSY和REST狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對KS0108產(chǎn)生作用。在對KS0108操作之前要查詢BUSY狀態(tài),以確定是否可以對KS0108進行操作。3.6.6 寫數(shù)據(jù)指令見表9表9 寫數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1 寫 數(shù) 據(jù)3.6.7讀數(shù)據(jù)指令見表10表10 讀數(shù)據(jù)指令16R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1 讀 顯 示 數(shù) 據(jù)讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動增一,必須注意的是,進行讀、寫操作之前,必須有一次空讀操作,緊接著再讀才會讀出

32、所要讀的單元中的數(shù)據(jù)。本節(jié)主要是介紹液晶顯示控制器KS0108的特點、外部部分引腳功能、時序、顯示RAM地址結(jié)構(gòu)及指令集,為單片機液晶顯示系統(tǒng)設(shè)計打下基礎(chǔ)。174 圖形動態(tài)顯示4.1 圖形點陣式液晶顯示控制原理C8051F020實驗板中使用的是內(nèi)置液晶顯示模塊CGM12864B的液晶屏。CGM12864B內(nèi)部沒有振蕩器電路,它必須由外部提供一個時序發(fā)生器作為振蕩源方可工作,它由兩片帶有64列驅(qū)動控制器KS0108和一片帶有64行驅(qū)動控制器KS0107組合而成。另外還可以附加負壓發(fā)生電路。顯示是以一12864 個點的液晶屏顯示。圖形液晶顯示模塊KS0108將顯示區(qū)分為左右半屏,整個屏從上到下64

33、 行分為8 頁,每頁8 行,頁地址范圍為:B8HBFH。列地址范圍為:40H7FH。數(shù)據(jù)為縱向讀寫,即每頁的第一行對應(yīng)D0 第八行對應(yīng)D7。左、右半屏由CS1、CS2選擇。控制器KS0108 的指令相對簡單,總共七條指令:顯示開關(guān)設(shè)定(3EH/ 3FH),顯示起始行設(shè)定(C0H /FFH),頁地址設(shè)定(B8H/ BFH),列地址設(shè)定(40H/ 7FH)狀態(tài)讀取,寫數(shù)據(jù),讀數(shù)據(jù)。12864 點陣式液晶模塊的邏輯圖見圖 4.14圖4.1 液晶模塊邏輯圖4.2 液晶顯示模塊外部接口外部接口信號見表 11表 11 外部接口信號管腳號管腳名稱LEVER管腳功能描述1Vss0電源地2Vdd+0.5V電源電

34、壓3V0液晶顯示器驅(qū)動電壓4D/IH/LD/I=“H” ,表示 DB7DB0 為顯示數(shù)據(jù)18D/I=“L” ,表示 DB7DB0 為顯示指令數(shù)據(jù)5R/WH/LR/W=“H” ,E=“H”數(shù)據(jù)被讀到 DB0DB7R/W=“H” ,E=“HL”數(shù)據(jù)被寫到 IR 或 DR6EH/LR/W=“L” ,E 信號下降沿鎖存 DB7DB0R/W=“H” ,E=“H”DDRAM 數(shù)據(jù)讀到 DB7DB07DB0H/L數(shù)據(jù)線8DB1H/L數(shù)據(jù)線9DB2H/L數(shù)據(jù)線10DB3H/L數(shù)據(jù)線11DB4H/L數(shù)據(jù)線12DB5H/L數(shù)據(jù)線13DB6H/L數(shù)據(jù)線14DB7H/L數(shù)據(jù)線15CS1H/LH:選擇芯片(右半屏)信號

35、16CS2H/LH:選擇芯片(左半屏)信號17RSTH/L復(fù)位信號,低電平復(fù)位18Vee-10VLCD 驅(qū)動負電壓19LED-LED 背光板電源20LED+-LED 背光板電源12864A接口定義及其與C8051F020的接口電路圖見圖4.2圖4.2 接口電路KS0108采用8位數(shù)據(jù)傳送,間接控制方式。19所謂間接控制方式就是通過單片機的并行接口與液晶顯示模塊直接連接,單片機通過對這些接口的操作,實現(xiàn)對液晶顯示模塊的控制,完成相應(yīng)的顯示,可以顯示數(shù)字、字母、圖形符號及自定義符號。使用LCD做數(shù)據(jù)顯示,一旦數(shù)據(jù)寫入LCD,數(shù)據(jù)就會一直顯示在液晶屏上,不必像數(shù)碼管顯示那樣要定時掃描才能將數(shù)據(jù)顯示,

36、其顯示效果遠遠超過數(shù)碼管顯示。4.3 圖形點陣液晶顯示編碼規(guī)則4.3.1 漢字編碼規(guī)則一般地,常用點陣液晶顯示模塊的漢字字模是直接從中文系統(tǒng)漢字字庫中提取的,然后經(jīng)過格式上的調(diào)整和轉(zhuǎn)換,可以得到欲顯示的漢字字模。在畢業(yè)設(shè)計中,我用的漢字不是從字庫中提取字模,而是采用了一個字模軟件來取模(將圖形點陣轉(zhuǎn)換為計算機內(nèi)部顯示緩沖單元的數(shù)據(jù)) 。字模軟件的界面見圖 4.3。圖 4.3 字模軟件界面圖這個字模軟件使用起來相當(dāng)簡單和方便。LCD 顯示模塊顯示中文字符串中,顯示漢字(1616 點陣)必須使用圖形方式。在使用 KS0108 圖形方式時,顯示緩沖區(qū)單元與顯示屏的對應(yīng)關(guān)系見圖 4.4 所示。圖 4.

37、4 顯示緩沖區(qū)單元與顯示屏的關(guān)系520圖 4.4 所示的顯示格式與我們的習(xí)慣正好相反,如想在顯示屏上顯示 10010110,則須向 RAM 中寫入 01101001。這適應(yīng)人們的習(xí)慣,在字模軟件取模時設(shè)置“字節(jié)倒序” ,字模軟件在取模的參數(shù)設(shè)置見圖 4.5 所示。1616 漢字共有 32 個字節(jié)。這 32 字節(jié)存放方式見表 11 所示:表 11 32 字節(jié)存放方式1172181632圖 4.5 取模參數(shù)設(shè)置在取模時,須設(shè)置取模參數(shù)如圖 4.5 所示:縱向取模、字節(jié)倒序。在對字符取模時,可以根據(jù)個人需要設(shè)置不同字體和字號。不同字體和字號,取模之后得到的對應(yīng)字陣的寬和高不同,但建議最好用 1616

38、 字陣,這是為了在顯示過程中便于控制寫數(shù)據(jù)。例如:取模得到“湖”字的編碼為:/*- 文字: 湖 -*/*- 宋體 12; 此字體下對應(yīng)的點陣為:寬 x 高=16x16 -*/0 x10,0 x21,0 x86,0 x60,0 x90,0 x90,0 xFF,0 x90,0 x90,0 x00,0 xFE,0 x92,0 x92,0 xFE,0 x00,0 x00,0 x04,0 xFC,0 x03,0 x00,0 x1F,0 x10,0 x10,0 x90,0 x5F,0 x30,0 x0F,0 x40,0 x80,0 x7F,0 x00,0 x00在一個字符顯示過程中,掃描方式是按列掃描。2

39、14.3.2 圖形編碼規(guī)則圖形與字符的編碼規(guī)則一樣。但在圖形取模時,要求是位圖(文件的擴展名為BMP) ,其它類型圖形無法取模。位圖的大小為 128*64,不能超出這個范圍。例如下圖(圖 4.6)取模后所得編碼在附錄:程序代碼里 KS0108.C 部分 char code sreen3中已列出。圖 4.6 位圖圖形轉(zhuǎn)換為機內(nèi)字模之后,跟字符顯示原理一樣。在圖形的上下滾動上,是將顯示起始行地址在顯示完本屏之后增加 1;在圖形的左右移動上,相對而言要復(fù)雜得多:起始行地址不變,但由于液晶屏的列是由兩塊 KS0108 分左、右屏控制的,必須注意左、右屏的分開控制:當(dāng)在起始列在左半屏?xí)r,先從左半屏的起始

40、列寫數(shù)據(jù),寫到左半屏的第 64 列,然后從左半屏的第一列開始寫數(shù)據(jù)直到左半屏的第 64 列;當(dāng)起始列在右半屏?xí)r,左半屏不需要驅(qū)動,直接從起始列中減去 64 而得到對應(yīng)右半屏的第多少列,然后從右半屏的第多少列驅(qū)動。4.4 程序流程程序流程見圖4.7和圖4.822 初始化時鐘初始化定時器 0初始化 IO 口初始化 SPIO使能比較器 1使能片內(nèi)參考電壓使能 DAC0開中斷調(diào)用顯示子程序開始結(jié)束圖4.7 主程序流程圖 實現(xiàn)位圖左右移動靜態(tài)顯示文字實現(xiàn)位圖上下滾動靜態(tài)顯示位圖字符從右向左移動字符從上到下移動開始圖4.8 LCD測試流程圖4.5 功能實現(xiàn)LCD 初始化:void InitLCD(void

41、)/初始化 LCDchar i,j;LCD_RST=0;23Delay1ms(1);LCD_RST=1;LCD_WriteCommand1(0 xc0);LCD_WriteCommand2(0 xc0);LCD_WriteCommand1(0 x3f); /開顯示LCD_WriteCommand2(0 x3f);for (j=0;j8;j+) /清屏LCD_WriteCommand1(0 xB8+j); /清左半屏LCD_WriteCommand1(0 x40);for (i=0;i64;i+)LCD_WriteData1(0 x00);LCD_WriteCommand2(0 xB8+j);

42、/清右半屏LCD_WriteCommand2(0 x40);for (i=0;i64;i+)LCD_WriteData2(0 x00); 單個漢字顯示:void LCD_Write_A_HZ(char x,char y,char *Dot) /顯示 16*16 點陣漢字 char i;for (i=0;i32;i+) if (x+i%16)64)LCD_WriteCommand1(0 xB8+y+i/16);LCD_WriteCommand1(0 x40+x+i%16);LCD_WriteData1(Doti);else LCD_WriteCommand2(0 xB8+y+i/16);LCD_

43、WriteCommand2(0 x40+x-64+i%16);LCD_WriteData2(Doti);靜態(tài)顯示一幅位圖:24void DispBmp(char *buf) /顯示一幅位圖 int i,j;for (j=0;j8;j+) /顯示位圖 LCD_WriteCommand1(0 xB8+j); LCD_WriteCommand1(0 x40);for (i=0;i64;i+)LCD_WriteData1(buf(j*2)*64+i); LCD_WriteCommand2(0 xB8+j);LCD_WriteCommand2(0 x40);for (i=0;i64;i+)LCD_Wri

44、teData2(buf(j*2+1)*64+i);位圖上下滾動實現(xiàn):Void DispBmp_Roll(char *buf)char *Buffer; int i; Buffer=buf; DispBmp(Buffer);for (i=0;i64;i+)Delay1ms(50); LCD_WriteCommand1(0 xc0+i%64);/設(shè)置起始行,實現(xiàn)向上滾動 LCD_WriteCommand2(0 xc0+i%64); 位圖從左到右移動實現(xiàn):void DispBmp_Move(char *buf) /左右移動一幅位圖 int line,line0,row,eight; /顯示位圖 fo

45、r (row=0;row128;row+) Delay1ms(50); for (eight=0;eight8;eight+) if (row64) LCD_WriteCommand1(0 xB8+eight); LCD_WriteCommand1(0 x40+row);25 for (line=0;line+row64;line+) LCD_WriteData1(buf(eight*2)*64+line); LCD_WriteCommand2(0 xB8+eight); LCD_WriteCommand2(0 x40); for (line0=0;line0+row64;line0+) LC

46、D_WriteData2(buf(eight*2)*64+line+line0); else LCD_WriteCommand2(0 xB8+eight); LCD_WriteCommand2(0 x40+row-64); for (line0=0;line0+row-6464;line0+) LCD_WriteData2(buf(eight*2)*64+line0); 關(guān)于漢字的上下、左右移動較簡單,請參照附錄:程序代碼。5 系統(tǒng)實驗仿真我們在許多地方可以看到 LCD 顯示屏的應(yīng)用。例如空調(diào),車內(nèi)廣告,可視電話,顯示儀表盤等等,它們都是一個小型的單片機控制液晶顯示系統(tǒng)。在日常生活中,我們也可

47、以看到一些類似的由單片機控制的顯示系統(tǒng),如火車站售票大廳的候車信息顯示屏,在這些屏幕上,可以顯示各種不同的圖形、漢字等,并且可以實現(xiàn)上下滾屏與左右移動等。5.1 平臺及操作平臺準(zhǔn)備:在確認連線已接好時,將撥碼開關(guān) S1 和 S2 置于 ON 位置操作流程:建立一個新的項目文件,將程序加到這個項目文件中,編譯連接后,將程序下載到 C8051F020 中。打開 RAM 觀察窗口,運行程序。運行程序時,可單步執(zhí)行或在送數(shù)指令后加斷點觀察 RAM 存儲單元的變化,觀察加法結(jié)果是否正確。265.2 仿真及結(jié)果在 C8051F020 系統(tǒng)實驗箱上的液晶顯示屏上,我實現(xiàn)了這些動態(tài)顯示功能,特設(shè)計了以下幾個顯

48、示場景:(1)場景一:第一個場景是在液晶顯示屏上靜態(tài)顯示位圖,如圖 5.1 所示: 圖 5.1 位圖上下滾動在這個場景中,是對位圖 128*64 的模仿上下滾動。(2)場景二:第二個場景顯示的內(nèi)容較少,只有幾個字“湖南理工學(xué)院計算機與信息工程系單片機液晶顯示系統(tǒng)設(shè)計-圖形動態(tài)顯示研究” ,是靜態(tài)的顯示效果如圖 5.2 所示:號 圖 5.2 漢字(3)場景三第三個場景是圖形動態(tài)顯示模擬,它們是從左向右推出的,一直移動到顯示屏最右端。具體如圖 5.3 所示: 圖 5.3 位圖右移 (4)場景四第四個場景是靜態(tài)顯示一幅位圖如圖 5.4 27圖 5.4 位圖顯示(5)場景五這個場景是實現(xiàn)對字符的動態(tài)顯示如圖 5.5。我用的是“湖南”與“湘”這三個漢字來模仿的。讓“湖南”兩個字縱向排列,從右向左移動;“湘”字從上下落到液晶屏的底部。在這些場景中,液晶顯示屏上顯示的漢字,我是把它當(dāng)作圖形來顯示的,漢字和圖形的字模我是借助字模軟件取模的,并沒有自己去設(shè)計漢字和圖形的字模。當(dāng)然這樣做省了不少的事,就我個人來看,把大量的時間分配在接口的編程上和如何利用 C 語言實現(xiàn)接口是更有價值的。 圖 5.5 字符串移動由于這種型號液晶屏的觀察角度不同,一般采用成 45 度的角度來觀察為最好,直視比較黑而且圖像不明顯,所以在系統(tǒng)仿真實驗中,我沒有取到最佳圖形???結(jié)液晶顯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論