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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18、業(yè)溫度范圍(-45+85)內(nèi)用 2.7V3.6V 的電壓工作。端CoCo口 I/O、/RST、和 JTAG 引腳都容許 5V 的輸入信號(hào)電壓。C8051020 為 100 腳 TQFP 封裝(見(jiàn)圖 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 的匯編器和編譯器進(jìn)行軟件開(kāi)發(fā)。CIP-51TM內(nèi)核具有標(biāo)準(zhǔn) 8052 的所有外設(shè)部件,包括 5 個(gè) 16 位的計(jì)數(shù)器/定時(shí)器、兩個(gè)全雙工

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

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

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

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

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

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

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

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

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

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

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

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

31、T狀態(tài)時(shí),除讀狀態(tài)指令外,其它指令均不對(duì)KS0108產(chǎn)生作用。在對(duì)KS0108操作之前要查詢BUSY狀態(tài),以確定是否可以對(duì)KS0108進(jìn)行操作。3.6.6 寫(xiě)數(shù)據(jù)指令見(jiàn)表9表9 寫(xiě)數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1 寫(xiě) 數(shù) 據(jù)3.6.7讀數(shù)據(jù)指令見(jiàn)表10表10 讀數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1 讀 顯 示 數(shù) 據(jù)讀、寫(xiě)數(shù)據(jù)指令每執(zhí)行完一次讀、寫(xiě)操作,列地址就自動(dòng)增一,必須注意的是,進(jìn)行讀、寫(xiě)操作之前,必須有一次空讀操作,緊接著再讀才會(huì)讀出所要讀的單元中的數(shù)據(jù)。本節(jié)主要是介紹液晶顯示控

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

33、FH。列地址范圍為:40H7FH。數(shù)據(jù)為縱向讀寫(xiě),即每頁(yè)的第一行對(duì)應(yīng)D0 第八行對(duì)應(yīng)D7。左、右半屏由CS1、CS2選擇??刂破鱇S0108 的指令相對(duì)簡(jiǎn)單,總共七條指令:顯示開(kāi)關(guān)設(shè)定(3EH/ 3FH),顯示起始行設(shè)定(C0H /FFH),頁(yè)地址設(shè)定(B8H/ BFH),列地址設(shè)定(40H/ 7FH)狀態(tài)讀取,寫(xiě)數(shù)據(jù),讀數(shù)據(jù)。12864 點(diǎn)陣式液晶模塊的邏輯圖見(jiàn)圖 4.14圖4.1 液晶模塊邏輯圖4.2 液晶顯示模塊外部接口外部接口信號(hào)見(jiàn)表 11表 11 外部接口信號(hào)管腳號(hào)管腳名稱LEVER管腳功能描述1Vss0電源地2Vdd+0.5V電源電壓3V0液晶顯示器驅(qū)動(dòng)電壓4D/IH/LD/I=“

34、H” ,表示 DB7DB0 為顯示數(shù)據(jù)D/I=“L” ,表示 DB7DB0 為顯示指令數(shù)據(jù)5R/WH/LR/W=“H” ,E=“H”數(shù)據(jù)被讀到 DB0DB7R/W=“H” ,E=“HL”數(shù)據(jù)被寫(xiě)到 IR 或 DR6EH/LR/W=“L” ,E 信號(hào)下降沿鎖存 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:選擇芯片(右半屏)信號(hào)16CS2H/LH:選擇芯片(左半屏)信號(hào)17RSTH

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

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

37、式與我們的習(xí)慣正好相反,如想在顯示屏上顯示 10010110,則須向 RAM 中寫(xiě)入 01101001。這適應(yīng)人們的習(xí)慣,在字模軟件取模時(shí)設(shè)置“字節(jié)倒序” ,字模軟件在取模的參數(shù)設(shè)置見(jiàn)圖 4.5 所示。1616 漢字共有 32 個(gè)字節(jié)。這 32 字節(jié)存放方式見(jiàn)表 11 所示:表 11 32 字節(jié)存放方式1172181632圖 4.5 取模參數(shù)設(shè)置在取模時(shí),須設(shè)置取模參數(shù)如圖 4.5 所示:縱向取模、字節(jié)倒序。在對(duì)字符取模時(shí),可以根據(jù)個(gè)人需要設(shè)置不同字體和字號(hào)。不同字體和字號(hào),取模之后得到的對(duì)應(yīng)字陣的寬和高不同,但建議最好用 1616 字陣,這是為了在顯示過(guò)程中便于控制寫(xiě)數(shù)據(jù)。例如:取模得到“湖

38、”字的編碼為:/*- 文字: 湖 -*/*- 宋體 12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 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在一個(gè)字符顯示過(guò)程中,掃描方式是按列掃描。4.3.2 圖形編碼規(guī)則圖形與字符的編碼規(guī)則一樣。但在圖形取模時(shí)

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

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

41、s(1);LCD_RST=1;LCD_WriteCommand1(0 xc0);LCD_WriteCommand2(0 xc0);LCD_WriteCommand1(0 x3f); /開(kāi)顯示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); /清右半屏LCD_WriteCommand2(0 x40);for (i=

42、0;i64;i+)LCD_WriteData2(0 x00); 單個(gè)漢字顯示:void LCD_Write_A_HZ(char x,char y,char *Dot) /顯示 16*16 點(diǎn)陣漢字 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_WriteCommand2(0 x40+x-64+i%16);LCD_Wr

43、iteData2(Doti);靜態(tài)顯示一幅位圖:void 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_WriteData2(buf(j*2+1)*64+i);位圖上下滾動(dòng)實(shí)現(xiàn):Void

44、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è)置起始行,實(shí)現(xiàn)向上滾動(dòng) LCD_WriteCommand2(0 xc0+i%64); 位圖從左到右移動(dòng)實(shí)現(xiàn):void DispBmp_Move(char *buf) /左右移動(dòng)一幅位圖 int line,line0,row,eight; /顯示位圖 for (row=0;row128;row+) Delay1ms(50); for

45、 (eight=0;eight8;eight+) if (row64) LCD_WriteCommand1(0 xB8+eight); LCD_WriteCommand1(0 x40+row); 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+) LCD_WriteData2(buf(eight*2)*64+line+line0);

46、 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)于漢字的上下、左右移動(dòng)較簡(jiǎn)單,請(qǐng)參照附錄:程序代碼。5 系統(tǒng)實(shí)驗(yàn)仿真我們?cè)谠S多地方可以看到 LCD 顯示屏的應(yīng)用。例如空調(diào),車(chē)內(nèi)廣告,可視電話,顯示儀表盤(pán)等等,它們都是一個(gè)小型的單片機(jī)控制液晶顯示系統(tǒng)。在日常生活中,我們也可以看到一些類似的由單片機(jī)控制的顯示系統(tǒng),如火車(chē)站售票大廳的候車(chē)信息顯示屏,在這些屏

47、幕上,可以顯示各種不同的圖形、漢字等,并且可以實(shí)現(xiàn)上下滾屏與左右移動(dòng)等。5.1 平臺(tái)及操作平臺(tái)準(zhǔn)備:在確認(rèn)連線已接好時(shí),將撥碼開(kāi)關(guān) S1 和 S2 置于 ON 位置操作流程:建立一個(gè)新的項(xiàng)目文件,將程序加到這個(gè)項(xiàng)目文件中,編譯連接后,將程序下載到 C8051F020 中。打開(kāi) RAM 觀察窗口,運(yùn)行程序。運(yùn)行程序時(shí),可單步執(zhí)行或在送數(shù)指令后加斷點(diǎn)觀察 RAM 存儲(chǔ)單元的變化,觀察加法結(jié)果是否正確。5.2 仿真及結(jié)果在 C8051F020 系統(tǒng)實(shí)驗(yàn)箱上的液晶顯示屏上,我實(shí)現(xiàn)了這些動(dòng)態(tài)顯示功能,特設(shè)計(jì)了以下幾個(gè)顯示場(chǎng)景:(1)場(chǎng)景一:第一個(gè)場(chǎng)景是在液晶顯示屏上靜態(tài)顯示位圖,如圖 5.1 所示: 圖

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論