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