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