基于51單片機設(shè)計的TFT液晶顯示
0 引言
51單片機作為一種常見的通用單片機, 雖然其內(nèi)部資源, 處理速度等都無法與新型高速單片機相提并論, 但其低廉的價格, 極低的入門難度以及適用于簡單場合應(yīng)用等特點, 依然是開發(fā)者的常用選擇之一。
用51單片機驅(qū)動液晶模塊通常都使用1602和12864等極為簡單的液晶模塊, 這里介紹用51單片機驅(qū)動QVGA分辨率的TFT液晶模塊, 以實現(xiàn)彩色和更為復(fù)雜的內(nèi)容顯示的方法。同時, 本文還將使用DS1302芯片和DS18B20芯片來實現(xiàn)在液晶屏上顯示實時時鐘和溫度。
1 硬件設(shè)計
本系統(tǒng)硬件電路的設(shè)計主要包括單片機最小系統(tǒng)電路, TFT液晶顯示電路, 時鐘電路, 設(shè)置電路以及溫度采集電路。其系統(tǒng)工作原理框圖如圖1所示。
圖1 硬件系統(tǒng)原理框圖
1.1 單片機最小系統(tǒng)
一個單片機的最小系統(tǒng)包括外部晶振、電源、復(fù)位電路等, 這是保證單片機正常工作的必要條件。通過單片機可控制整個系統(tǒng), 包括讀取DS18B20芯片的溫度數(shù)據(jù), 讀取/寫入DS1302芯片的日歷時鐘數(shù)據(jù), 檢測是否有按鍵按下并進行相應(yīng)的操作, 最后還要向顯示驅(qū)動芯片寫入數(shù)據(jù),以使得TFT液晶屏上能夠顯示所需的內(nèi)容。
1.2 液晶顯示電路
驅(qū)動TFT液晶面板的芯片有多種選擇, 本文使用的是臺灣奕力科技的ILI9325芯片。該芯片能夠支持320×240 (QVGA) 分辨率, 同時內(nèi)置173KB的RAM, 故其最高能顯示26萬色。ILI9325支持的接口方式有8/9/16/18位i80系統(tǒng)總線、SPI總線、RGB接口和VSYNC接口。它的總線式接口電路方式是把液晶顯示器看作外部的數(shù)據(jù)存儲器,它訪問液晶顯示器就像訪問數(shù)據(jù)存儲器的一個單元一樣, 采用這種方式能充分發(fā)揮單片機的總線讀寫功能優(yōu)勢, 而且便于升級和擴展。由于本文采用的STC89C54RD+單片機并沒有SPI總線, 因此, 為了節(jié)約IO的使用, 本文最終采用8位系統(tǒng)總線的方式來連接ILI9325芯片。其顯示部分電路如圖2所示。
圖2 顯示部分電路圖
圖2中, 除P0口用作8位總線傳輸數(shù)據(jù)以外,還需要5個額外的IO口分別用作驅(qū)動芯片的片選(CS), 復(fù)位(RESET), 命令/數(shù)據(jù)選擇位(RS), 寫入位(WR) 和讀取位(RD)。但實際上, 由于這里不需要從驅(qū)動芯片中讀取數(shù)據(jù), 因此, RD位在實際程序中并未使用。
1.3 時鐘電路
時鐘電路主要由DS1302芯片組成。DS1302是DALLAS公司推出的涓流充電時鐘芯片。該芯片內(nèi)含一個實時時鐘/日歷和31 字節(jié)的靜態(tài)RAM,可與單片機通過簡單的串行接口進行通信。該芯片可提供秒、分、時、日、日期、月、年等信息, 每月的天數(shù)和閏年的天數(shù)可自動補償, 并能計算到2100年。DS1302與單片機之間能簡單地采用同步串行方式進行通信, 而且僅需用到復(fù)位(RES)、I/O口、SCLK串行時鐘三個口線。DS1302工作時的功耗很低, 其雙電源管腳可用于主電源和備份電源供應(yīng), 并可為可編程涓流充電電源附加七個字節(jié)的存儲器。因此, 該芯片可廣泛應(yīng)用于電話等便攜式儀器以及電池供電的儀器儀表等產(chǎn)品。圖3所示是DS1302的時鐘電路連接圖。
評論