資源描述:
《數(shù)字溫度計設計》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、題目:基于89C52和DS18B20的數(shù)字溫度計設計一、設計要求數(shù)字式溫度計要求測溫范圍為0~102°C,精度誤差在0.1°C以內(nèi),LED數(shù)碼管直讀顯示。二、方案論證根據(jù)系統(tǒng)的設計要求,選擇DS18B20作為本系統(tǒng)的溫度傳感器,選擇單片機AT89C51為測控系統(tǒng)的核心來完成數(shù)據(jù)采集、處理、顯示、報警等功能。選用數(shù)字溫度傳感器DS18B20,省卻了采樣/保持電路、運放、數(shù)/模轉(zhuǎn)換電路以及進行長距離傳輸時的串/并轉(zhuǎn)換電路,簡化了電路,縮短了系統(tǒng)的工作時間,降低了系統(tǒng)的硬件成本。該系統(tǒng)的總體設計思路如下
2、:溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機上,經(jīng)過51單片機處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器用4位共陽LED數(shù)碼管以動態(tài)掃描法實現(xiàn)。檢測范圍-55攝氏度到125攝氏度。按照系統(tǒng)設計功能的要求,確定系統(tǒng)由3個模塊組成:主控制器、測溫電路和顯示電路。AT89C51主控制器顯示電路溫度傳感器DS18B20掃描驅(qū)動數(shù)字溫度計總體電路結(jié)構框圖如圖1所示。圖1數(shù)字溫度計總體電路結(jié)構框圖三、系統(tǒng)硬件電路的設計溫度計電路設計原理圖如圖2所示,控制器使用單片機AT89C51,溫度
3、傳感器使用DS18B20,用4位共陽LED數(shù)碼管實現(xiàn)溫度顯示。17圖2數(shù)字溫度計設計電路原理圖1、主控制器AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2、顯示電路顯示電路采用4位共陽LED數(shù)碼管,從P0
4、口輸出段碼,列掃描用P3.0~P3.3口來實現(xiàn),列驅(qū)動用8550三極管。3、溫度傳感器工作原理DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點如下:●獨特的單線接口方式僅需要一個端口引腳進行通信;●多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點組網(wǎng)功能;●無需外部器件;●可通過數(shù)據(jù)線供電,電壓范圍:3.0~5.5V
5、;●測溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃●零待機功耗●溫度以9或12位數(shù)字量讀出;●用戶可定義的非易失性溫度報警設置17●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構框圖如圖3所示圖3DS18B20內(nèi)部結(jié)構框圖64b閃速ROM的結(jié)構如下:開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面5
6、6位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。主機操作ROM的命令有五種,如表1所列17指?令說?明讀ROM(33H)讀DS1820的序列號匹配ROM(55H)繼讀完64位序列號的一個命令,用于多個DS1820時定位跳過ROM(CCH)此命令執(zhí)行后的存儲器操作將針對在線的所有DS1820搜ROM(F0H)識別總線上各器件的編碼,為操作各器件作好準備報警搜索(ECH)僅溫度越限的器件對此命令做出響應表1主機操作ROM的命
7、令DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構為8字節(jié)的存儲器,結(jié)構如圖4所示。圖4高速暫存RAM結(jié)構圖17前2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應精度的溫度數(shù)值。溫度低位LSB溫度高位MSBTHTL配置保留保留保留8位CRC當DS18B20接收到溫度轉(zhuǎn)換命令后
8、,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1,2字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式如下:這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到