花了10天連寫帶調試到沒有BUG,一個51的單片機多功能電子鐘,不僅具有萬年歷的功能,還具有很多有用的其他功能,注意我用的是定時器加軟件補償,但是加了斷電后開機傻瓜調節時間法,沒有用1302但是軟件補償后調試日誤差可以小于1秒。
該電子中具有以下的功能:
1.萬年歷,自動換算大小月自動算星期,任何時候都不會出現超出天數范圍的情況
2.溫度顯示,精確到小數點后1位
3.電子鬧鐘,可以設置打開或關閉,光標調節時間,默認為OFF關閉
4.兩種調時方法,一種是斷電后的傻瓜調節,一次只調一個參數,一種是主界面后的移動光標調節。
5.溫度報警,可以設置 單開上限或者下限或者上下限或者關閉,溫度調節自己設置為0-50度,可改范圍,默認為NO-NO關閉。
6.秒表 可以選擇秒表打開,暫停,計次,清零,秒表范圍9999秒,精度到10MS,自己對著IPHONE優化調試后誤差在0.00-0.02之間,做一般的秒表沒問題。
7.所有模塊的開啟或者關閉都沒有沖突與BUG,比如秒表與走時可以同時打開沒有沖突等,所以設置帶記憶功能
8.按鍵手感優化調試后,也沒有BUG,不會出錯速度也比較舒服。
需要的硬件很簡單,只要一個有源(無源亦可)蜂鳴器+單片機最小系統+18B20溫度傳感器+4個按鍵就好了,這樣可以滿足多功能的電子鐘還是很劃算的,為什么不用1302是因為我在軟件補償后發現日誤差可以達到一個很高的精度,而實測在室內溫度飄移的影響幾乎沒有發現,只用了一個定時器0就可以滿足所有模塊的計時要求而且不會沖突,精度日誤差補償后可以小于1秒,如果用1302還得買單獨的電池焊接,懶得弄了。
本人是新手,學了剛好一個月,由于只花了幾天時間匆匆寫的肯定還有很多不夠精簡的地方,代碼不完善之處還請大神輕噴,代碼寫的比較長但是都是經過測試后沒有什么發現問題的,歡迎大家在自己板子上調試一下,發出來僅供大家互相學習。
說明一下 ,K1鍵為選擇位減,K2加鍵,K3減鍵,K4確定鍵,所有參數調節到最大或者最小后都會自動復位最小或最大,方便調節,但是比如K3鍵還有清零等其他功能大家可以自己摸索出來。
|