(成都理工大學 四川 成都 610059)
當今,電子時鐘正在向著多功能和輕巧化方向發展,并且進一步向著低損耗、外觀小巧、多功能、高精確度、低價格等方向發展。把時鐘和單片機結合在一起研究是未來發展的方向,以前機械時鐘所具備的功能,現在用MCU控制通信模塊都可以實現。本次電子時鐘設計采用單片機控制GPRS通信模塊來準確授時,獲取的信息都可以用顯示屏詳細的顯示出來,其中包含日期、時間和溫濕度等字符。如果發生電路故障、當溫度超過設定的數值或者濕度低于設定的數值時,可以進行反饋并發出報警聲。
本次設計用單片機控制其它模塊的工作,用GPRS通信模塊作為獲取時間的模塊。GPRS模塊會將采集到的時間信息通過顯示模塊顯示出來。溫濕度檢測模塊可以實時的檢測當前環境的溫度和濕度,并能在顯示屏上清楚的顯示出來。當溫濕度檢測模塊或者GPRS通信模塊沒有響應、溫度超過設定的數值或者濕度低于設定的數值時,蜂鳴器將會發出報警聲,相應的報警字符將出現在顯示屏幕上。其總體設計圖如圖1所示。

圖1 總體設計框圖
首先開機進行初始化,如果長時間GPRS模塊沒有響應就進入報警狀態。如果響應成功,GPRS通信模塊子程序控制GPRS通信模塊向獲取時間的服務器發送一個TCP連接,服務器會返回準確的UTC時間,再加上8即可得到當前的時間。如果傳感器檢測到環境的溫度值超過設定的數值或者濕度低于設定的數值時控制蜂鳴器進行報警,提醒用戶當前環境的溫度和濕度不合適。
(一)開機測試功能。給單片機接通電源以后,首先要進行的是系統的初始化。然后主程序會先調用檢測時間的子程序檢測時間信號,接下來再去調用溫度和濕度檢測模塊的子程序。然后把得到的時間信息和溫度、濕度信息送給顯示屏顯示出來。如果檢測到了報警標志,報警模塊就會開始報警;如果沒有檢測到報警標志,報警模塊就不報警。
(二)顯示屏的顯示功能。顯示屏首先將界面進行初始化,然后通過調用子程序檢測GPRS模塊有沒有響應,有沒有檢測到時間信號,如果沒有檢測到時間信號,屏幕上顯示無響應的字符;如果GPRS模塊通信成功,檢測到時間信號就顯示時間和日期。接下來繼續檢測溫濕度檢測模塊有沒有響應,有沒有采集到溫度和濕度的信息,若是檢測到溫度和濕度信息,再檢測溫濕度是否在設定的范圍內,如果檢測到的溫度沒有超過設定的數值以及濕度也不低于設定的數值,則顯示獲取的時間和獲取的溫濕度信息;若是檢測到的溫度和濕度不在設定的范圍內,則顯示正常的時間和溫濕度報警的字符;如果沒有檢測溫濕度檢測模塊響應,沒有獲取到溫度和濕度信息,屏幕就顯示無響應的字符。
(三)故障報警功能。蜂鳴器報警模塊先進行初始化,如果單片機檢測到GPRS通信模塊或者溫濕度檢測模塊沒有響應,蜂鳴器就進行報警,提示用戶電子時鐘存在問題;如果模塊都響應了,檢測溫度和濕度是否在設定好的范圍內,如果溫度和濕度都在設定的范圍內,蜂鳴器就不報警;如果不在設定的范圍內,蜂鳴器就進行報警。
本設計用Altium Designer軟件繪制了電路的原理圖,并按著繪制的電路原理圖用Keil軟件編寫了程序;并按照電路圖連接元器件進行實物演示,得到如下結果:
(1)如果時間和溫濕度數據都可以正常顯示,會看到如圖2所示的畫面。

圖2 正常顯示圖
(2)如果GPRS模塊和溫濕度檢測模塊沒有響應,就會報警并出現如圖4所示的畫面。

圖3 GPRS模塊和溫濕度檢測模塊沒有響應圖
現在國內多數的人使用的仍舊是機械時鐘,即使是最好的機械時鐘也會有多多少少的誤差。時間短不足以顯現出來它們的缺點,但是時間長了這些弊端也就自然而然地暴露出來了。人們對時間精度的要求也漸漸提高,所以采用GPRS網絡時間授時的電子時鐘成了發展的趨勢。