新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的數(shù)字多用表的設(shè)計

基于單片機的數(shù)字多用表的設(shè)計

作者: 時間:2011-01-03 來源:網(wǎng)絡(luò) 收藏

介紹Dallas公司的兩線溫度傳感器/實時時鐘芯片DS1629的特點和結(jié)構(gòu)原理,詳細討論了DS1629在溫度表/計時器中的應(yīng)用,并指出了在實際應(yīng)用中應(yīng)注意的問題。
  關(guān)鍵詞:DS1629;兩線總線;表;

本文引用地址:http://butianyuan.cn/article/173032.htm
Design of Digital Multifunctional Meter Based on Microcontrolle r
LI Guohou, YANG Qingjie, CHEN Yanfeng
(Henan Institute of Science and Technology, Xinxiang 453003, China)
  Key words: DS1629; twowire bus; digital multifunctional meter; microcontroller
1DS1629的結(jié)構(gòu)特性與工作原理
  DS1629是專為溫度的化測量而的一種芯片,同時還兼有實時時鐘/日歷的功能。DS1629的寬電源范圍和極小的功耗非常適合于電池供電的應(yīng)用環(huán)境。其時鐘功能可以是12小時或者24小時的模式,且在12小時的模式下帶有AM/PM指示。當溫度達到或超過程序設(shè)定的上限TH或者時間到達程序設(shè)定的時刻時,芯片就產(chǎn)生漏極開路的報警輸出。
  DS1629由數(shù)字溫度傳感器、實時時鐘、兩線串行接口、數(shù)據(jù)寄存器、溫度和時鐘報警比較器及時鐘分頻器和緩沖器6個部分組成。
  由制造商標定的溫度傳感器無需外部器件。芯片一上電就開始進行溫度轉(zhuǎn)換,并隨后連續(xù)進行轉(zhuǎn)換。主機(通常為)可以周期性地讀取溫度寄存器中最新轉(zhuǎn)換的溫度值,并且由于轉(zhuǎn)換是在“后臺”進行的,讀數(shù)據(jù)并不影響轉(zhuǎn)換的過程。主機可以修改芯片的配置,如上電后并不立即開始轉(zhuǎn)換和連續(xù)轉(zhuǎn)換模式,這樣對于要求省電的場合很有益處。實時時鐘/日歷提供秒、分、時、星期、日期、月、年的BCD數(shù)值,這需要內(nèi)部的振蕩器/分頻器和外部的32.768kHz的晶振。不足31天的月份則在月底自動調(diào)整,閏年的補償直到2100年。實時時鐘可以通過清除時鐘寄存器中的控制位而關(guān)閉。通過讀/寫時鐘寄存器或者時鐘報警寄存器可以關(guān)閉時鐘報警輸出。
  二進制數(shù)據(jù)的讀/寫通過兩線總線進行,高位在前,每個寄存器的訪問都采用8位的命令協(xié)議。芯片各個引腳的功能如表1所示。
2.1硬件設(shè)計
  從前面的討論可以看出,DS1629兼有數(shù)字溫度傳感器和實時時鐘/日歷的功能,工作電壓為2.2~5.5V,因而可將其與結(jié)合起來設(shè)計出帶有數(shù)字鐘功能的數(shù)字溫度表。單片機采用AT89C2051,封裝為20DIP,工作電壓范圍是2.7~5.5V。顯示部分采用6位數(shù)碼管來顯示時間、日期或溫度等數(shù)據(jù)。為了簡化電路,減少芯片,降低功耗,顯示部分采用動態(tài)循環(huán)掃描的方式,由一片4~7段譯碼器CD4543驅(qū)動。CD4543的工作電壓為3~18V,整個電路采用兩節(jié)干電池供電,系統(tǒng)的硬件構(gòu)成如圖1所示。圖中,DS1629的SCL與SDA端分別接單片機的P3.0和P3.1,R1和C1構(gòu)成上電自動復(fù)位電路,P3.2~P3.4接 3個按鍵,C2、C3及6MHz晶振構(gòu)成振蕩電路,P3.5、P3.7、P1.0~P1.3分別接6位數(shù)碼管的公共端(圖中3個數(shù)碼管LED2~LED4沒有畫出)作為位選信號,P1.4~P1.7接CD4543的BCD碼輸入端,6個數(shù)碼管的數(shù)據(jù)輸入端a~g都并接到CD4543的數(shù)據(jù)輸出端a~g。
  數(shù)字表的功能包括溫度的測量顯示和時鐘兩個方面,因而在軟件設(shè)計中應(yīng)同時考慮。溫度表和時鐘功能由按鍵S3選擇,上電后的默認狀態(tài)為自動顯示測量的溫度,按一下S3則切換到時間顯示,再按一下又返回到溫度顯示。默認狀態(tài)下按鍵S2為秒表功能鍵,按1次開始計時,按兩次停止計時,按3次則清0,再按則返回到初始狀態(tài)。默認狀態(tài)下按鍵S1為調(diào)整時間的功能鍵,按1次S1設(shè)定小時,此時S2為加1鍵,按1次小時加1,S3為減1鍵,按1次小時減1;按2次S1設(shè)定分鐘,此時S2、S3的作用同前;按3次S1則返回到初始狀態(tài)。根據(jù)這些功能,軟件設(shè)計由初始化、功能鍵處理、時間顯示、溫度測量及顯示等幾個部分組成。初始化部分完成單片機中斷、定時器、片內(nèi)存儲單元和DS1629的初始配置;功能鍵處理部分則進行鍵盤的掃描及相應(yīng)的處理;時間及溫度顯示則是讀取DS1629的時間和溫度參數(shù),進行轉(zhuǎn)換后送出顯示。下面給出單片機對DS1629操作的程序段,假定單片機的P3.1接SDA,P3.0接SCL,設(shè)定DS1629的工作模式為單次轉(zhuǎn)換模式,禁止時鐘輸出,對溫度及時鐘均為高電平報警,則相應(yīng)的程序段如下:
  
  從前面的討論可以看出,DS1629給單片機的數(shù)字化溫度的測量與控制帶來了極大的方便,使得系統(tǒng)的設(shè)計大為簡化,具有很高的實用價值。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉