摘 要: 介紹了由97C51單片機、MSM6242實時日歷/時鐘、X25165串行E2PROM等組成的多功能時間控制器。該時間控制器具有走時準確、多路輸出、不受停電影響、操作方便、成本低等特點。并已通過軟件解決了千年問題。
關(guān)鍵詞: 日歷 時鐘 時間控制 千年問題
目前使用的時間控制器種類較多,如數(shù)字式、觸點式等,在應(yīng)用時有一定的局限性,有的功耗較大,停電后走時被復(fù)位,定時時間也需重新設(shè)定,有的定時精度差,且僅能提供一種輸出,輸出時段數(shù)較少。本文介紹用MSM6242作為實時時鐘、X25165存放定時數(shù)據(jù)、以97C51單片機作為處理核心組成的一種多功能時間控制器。
1 時間控制器的硬件組成
多功能時間控制器的結(jié)構(gòu)如圖1所示。
97C51是LG半導(dǎo)體公司推出的8位CMOS單片機產(chǎn)品,與工業(yè)標準MCS-51TM的指令組和引腳兼容,具有較寬的工作電壓范圍,高保密性,OTP型程序保存時間超過100年,其低廉的價格適合批量使用。
MSM6242是一個可直接與單片機總線連接的CMOS實時時鐘/日歷芯片??商峁┠辍⒃?、日、時、分、秒等信息,可選擇在12/24小時兩種格式下運行。當主電源掉電時,可在低至2.0V的電壓下繼續(xù)運行,維持電流小于10μA,可通過備用電池供電。
X25165把三種常用的功能:看門狗定時器、電源電壓監(jiān)視和串行E2PROM組合在一個芯片上,使用這種器件可降低系統(tǒng)成本,減少對電路板空間的要求,提高系統(tǒng)的可靠性。X25165的看門狗定時器的超時時間可通過編程選擇為200ms、600ms或1.4s,串行E2PROM的容量為2K×8Bit。
該系統(tǒng)設(shè)置有6位數(shù)碼顯示和相關(guān)的指示燈,通過單片機串行移位輸出對其進行控制。設(shè)計有5個按鍵,用來進行功能選擇、設(shè)置、修改、刪除等操作。
2 軟件設(shè)計
考慮到定時器的實際應(yīng)用,將其輸出設(shè)計為8路,各路獨立控制,定時的最小單位是分,定時范圍00:00~23:59。其中第1、2路設(shè)計為打鈴輸出,打鈴持續(xù)時間可調(diào),并可選擇靜音時間;第3路設(shè)計為提醒輸出,當定時時間到時驅(qū)動輸出,將該時間自動清除;其余各路均設(shè)計為區(qū)間控制。
圖2為主程序流程圖,圖3為定時中斷處理子程序。
3 千年問題的解決方案
MSM6242及MSM5832、MC146818等日歷/時鐘芯片,不能對星期進行自動校對,年分也均采用兩位BCD表示,故不可避免地存在千年問題(Y2K)。目前國外雖有兼容Y2K的日歷/時鐘芯片問世,但價格較高。
由于日歷在時間控制器中并不占重要的地位,因此在本系統(tǒng)中采用軟件的方式來解決MSM6242所存在的Y2K問題,并對星期進行自動校正。控制器中的年代等由MSM6242提供,世紀數(shù)保存在E2PROM中。
閏年的判斷方法:當不為00的年代被4整除時,則該年為閏年;當年代為00時,若世紀數(shù)能被4整除,則該年也為閏年。閏年的2月為29天。
當某一天的日期為(c×100+y)年m月d日時,這一天的星期數(shù)可用下式的余數(shù)確定:
式中,c為世紀數(shù),y為年代,m為月,d為天。
上面的閏年及星期的判斷由程序來實現(xiàn)。當對日期進行修改時,由程序?qū)斎肴掌诘暮侠硇赃M行判斷,年的范圍為1600~2699年,月為1~12,大月為31天,小月為30天,平月為28天,閏月為29天,星期數(shù)由程序根據(jù)合理輸入的日期自動計算。正常運行時,由程序?qū)﹂c月進行監(jiān)測和處理。
4 多功能時間控制器的功能
通過硬件和軟件方面的設(shè)計,該時間控制器具有以下功能:
(1) 可由鍵盤操作選擇顯示時間(時:分:秒)、日期(月.日_星期),公元紀年,以及查看各路已設(shè)定的時間。
(2)對日期、時間進行修改,對各路獨立進行設(shè)定、修改和刪除。
(3)打鈴持續(xù)時間可通過鍵盤操作在1~59秒內(nèi)改變,可選擇一星期中的任意0~2天進行靜音控制,即停止打鈴輸出。
(4)由內(nèi)置蜂鳴器提供提醒服務(wù),時間持續(xù)半小時,可通過按任意鍵終止,提醒結(jié)束后該時間自動清除。
(5)區(qū)間控制可按區(qū)間接通或區(qū)間斷開設(shè)置。
經(jīng)2年多的使用表明,該時間控制器走時準確(月誤差±10秒),控制可靠。
參考文獻
1 LGS.Microcontroller Handbook,1998
2 OKI.MSM6242 direct connected cmos real time clock/calendar,http://www.p8s.com
3 蔡崇偉.自制萬年歷.知識就是力量,1991(221)
4 何立民.單片機接口技術(shù).北京:北京航空航天大學(xué)出版社,1992