匡暢?曾繁崎


摘 要 本文設(shè)計的Wi-Fi點陣時鐘采用ESP8266作為核心處理器和通信模塊,使用MAX7219芯片驅(qū)動LED點陣,并可以顯示多種動畫效果,時鐘可以通過Wi-Fi聯(lián)網(wǎng)并自動更新時間。本時鐘功能豐富、走時精確、操作方便、穩(wěn)定性好。
關(guān)鍵詞 ESP8266;DS1302;MAX7219
1硬件設(shè)計
1.1 系統(tǒng)整體框架
本文設(shè)計的點陣時鐘主要由ESP8266、按鍵、蜂鳴器、DS1302、MAX7219和LED點陣屏構(gòu)成,如圖1所示。其中,ESP8266是控制核心,內(nèi)嵌Wi-Fi模塊,可以用于聯(lián)網(wǎng)。按鍵用于設(shè)置時鐘時間、日期等,還可以設(shè)置Wi-Fi接入點和密碼。蜂鳴器用于播放鬧鐘響鈴和按鍵提示音。DS1302時鐘模塊用于在沒有網(wǎng)絡(luò)的時候提供精準(zhǔn)時鐘。MAX7219 LED驅(qū)動模塊用于驅(qū)動LED點陣屏,ESP8266只需要3根數(shù)據(jù)線就可以驅(qū)動多塊16x16 LED點陣[1]。
1.2 核心處理器
本文設(shè)計的點陣時鐘使用ESP8266作為核心處理器,ESP8266是樂鑫信息科技公司推出的一款無線WI-FI模塊,內(nèi)置10個GPIO,可以用于PWM、I2C和1-Wire通信;1路ADC;20KB RAM和512KB的Flash內(nèi)存,其中用戶可用150KB。由于內(nèi)置了NodeMcu可編程固件,我們可以使用更簡單的方式進(jìn)行網(wǎng)絡(luò)開發(fā)。
1.3 LED點陣驅(qū)動模塊
LED點陣驅(qū)動模塊采用MAX7219芯片。MAX7219 是美國MAXIM 公司推出的多位LED 顯示驅(qū)動器,它內(nèi)含硬件動態(tài)掃描電路、BCD譯碼器、段驅(qū)動器和位驅(qū)動器。MAX7219采用3 線串行接口傳送數(shù)據(jù),最大的優(yōu)勢是可以級聯(lián)使用,控制更多的LED 點陣顯示器時也不需要擴(kuò)展通信接口,MAX7219電路連接如圖2所示。
1.4 時鐘模塊
DS1302是由美國DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實時時鐘芯片。它可以對年、月、日、周、時、分、秒進(jìn)行計時,且具有閏年補償?shù)榷喾N功能。當(dāng)聯(lián)網(wǎng)后,時鐘顯示的時間由Wi-Fi聯(lián)網(wǎng)更新,當(dāng)沒有連接Wi-Fi網(wǎng)絡(luò)或無法從校時服務(wù)器獲取時間數(shù)據(jù),DS1302可以在點陣時鐘沒有聯(lián)網(wǎng)時提供本地精準(zhǔn)時間[2-3]。
2軟件設(shè)計
2.1 時間顯示程序
時間顯示程序開始后,先依次判斷分鐘個位、分鐘十位、小時個位和小時十位是否更新,若更新了,則顯示相應(yīng)的更新動畫。時間更新動畫的效果是,將舊的時間和新的時間進(jìn)行拼接,然后從舊到新循環(huán)移位,就可以看到時間滑動的動畫了。
2.2 Wi-Fi時間更新
時鐘聯(lián)網(wǎng)后,可以通過互聯(lián)網(wǎng)更新時間。時鐘通過Wi-Fi與time.beijing-time.org網(wǎng)站進(jìn)行通信,進(jìn)行校時。具體流程為,首先進(jìn)行聯(lián)網(wǎng)配置,設(shè)置客戶端模式,使用80端口,然后向time.beijing-time.org/time.asp發(fā)送Get請求,發(fā)送完畢延時150毫秒,開始監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)。若收到數(shù)據(jù),先全部存儲起來,然后對收到的數(shù)據(jù)進(jìn)行分析,截取小時、分鐘和秒鐘數(shù)據(jù),最后用收到的時間數(shù)據(jù)更新當(dāng)前時間。
3結(jié)束語
本文設(shè)計的Wi-Fi點陣時鐘,操作簡單,效果豐富,校時精確,穩(wěn)定性良好。
參 考文獻(xiàn)
[1] 景向偉,李娣娜,邵思飛.基于單片機的LED點陣顯示系統(tǒng)的設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(20):153-155.
[2] 張明波.基于單片機的點陣LED顯示系統(tǒng)的設(shè)計[J].微計算機信息,2007,(5):84-86.
[3] 袁強,陸啟生,李文煜.基于單片機89C51和89C2051點陣LED顯示系統(tǒng)[J].中國科技信息,2006,(18):181-183.