臨沂職業學院 朱海濤
系統設計總框架如圖1。
1.控制模塊:通過應用單片機,對系統進行初始化,主要完成對數碼管顯示、按鍵的處理等功能,起到總體控制和協調各模塊工作的作用。
2.盤輸入模塊:主要完成與時間相關的設置和溫度、時間、日期的切換。
3.碼管顯示模塊:主要對單片機送來的時間、日期、溫度信息進行顯示。
4.度采集模塊:采用DS18B20溫度傳感器,向單片機提供實時溫度信息。
5.子鐘模塊:采用時鐘芯片DS1302,該芯片可以進行時、分、秒的計數,DS1302通過串行方式與單片機進行數據傳送,向單片機提供包括秒、分、時、日、月、年等在內的實時時間信息。
1.主控制模塊
在文章設計的溫度顯示系統設計中,控制核心是STC89C52單片機,該單片機51系列增強型8位單片機,它有32個I/O口,片內含4K FLASH工藝的程序存儲器,便于用電的方式瞬間擦除和改寫,而且價格便宜,其外部晶振為12MHz,一個指令周期為1 μS。使用該單片機完全可以完成設計任務,其最小系統主要包括:位電路、震蕩電路以及存儲器選擇模(EA腳的高低電平選擇),電路如圖2。
2.鍵盤輸入模塊
鍵盤輸入模塊(見圖3)上“0”、“4”、“8”、“C”可以配置成獨立按鍵,通過跳帽J11切換,在獨立按鍵中,應該把跳帽接到左端。
功能介紹:本文中,P3.0-P3.3四個獨立按鍵分別時間調整按鍵、功能加減、日歷切換按鍵、溫度切換按鍵。當P3.0(set)按下系統進入時調整狀態:分單元閃爍,再按下P3.1(up)時,對顯示的數碼管的時段進行加一功能,達到對時調整,再次按下P3.0(set)時進入分鐘調整狀態,分單元閃爍,通過按鍵P3.1(up)加一調整分的顯示,秒不進行調整,時間調整結束后,再次按下P3.0(set)進入正常時鐘顯示;當按下P3.2(switchriqi)時,切換到日歷的顯示;當按下P3.3(setwendu)時,切換到溫度的顯示。
3.數碼管顯示模塊
顯示原理:因為所有位數碼管的段選線被并聯在一起,位選線控制哪一位數碼管有效的有效,所以就需要為每一位數碼管配一個鎖存器,進而簡化了硬件電路。點亮數碼管采用動態掃描顯示。所謂動態掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺殘留作用,使人感覺到各位數碼管似乎同時在顯示。由于動態顯示的亮度比靜態顯示要差一些,所以在選擇限流電阻時應略小于靜態顯示電路中的限流電阻。數碼顯示模塊電路見圖4。
4.溫度采集部分
文章采用一線制數字溫度傳感器DS18B20。傳感器輸出信號進4.7K的上拉電阻直接接到單片機的P1.0引腳上。該器件將半導體溫敏器件、A/D轉換器、存儲器等做在一個很小的集成電路芯片上。在本設計中采用外部供電方式實現DS18B20傳感器與單片機的連接,其接口電路下如圖5所示。
工作原理:溫度以16bit帶符號位擴展的二進制補碼形式讀出,下表給出了溫度值和輸出數據的關系。程序中需將16進制溫度值轉化為十進制,再轉化為數碼管顯示需要的段碼表數據格式。

?
5.電子鐘模塊

圖1 系統設計總框架

圖2 主控制模塊電路

圖3 鍵盤輸入模塊

圖4 數碼顯示模塊
采用時鐘芯片DS1302,該芯片可以進行時、分、秒的計數,DS1302通過串行方式與單片機進行數據傳送,向單片機提供包括秒、分、時、日、月、年等在內的實時時間信息。DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘芯片,DS1302用于數據記錄,特別是對某些具有特殊意義的數據點的記錄上,能實現數據與出現該數據的時間同時記錄,因此廣泛應用于測量系統中。讀寫時序說明:
DS1302是SPI總線驅動方式。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數據。要想與DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如圖6。

圖5 接口電路

圖6 DS1302的控制字

圖7

圖8 軟件設計總流程圖

圖9 時間顯示
控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入到DS1302中。
位6:如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;

圖10 溫度顯示

圖11 日期顯示
位5至位1(A4~A0):指示操作單元的地址;
位0(最低有效位):如為0,表示要進行寫操作,為1表示進行讀操作。

寄存器讀地址寫地址秒81H80H分83H82H時85H84H日87H86H月89H88H年8DH8CH控制8FH8EH
重要位:
秒寄存器時鐘停止位CH=0,振蕩器工作允許;CH=1,振蕩器停止。
控制寄存器寫保護位WP=0,允許寫入;WP=1,禁止寫入外部引腳分配(如圖7所示)。
軟件設計總流程圖(如圖8所示)。
(1)時間顯示如圖9。
(2)按下“0”鍵時分設置,時分閃爍等待設置。
(3)按下“4”鍵時或分加一,按“0”確認。
(4)按下“A”鍵顯示溫度,如圖10。
(5)按下“8”鍵顯示日期,如圖11。
[1]Liu peng process.Based on AT89S51 digital temperature measurement and display system design[D].2009:33.
[2]王一然.基于單片機的定時溫控系統的設計與研究[J].科學與財富,2010(8):152.
[3]王一然.單片機開發語言特點研究[J].科技致富向導,2010(9):98.
[4]許瑾娜.基于89C51的干式變壓器溫控系統設計空[J].Modern Science,2012,12.
[5]李廣弟,朱月秀,冷祖祁.單片機基礎[M].北京航空航天大學出版社,2010.