盛蒙蒙 葛亦斌 邱 燁 馬 棟
[摘要]多功能數(shù)字鐘的系統(tǒng)采用AT89552單片機作為控制系統(tǒng)的核心,模型采用單片機作為主控制器,利用DSl302時鐘芯片計算當前的秒、分、時、日、月、年。通過1602液晶屏友好的人機界面將結(jié)果完美的呈現(xiàn)給用戶。為可以靈活的設(shè)置時間,增加4x4鍵盤模塊通過鍵盤掃描可以對當前的時間隨意設(shè)置,除此又增加秒表、鬧鐘、生日提醒和整點提醒的功能。為具有更高的實用價值,通過DS18820來顯示當前溫度,并伴有溫度報警功能。利用鍵盤模塊對預(yù)設(shè)的溫度報警上下限進行設(shè)置。由于該系統(tǒng)具有時間顯示、鬧鐘、秒表等完整功能,有很高的利用價值。
[關(guān)鍵詞]溫度報警單片機c語言實時時鐘
中圖分類號:TP2文獻標識碼:A文章編號:1971--7597(2009)1020035--01
一、引言
數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭、辦公室等公共場所,已成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體與振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠遠超過老式鐘表。而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、通斷動力設(shè)備以及各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有若非?,F(xiàn)實的意義。
二、工作原理
系統(tǒng)的結(jié)構(gòu)框架最主要的部分是中間的主控模塊部分,時間的計算由DS1302芯片完成,通過簡單的串行接口與單片機進行通信。溫度測量由0S18820溫度傳感器完成。傳感器的測量結(jié)果由于是以數(shù)字信號形式輸出,可以直接送給單片機處理。單片機在接到數(shù)據(jù)后,一方面將時間日期通過1602顯示出來,另一方面通過對鍵盤的掃描來確定哪個鍵按下,隨即掉轉(zhuǎn)到該鍵對應(yīng)功能模塊界面。
三、硬件電路設(shè)計
該系統(tǒng)主要由以下五部分組成:主控制器、溫度測量及報警部分、鍵盤掃描部分、實時時鐘部分和液晶顯示部分等,下面對這幾個部分的具體的器件選擇及連接電路做具體的介紹。
(一)主控制器AT89S52。在該監(jiān)測器中起到總控作用的是AT89S52單片機,它是ATMEL公司生產(chǎn)的低電壓、高性能的CMOS8位單片機,工作電壓4.0v到5.5v,擁有8K字節(jié)FLASH存儲器和256字節(jié)片內(nèi)RAM,全靜態(tài)時鐘范圍從0~33MHz。它的最大方便之處室支持在系統(tǒng)編程ISP,可進行高達1000次擦寫,節(jié)約設(shè)計成本。單片機的口線中,P2和P3用于液晶顯示電路,P1口用于鍵盤的掃描電路。P2也用于DSl302~]DSISB20的連接電路。
(二)溫度測量及報警部分。溫度測量在本系統(tǒng)中起到一個擴展的作用,傳統(tǒng)的方式是采用熱電偶或熱電阻,但是硬件軟件調(diào)試復(fù)雜,且成本高。這里選擇了美國DALLAS公司生產(chǎn)的單總線式數(shù)字溫傳感器DSISB20。該傳感器可實現(xiàn)9-12位的溫度讀數(shù),溫度測量范圍為:-55℃~+125℃,測溫分辨率高達0.0625℃。將結(jié)果轉(zhuǎn)換成串行數(shù)字信號。由于采用單總線結(jié)構(gòu),一個18820有唯一的標號,節(jié)約了口線資源。報警部分比較簡單,主要是一個蜂鳴器,通過程序驗證后溫度超過上下限時,就輸出一個高電平導(dǎo)通三極管,蜂鳴器有電流流過既可以報警。
報警部分主要還要取決于軟件的設(shè)計能否準確將不同時刻的數(shù)據(jù)進行準確對比。
(三)鍵盤、顯示部分。鍵盤掃描電路采用4x4鍵盤模塊,因為涉及的功能比較多所以采用矩陣式鍵盤模塊,并且考慮到當功能需要增加時,按鍵相應(yīng)的也要增加,利用矩陣式鍵盤僅對軟件稍做修改即可而不用增加口線,利于擴展。
為了能夠提供一個更為良好的顯示界面,該設(shè)計選用帶背光的LCDl602點陣式字符型顯示器。該顯示器專門用于顯示字母、數(shù)字及符號等,它集成了HD44780控制器,是一個液晶組件。顯示容量為16×2個字符,芯片工作電壓;4.5~5.5v,最佳工作電壓5.0V,總共有16個引腳,11條指令。它的另一大優(yōu)點就是功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。
(四)實時時鐘部分。DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒分時日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通LOAM/PM指示決定采用24或12小時格式。DSl302與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口線:1、RES(復(fù)位):2、I/O(數(shù)據(jù)線);3、SCLK(串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信。Ds1302工作時功耗很低保持數(shù)據(jù)和時鐘信息時功率小于1mw。
四、軟件設(shè)計
為利于該設(shè)計的多功能的實現(xiàn)和更高的編程效率。采用c語言進行編程[3]。為實現(xiàn)編程結(jié)構(gòu)清晰,采用各個模塊單獨編程,最后實現(xiàn)各個模塊的綜合連接。主程序的框架由鍵盤掃描程序構(gòu)成,各個功能模塊程序嵌入到各個按鍵的子程序中,通過對按鍵的不斷掃描來確定跳轉(zhuǎn)到哪個功能模塊。對于鍵盤模塊,采用掃描法循環(huán)掃描。對于溫度顯示則利用18820的控制字要求嚴格編寫,DSl302的程序也按照芯片的規(guī)格要求編寫。對于擴展的秒表功能,則利用系統(tǒng)時鐘的延時ls功能實現(xiàn),鬧鐘、生日提醒和溫度報警的上下限設(shè)置則通過全局變量來設(shè)置初始值,利用按鍵可以增減。
五、調(diào)試與分析
(一)硬件調(diào)試。在硬件方面,由于電路不是很復(fù)雜,所以焊接起來不是很難,容易出現(xiàn)問題的地方在于焊接是否出現(xiàn)虛焊,跳線是否接實,管腳是否連接正確等。
(二)軟件調(diào)試。在keil51編譯器下進行程序編譯及仿真調(diào)試時,應(yīng)分段并以子程序為單位逐個進行,最后可結(jié)合硬件實時調(diào)試。
六、結(jié)束語
隨著電子技術(shù)在不斷進步,機械式時鐘已經(jīng)被淘汰,取而代之的是具有高度準確性和具有更長的使用壽命等優(yōu)點的數(shù)字時鐘。我們應(yīng)盡量考慮到人的因素,增強時鐘的實用性和操作性,為使用者提供切實的方便,營造一種舒適的生活氛圍。所以,在設(shè)計的時候,應(yīng)該從多面、多角度去考慮問題,而且應(yīng)該進一步提高時鐘的質(zhì)量,并盡可能的增加一些使用的功能。