李夢(mèng)
摘 要:近年來(lái),隨著我國(guó)計(jì)算機(jī)網(wǎng)絡(luò)、軟件等技術(shù)的不斷發(fā)展,更多的儀器設(shè)備開(kāi)始朝向智能化、自動(dòng)化的方向發(fā)展。新的儀器設(shè)備顯示終端的圖文、數(shù)據(jù)變得更加精準(zhǔn),同時(shí)也更加方便查看。該文主要分析了基于51單片機(jī)的TFT液晶顯示的設(shè)計(jì),分別重點(diǎn)從顯示器的硬件設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)兩個(gè)方面來(lái)進(jìn)行,同時(shí)結(jié)合實(shí)際的數(shù)據(jù)和具體的設(shè)計(jì)圖標(biāo)分析,進(jìn)行了詳細(xì)而綜合性的相關(guān)闡述。
關(guān)鍵詞:51單片機(jī) TFT液晶顯示 設(shè)計(jì) 分析
中圖分類(lèi)號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)02(b)-0040-03
我國(guó)計(jì)算機(jī)的應(yīng)用和軟件系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)在不斷加強(qiáng),極大地推動(dòng)了以電子元件為主體的銷(xiāo)售市場(chǎng)。而51單片機(jī)作為一種非常常見(jiàn)的單片機(jī),盡管在內(nèi)部資源的存儲(chǔ)和相關(guān)數(shù)據(jù)的處理速度上遠(yuǎn)不及一些最新的高度單片機(jī),但是以其廉價(jià)和適用范圍廣泛的優(yōu)勢(shì),同時(shí)受到廣大開(kāi)發(fā)者的一致好評(píng)。其中51單片機(jī)是最常用的TFT液晶顯示的方法,故該文主要探討的就是基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)。通過(guò)對(duì)于硬件系統(tǒng)設(shè)計(jì)中最小系統(tǒng)、TFT液晶顯示、時(shí)鐘、溫度采集以及電路設(shè)置的分析,還有軟件系統(tǒng)設(shè)計(jì)的分析,包括主程序設(shè)計(jì)、系統(tǒng)顯示子程序設(shè)計(jì)以及芯片子程序設(shè)計(jì)等,進(jìn)一步了解整個(gè)液晶顯示的設(shè)計(jì)過(guò)程。
1 硬件設(shè)計(jì)分析
基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)的系統(tǒng)硬件電路中,大致包含單片機(jī)最小系統(tǒng)、TFT液晶顯示電路、設(shè)置電路、時(shí)鐘電路和溫度采集電路等幾個(gè)重要的組成部分,如圖1所示。
1.1 51單片機(jī)的最小系統(tǒng)
單片機(jī)最小系統(tǒng)主要包含了外部晶振和電源,以及復(fù)位電路等,在這些基本條件的共同作用下,就能夠保證整個(gè)單片機(jī)系統(tǒng)的正常運(yùn)轉(zhuǎn)了,也更加方便控制整個(gè)系統(tǒng)。從DS18B20的實(shí)際芯片溫度數(shù)據(jù)中,可以將DS1302的芯片數(shù)據(jù)進(jìn)行讀取或?qū)懭?,形成日歷和時(shí)鐘數(shù)據(jù),經(jīng)過(guò)相應(yīng)的檢測(cè)程序來(lái)檢驗(yàn)是否需要進(jìn)行按鍵或者相應(yīng)的一些操作。最后在顯示驅(qū)動(dòng)芯片中寫(xiě)入相應(yīng)的數(shù)據(jù),就可以在整個(gè)TFT液晶顯示屏幕上將所需的內(nèi)容全部顯示出來(lái)了。
1.2 TFT液晶顯示電路
根據(jù)調(diào)查和相應(yīng)的研究表明,TFT液晶顯示的芯片可以有很多種不同的選擇,該文當(dāng)中筆者所采用的一種ILI9325的芯片,這個(gè)芯片可以支持320×240(QVGA)的實(shí)際分辨率,同時(shí)在它的內(nèi)部安置了173 kB的RAM,所以它的最高顯示能夠達(dá)到26萬(wàn)色。其中ILI9325所支持的一種接口方式是8/9/16/18位i80的系統(tǒng)總線(xiàn),SPI總線(xiàn)、RGB和VSYNC的接口。通常情況下會(huì)將外部數(shù)據(jù)存儲(chǔ)器用總線(xiàn)式接口的電路的液晶顯示器進(jìn)行代替,在實(shí)際的工作過(guò)程中,可以將訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)器的單元和訪(fǎng)問(wèn)液晶顯示器看成一樣,從而將51單片機(jī)的總線(xiàn)的讀寫(xiě)功能發(fā)揮到最佳的優(yōu)勢(shì)程度上,以便于更好、更快地?cái)U(kuò)展和升級(jí)。
1.3 時(shí)鐘顯示電路
時(shí)鐘顯示電路主要是由DS1302芯片構(gòu)成的,它是一種充電時(shí)鐘芯片,內(nèi)部包含了實(shí)時(shí)時(shí)鐘或日歷以及31字節(jié)靜態(tài)RAM,通過(guò)不同單片機(jī)的接口進(jìn)行通信。利用芯片可以獲取秒、分、時(shí)和日、月、年等具體的時(shí)間信息,系統(tǒng)可以按照實(shí)際每月的天數(shù)甚至閏年的實(shí)際天數(shù)來(lái)進(jìn)行不同的計(jì)算,時(shí)間可達(dá)2100年,使用起來(lái)非常方便,而且系統(tǒng)在實(shí)際的運(yùn)行過(guò)程中所需要消耗的功量也比較低,不需要額外進(jìn)行電容或者電阻的接入。
1.4 溫度采集電路
該文中的溫度采集電路主要使用的是DS18B20數(shù)字溫度計(jì),這個(gè)芯片的電路設(shè)計(jì)非常簡(jiǎn)單而且體積也非常小,因此所組合而成的測(cè)溫系統(tǒng)線(xiàn)路也是非常簡(jiǎn)單的類(lèi)型,僅僅需要簡(jiǎn)單的通信線(xiàn)就能夠?qū)⒍鄠€(gè)DS18B20數(shù)字溫度計(jì)進(jìn)行很好的連接,不但用一個(gè)端口就能完成所有數(shù)據(jù)的讀取和寫(xiě)入,同時(shí)每個(gè)芯片都有一個(gè)專(zhuān)屬的序列號(hào),可以?huà)燧d多個(gè)芯片。在實(shí)際的設(shè)計(jì)過(guò)程中,數(shù)字溫度計(jì)的實(shí)際溫度一般控制在-55 ℃~125 ℃的范圍內(nèi),需要注意的是一定要設(shè)定告警溫度,將其實(shí)際的分辨率設(shè)定為9~12位。該芯片與實(shí)際的單片機(jī)的電路連接。
1.5 電路設(shè)置
電路設(shè)置的最主要功能就是能夠把時(shí)間和日期與當(dāng)前的實(shí)際情況同步,使得最終的時(shí)間和日期能夠反應(yīng)當(dāng)下的基本情況,這樣才能更加有利于用戶(hù)的使用。在此次基于51單片機(jī)的液晶顯示設(shè)計(jì)中,主要是通過(guò)3個(gè)按鍵來(lái)完成這一功能的。第一次按鍵可以設(shè)定為主要內(nèi)容的更改,當(dāng)時(shí)鐘停止并出現(xiàn)某一個(gè)指示符時(shí),可以將系統(tǒng)依次更改為秒、分、時(shí)、日、月、年和星期等,這樣在實(shí)際的使用過(guò)程中自行調(diào)整系統(tǒng)時(shí)間。當(dāng)?shù)谝淮卧O(shè)置結(jié)束以后,可以再次按下第二個(gè)按鍵,時(shí)鐘又會(huì)恢復(fù)繼續(xù)運(yùn)行的狀態(tài),而且指示符也會(huì)消失,這樣用戶(hù)可以更加靈活地進(jìn)行時(shí)間的調(diào)節(jié)了。但是需要特別注意的是,只有在調(diào)節(jié)狀態(tài)下才能按下“+”或者“-”的按鈕,否則是無(wú)法起到任何效果的。
2 軟件系統(tǒng)設(shè)計(jì)分析
軟件系統(tǒng)的設(shè)計(jì)構(gòu)成主要包含了顯示子程序和DS1302芯片子程序、DS8B20芯片子程序,同樣還包含按鍵處理主程序有子程序。其中按鍵處理主程序被用來(lái)進(jìn)行設(shè)備的初始化,然后通過(guò)鍵盤(pán)掃描的程序,在同時(shí)進(jìn)行時(shí)間以及溫度的顯示,最后再調(diào)用顯示的子程序。主要利用DS1302芯片子程序來(lái)讀取在內(nèi)部存儲(chǔ)中的時(shí)間和日期,在鍵盤(pán)相應(yīng)時(shí)將實(shí)際的數(shù)據(jù)存放到內(nèi)部存儲(chǔ)器中,需要注意的是期間會(huì)有一定的時(shí)間間隔。
2.1 系統(tǒng)主程序的設(shè)計(jì)
在主程序完成了對(duì)各種不同器件的初始化之后,開(kāi)始執(zhí)行鍵盤(pán)掃描,將芯片數(shù)據(jù)和顯示程序中的內(nèi)容進(jìn)行全面讀取,主程序的整個(gè)設(shè)計(jì)流程圖如圖2所示。
2.2 系統(tǒng)顯示程序的設(shè)計(jì)
系統(tǒng)顯示程序的設(shè)計(jì)在總體設(shè)計(jì)過(guò)程中存在一定的難點(diǎn),首先,一般情況下顯示驅(qū)動(dòng)芯片的寄存器中相對(duì)比較復(fù)雜,如ILI9325的寄存器要超過(guò)40個(gè),這些寄存器不單會(huì)被初始化程序使用,同樣也會(huì)被其他的程序用到,在實(shí)際的數(shù)據(jù)寫(xiě)入過(guò)程中要進(jìn)行范圍確定。其次,在顯示屏上輸入的內(nèi)容都是要通過(guò)手動(dòng)的方式進(jìn)行編寫(xiě),如在1602液晶和12864液晶顯示屏幕上輸入一些英文字母、數(shù)字或者中文的一些內(nèi)容等,都是需要利用現(xiàn)有指令錄入,然而實(shí)際的ILI9325卻沒(méi)有字庫(kù),因而該文中所采用的是字模軟件。通過(guò)軟件來(lái)生成任意大小字塊并進(jìn)行圖片取模,型號(hào)字母尺寸在40×46,而數(shù)字的大小為16×31,在不同的索引程序條件判斷中明確區(qū)分。
2.3 DS1302子程序和按鍵處理子程序的設(shè)計(jì)
由于DS1302的時(shí)鐘日期芯片的實(shí)際子程序中,已經(jīng)自定義讀取了寫(xiě)入數(shù)據(jù)的實(shí)際函數(shù),利用這一數(shù)據(jù)函數(shù)可以將芯片中實(shí)際的顯示日期和時(shí)間函數(shù)進(jìn)行合理化設(shè)置。再通過(guò)鍵盤(pán)掃描程序的利用,使得主函數(shù)中的實(shí)際讀取函數(shù)可以被有效地使用。利用按鍵來(lái)進(jìn)行子程序的處理,一個(gè)很重要的目的就是為了可以依次判斷按鈕是否被有效地按下了,只有明確了第一鍵已經(jīng)被有效地按下去了,從而正常開(kāi)啟第二或者第三鍵。在這里我們需要特別注意的就是當(dāng)開(kāi)始按動(dòng)了第一個(gè)功能鍵,那么一定要將DS1302的讀寫(xiě)功能關(guān)閉,與此同時(shí)要將實(shí)際的保護(hù)功能打開(kāi)。
2.4 DS18B20芯片子程序的設(shè)計(jì)
DS18B20芯片實(shí)際上是一種用于溫度采集的芯片。在實(shí)際的溫度采集工作過(guò)程中,同樣需要按照不同的流程來(lái)有秩序地進(jìn)行。第一,可以將芯片總體進(jìn)行初始化,第二,進(jìn)行ROM的不同操作,當(dāng)存儲(chǔ)器發(fā)出了具體的操作指令以后,才能夠完整地將總體的溫度讀取出來(lái)。在具體的設(shè)計(jì)環(huán)節(jié)中,所使用的是定時(shí)器0中斷,在每過(guò)去一秒鐘的時(shí)候?qū)⒖傮w的溫度讀取一次,這樣就能夠基本上滿(mǎn)足人們的日常生活需求了。
3 結(jié)語(yǔ)
綜上所述,該文主要論述的是在51單片機(jī)的基礎(chǔ)上實(shí)現(xiàn)了TFT液晶顯示設(shè)計(jì)的需求,使得具體的日期和時(shí)間,以及實(shí)際的溫度變化情況都能夠很好地被顯示出來(lái)。通過(guò)對(duì)于硬件系統(tǒng)設(shè)計(jì)中最小系統(tǒng)分析、TFT液晶顯示分析、時(shí)鐘分析、溫度采集分析以及電路設(shè)置的分析,還有軟件系統(tǒng)設(shè)計(jì)的分析,包括主程序設(shè)計(jì)、系統(tǒng)顯示子程序設(shè)計(jì)以及芯片子程序設(shè)計(jì)等,進(jìn)一步清晰了整個(gè)液晶顯示的設(shè)計(jì)過(guò)程。在實(shí)際的操作過(guò)程中,我們可以看到的是如果利用TFT液晶顯示,就可以更加靈活而生動(dòng)地展現(xiàn)所要顯示的具體內(nèi)容,同時(shí)這在很大程度上也滿(mǎn)足了未來(lái)的發(fā)展趨勢(shì)。
參考文獻(xiàn)
[1]紀(jì)松波,侯婷.智能液晶觸摸顯示終端與單片機(jī)接口的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010(33):16-18.
[2]丁昊,宋杰,關(guān)鍵.基于TFT彩屏液晶的便攜數(shù)字存儲(chǔ)示波器[J].現(xiàn)代電子技術(shù),2010(33):166-169.
[3]許思達(dá).基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)[J].電子元器件應(yīng)用,2010(12):38-40,44.
[4]陳一鳴.基于51單片機(jī)的圖形液晶顯示器漢字顯示方法分析[J].自動(dòng)化與儀器儀表,2011(6):70-71.
[5]周莉,馬秉偉.MCS51單片機(jī)與DSP的串行通信及液晶顯示系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2014(4):51-52.
[6]何運(yùn)田,黃繼攀,郭振義,等.環(huán)境參數(shù)測(cè)量系統(tǒng)及其液晶顯示設(shè)計(jì)[J].南開(kāi)大學(xué)學(xué)報(bào):自然科學(xué)版,2014(2):30-33.
[7]張霞,周克,何威,等.基于MCS-51單片機(jī)的液晶顯示設(shè)計(jì)[J].現(xiàn)代機(jī)械,2014(3):71-74.
[8]張志霞,苑璐,郭帥.基于單片機(jī)控制的液晶彩屏TFT顯示原理及應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2014(33):33-37,57.
[9]高潮.TFT液晶顯示驅(qū)動(dòng)電路與電源優(yōu)化設(shè)計(jì)方法[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(2):14-18.