孫興(安徽新華學(xué)院,安徽 合肥 230088)
在基于51單片機(jī)的TFT液晶顯示硬件設(shè)計(jì)部分,主要包括液晶顯示電路、溫度采集電路、時(shí)鐘電路單片機(jī)最小系統(tǒng)等幾個(gè)模塊,各模塊具體設(shè)計(jì)如下:
根據(jù)TFT液晶顯示器硬件電路設(shè)計(jì)要求,對(duì)于51單片機(jī)最小系統(tǒng)的設(shè)計(jì)應(yīng)包括電源、設(shè)置電路、外部晶振、復(fù)位電路等,以STC89C51單片機(jī)為例,這幾個(gè)模塊基本上就可以保證單片機(jī)的正常工作了。在單片機(jī)最小系統(tǒng)的運(yùn)行過(guò)程中,時(shí)鐘電路與溫度采集電路分別負(fù)責(zé)時(shí)間信息及溫度信息的采集,設(shè)置電路根據(jù)上述采集結(jié)果完成相關(guān)設(shè)置工作,最終將所得數(shù)據(jù)顯示在液晶顯示電器中,供給客戶查看使用。
對(duì)于時(shí)鐘電路的設(shè)計(jì),采用充電式時(shí)鐘芯片DS1302,電路結(jié)構(gòu)如圖4所示。該芯片內(nèi)部嵌入有31字節(jié)的靜態(tài)存儲(chǔ)器和實(shí)時(shí)的時(shí)鐘、日歷,可以對(duì)液晶顯示屏上的日期、時(shí)間進(jìn)行實(shí)時(shí)顯示和實(shí)時(shí)更新,是TFT液晶顯示器硬件部分的一個(gè)重要組成部分。將時(shí)鐘芯片DS1302通過(guò)51單片機(jī)的不同接口實(shí)現(xiàn)與其之間的相互通信,通常只需用到I/O輸入輸出接口、RES復(fù)位接口和SCLK串行時(shí)鐘三個(gè)接口即可,而通信方式采用同步串行通信即可。利用時(shí)鐘芯片讀取單片機(jī)上存儲(chǔ)的日期信息(年月日)和時(shí)間信息(時(shí)分秒)。由于在單片機(jī)內(nèi)部存儲(chǔ)有事先編寫好的獲取時(shí)間信息程序,可以實(shí)現(xiàn)對(duì)不同年份、月份天數(shù)的準(zhǔn)確計(jì)算,實(shí)現(xiàn)平年與閏年的有效識(shí)別,且最晚年限可以自由設(shè)置,如2100年、2150年等,這樣TFT液晶顯示器對(duì)于日期和時(shí)間的計(jì)算就變得非常方便?;贒S1302芯片所設(shè)計(jì)的時(shí)鐘電路,由于其擁有雙電源管腳,可以作為主電源和備用電源的供應(yīng),因而在液晶顯示器實(shí)際使用過(guò)程中所產(chǎn)生的功耗較小,不需要增加額外的電阻、電容,在一定程度上降低系統(tǒng)功耗。
基于51單片機(jī)的TFT液晶顯示設(shè)計(jì),對(duì)于顯示芯片的選擇可以多種多樣,本文在總結(jié)一些設(shè)計(jì)實(shí)例和研究資料基礎(chǔ)上,決定選用ILI9325芯片作為TFT液晶顯示的芯片。這種芯片內(nèi)部安裝有173k的數(shù)據(jù)存儲(chǔ)器,最高可以顯示26萬(wàn)種顏色,且支持320×240的實(shí)際分辨率,支持多數(shù)據(jù)位的i80系統(tǒng)總線(8位、16位等)、SPI總線和RGB接口,能夠較好的滿足基于51單片機(jī)的TFT液晶顯示模塊設(shè)計(jì)要求。使用ILI9325芯片對(duì)TFT液晶顯示器顯示模塊進(jìn)行設(shè)計(jì)時(shí),通常情況下,用總線式接口電路的液晶顯示器來(lái)代替外部數(shù)據(jù)存儲(chǔ)器,并將對(duì)液晶顯示器的訪問(wèn)和對(duì)數(shù)據(jù)存儲(chǔ)器的訪問(wèn)視為一樣,這樣有利于促進(jìn)51單片機(jī)總線讀寫功能的最大化發(fā)揮,同時(shí)可以在一定程度上提高單片機(jī)系統(tǒng)的可擴(kuò)展性。
溫度采集電路采用DS18B20芯片,這是一種數(shù)字溫度計(jì),一種單總線器件,具有體積小、結(jié)構(gòu)簡(jiǎn)單的特點(diǎn),只需要使用一根通信線就可以實(shí)現(xiàn)與多個(gè)DS18B20芯片的連接,可以在保證溫度采集功能正常實(shí)現(xiàn)的基礎(chǔ)上簡(jiǎn)化溫度采集電路結(jié)構(gòu)。DS18B20芯片的溫度測(cè)量范圍在-55℃到125℃之間,可以設(shè)置上、下限告警溫度,對(duì)于數(shù)據(jù)信息的讀寫僅通過(guò)一個(gè)端口就可以實(shí)現(xiàn)。
TFT液晶顯示器的主程序主要是用于對(duì)各個(gè)子程序進(jìn)行初始化、按鍵掃描、讀取顯示程序中的所有內(nèi)容和各個(gè)芯片中的數(shù)據(jù),它的正常運(yùn)行是整個(gè)液晶顯示系統(tǒng)各模塊正常工作的前提基礎(chǔ)與基本保障。首先,對(duì)系統(tǒng)內(nèi)不同的元器件進(jìn)行初始化,然后對(duì)鍵盤進(jìn)行掃描,判斷系統(tǒng)是否有按鍵操作,若有對(duì)按鍵子程序進(jìn)行處理,否則依次執(zhí)行時(shí)鐘子程序,即DS1302子程序,溫度采集處理子程序,最后將各個(gè)子程序的處理結(jié)果顯示在液晶顯示器上,完成主程序的運(yùn)行。
液晶顯示程序的設(shè)計(jì)較之其他模塊設(shè)計(jì)來(lái)說(shuō)總體難度較大,因而為了保證顯示程序設(shè)計(jì)的合理性,保證系統(tǒng)顯示功能正常發(fā)揮,我們?cè)谠O(shè)計(jì)之前有必要先對(duì)其中主要難點(diǎn)進(jìn)行分析和明確。由于顯示驅(qū)動(dòng)芯片中寄存器數(shù)量一般較多,且較為復(fù)雜,如本系統(tǒng)所使用的ILI9325芯片寄存器數(shù)量超出40,不僅寄存器數(shù)量多,而且在使用過(guò)程中會(huì)被初始化程序和其他程序用到,為了保證各寄存器均能夠正常工作,在寫入數(shù)據(jù)時(shí)需要對(duì)其范圍進(jìn)行合理的確定。由于數(shù)據(jù)寫入范圍的確定是在寄存器中完成的,寄存器數(shù)量越多則確定范圍難度就越大,所以這是顯示程序設(shè)計(jì)中的難點(diǎn)之一。就本系統(tǒng)而言,對(duì)于數(shù)據(jù)寫入范圍的確定,需要充分考慮51單片機(jī)的運(yùn)行特點(diǎn),所使用的各種芯片類型和TFT液晶顯示器總體設(shè)計(jì)要求,以及TFT液晶顯示器具體的應(yīng)用場(chǎng)合,如電腦、液晶電視等。對(duì)于大尺寸的液晶顯示屏數(shù)據(jù)寫入范圍應(yīng)設(shè)置較大一些,對(duì)于小尺寸的液晶屏,數(shù)據(jù)寫入范圍可以設(shè)置較小一些。
本系統(tǒng)所涉及到的子程序主要有按鍵處理子程序、溫度采集子程序和時(shí)鐘處理子程序等。由于在DS1302芯片中本身已經(jīng)自定義有讀取寫入數(shù)據(jù)的函數(shù),在系統(tǒng)實(shí)際運(yùn)行過(guò)程中,通過(guò)調(diào)用這一函數(shù),便可以實(shí)現(xiàn)對(duì)時(shí)鐘芯片中實(shí)際顯示的日期、時(shí)間的合理設(shè)置,提高系統(tǒng)日期、時(shí)間信息顯示的合理性。在此基礎(chǔ)上,調(diào)用鍵盤掃描程序,利用主函數(shù)中編寫的讀取函數(shù)對(duì)時(shí)鐘子程序進(jìn)行進(jìn)一步處理,能夠提高時(shí)間信息讀取函數(shù)的有效利用率。按鍵處理子程序的設(shè)計(jì)和調(diào)用,主要是為了檢測(cè)系統(tǒng)在運(yùn)行過(guò)程中是否有按鈕被依次有效的按下,只有確定有效的第一鍵被按下,系統(tǒng)才會(huì)正常開(kāi)啟后續(xù)按鍵功能的執(zhí)行和對(duì)應(yīng)按鍵處理子程序的調(diào)用,進(jìn)而實(shí)現(xiàn)液晶顯示系統(tǒng)的正常運(yùn)行。
與其他子程序一樣,溫度采集子程序的設(shè)計(jì)和運(yùn)行也必須要按照既定的流程和順序來(lái)進(jìn)行。根據(jù)基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)要求和基于DS18B20芯片的溫度采集電路設(shè)計(jì),溫度采集子程序的設(shè)計(jì)首先應(yīng)對(duì)DS18B20芯片進(jìn)行總體初始化,初始化之后執(zhí)行程序存儲(chǔ)器的不同操作,直到程序存儲(chǔ)器發(fā)出具體的指令后,溫度采集子系統(tǒng)才能夠?qū)囟葦?shù)據(jù)完整的、準(zhǔn)確的讀取出來(lái),最終完成溫度信息的采集和返回。為了滿足用戶日常使用需求,對(duì)于TFT液晶顯示系統(tǒng)溫度采集子程序的設(shè)計(jì),應(yīng)用定時(shí)器0來(lái)設(shè)置中斷,并每秒對(duì)總體溫度讀取一次,保證用戶當(dāng)前所看到的溫度就是其當(dāng)前所處環(huán)境的溫度。
本文主要對(duì)基于51單片機(jī)的TFT液晶顯示的硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行了相關(guān)闡述,通過(guò)對(duì)51單片機(jī)結(jié)構(gòu)功能的了解,對(duì)TFT技術(shù)的了解,較好的實(shí)現(xiàn)了基于51單片機(jī)TFT液晶顯示各模塊的設(shè)計(jì),各種信息可以完整的、實(shí)時(shí)的顯示在液晶顯示器上。但隨著TFT技術(shù)和單片機(jī)的不斷革新發(fā)展,基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)還需不斷改進(jìn)。
[1]許思達(dá). 基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)[J]. 電子元器件應(yīng)用,2010,10:38-40+44
[2]李夢(mèng). 基于51單片機(jī)的TFT液晶顯示設(shè)計(jì)分析[J]. 科技創(chuàng)新導(dǎo)報(bào),2016,05:40-42