陳燕秀
(貴州理工學院電氣工程學院,貴州 貴陽 550004)
2013-08-22
陳燕秀(1975-),女,副教授,現主要從事電子線路方面的教學與研究工作。
基于單片機的LCD多功能顯示器設計
陳燕秀
(貴州理工學院電氣工程學院,貴州 貴陽 550004)
設計了一種基于單片機的LCD多功能顯示器:該顯示器以STC89C52單片機為控制核心,以LCD12864作為顯示器,時鐘產生采用DS1302芯片,溫度采集選用DS18B20,片外數據儲存芯片采用CAT24C04。實際應用表明,該顯示器能夠進行時間顯示、溫度采集、電子書閱讀、圖片顯示、音樂播放等,具有響應速度快、抗干擾能力強、體積小等特點。
單片機;LCD多功能顯示器;控制系統
現代電子產品正在以前所未有的速度革新,向著功能多樣化、體積最小化,低功耗化的方向迅速發展。針對現實生活中對小型多功能產品的需求,筆者基于單片機設計了一種LCD多功能顯示器。

圖1 系統結構圖
LCD多功能顯示器結構圖1。具體設計思路如下:①整個控制系統采用STC89C52系列單片機作為控制核心[1]。②采用帶中文字庫的LCD12864作為顯示器,利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面,并顯示8×4行16×16點陣的漢字。③時鐘產生采用DS1302,DS1302是美國DALLAS公司推出的一款高性能、低功耗、帶內部RAM的實時時鐘芯片(RTC),能夠為單片機系統提供日期和時間。④溫度采集選用DS18B20,使用簡單。⑤片外數據儲存芯片采用CAT24C02,其具有低功耗、掉電不丟失數據的特點。⑥控制部分采用5個獨立式按鍵,從P2口輸入,一鍵多用。LCD12864采用P0口并口輸出,讀寫速度快,連接簡單,布線美觀。
2.1顯示電路設計
LCD12864可構成全中文人機交互圖形界面,可完成圖形顯示,且低電壓低功耗。顯示電路單元電路圖如圖2所示。
2.2時鐘單元設計
實時時鐘/日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數和閏年的天數可自動調整,時鐘操作可通過AM/PM標志位決定采用24或12小時時間格式[2]。DS1302與單片機之間能簡單地采用同步串行的方式進行通信,僅需3根I/O線(包括復位(RST)、I/O數據線、串行時鐘(SCLK))。DS1302工作時功耗很低(保持數據和時鐘信息時,功耗小于1mW)。為了使DS1302在斷電的情況下也能工作,在設計中加入了一個3.2V的備用電池(J4),由于耗電量小,電池壽命至少在2a以上。時鐘單元電路圖如圖3所示。

圖2 顯示電路單元電路圖 圖3 時鐘單元電路圖

圖4 溫度采集單元電路圖
2.3溫度采集電路設計
溫度采集選用DS18B20,其具有以下主要特性:①獨特的單線接口方式,與微處理器連接時僅需要一條口線即可實現雙向通訊。②支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫。③在使用中不需要任何外圍元件。④測溫范圍-55℃~125℃。溫度采集單元電路圖如圖4所示。
2.4儲存電路設計
為了擴展片外數據存儲容量,采用一片基于I2C-BUS 的CAT24C02作為片外擴展[3],其2K的容量足以保存程序所需的顯示點陣代碼、電子書字符和簡單的音樂容量。

圖5 主程序流程設計圖
3.1主程序設計
主程序設計內容包括主程序的起始地址、中斷服務程序的起始地址、有關內存單元及相關部件的初始化和一些子程序調用等,主程序流程設計圖如圖5所示。
3.2時間程序設計
雖然DS1302芯片省去了時鐘產生的步驟,但是調時程序要注意DS1302內部產生的時鐘是以16進制形式出現,調試中發現從00H-09H為1到9數字,09H后并不是0AH而是10H,因而調時程序應避免0AH-0FH的出現,否則重置以后會出錯[4]。此外,鬧鐘程序是一個比較程序,將需要比較的時間設置并儲存,在時間運行時不斷進行比較,一旦時、分、秒都和設置的時間相符合,則啟動鬧鐘。時間程序流程設計圖如圖6所示。

圖6 時間程序流程設計圖
基于單片機系統設計了LCD多功能顯示器,產品設計中遵循硬件電路簡單化、盡可能采用軟件編程完成功能控制的原則,且編程采用匯編語言完成,使得產品具有體積小、功能多、響應速度快等特點,可以在市場上推廣應用。
[1][1]何立民.單片機初級教程——單片機基礎[M].北京:北京航空航天大學出版社,2006.
[2]韓志軍,沈晉源,王振波.單片機應用系統設計——入門向導與設計實例[M].北京:機械工業出版社,2005.
[3]鐘富昭,張晨.8051單片機典型模塊設計與應用[M].北京:人民郵電出版社,2007.
[4]陳有卿,謝剛.新穎電子模塊應用手冊[M].北京:機械工業出版社,2003.
TP273
A
1673-1409(2013)31-0090-03
[編輯] 李啟棟