多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)_第1頁
多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)_第2頁
多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)_第3頁
多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)_第4頁
多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 1 頁 共 27 頁目目 錄錄摘要2ABSTRACT3第一章緒 論41.1 系統(tǒng)背景 41.2 系統(tǒng)概述4第二章方案論證 52.1 傳感器部分 52.2 主控制部分62.3 系統(tǒng)方案 6第三章 硬件電路設(shè)計(jì)73.1 電源以及看門狗電路73.2 鍵盤以及顯示電路93.2 溫度測試電路113.3 串口通訊電路153.4 整體電路16第四章軟件設(shè)計(jì) 164.1 概述164.2 主程序方案 164.3 各模塊子程序設(shè)計(jì) 18第五章系統(tǒng)調(diào)試 205.1 分步調(diào)試205.2 統(tǒng)一調(diào)試20結(jié)束語21參考文獻(xiàn) 22附錄一:軟件流程圖24附錄二:電路原理圖 25致 謝27多點(diǎn)溫度檢測系統(tǒng)

2、設(shè)計(jì)第 2 頁 共 27 頁多點(diǎn)溫度檢測系統(tǒng)多點(diǎn)溫度檢測系統(tǒng)摘要摘要DS18B20 是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了 DS18B20 數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。該系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。下位機(jī)實(shí)現(xiàn)溫度的檢測并提供標(biāo)準(zhǔn) RS232通信接口,芯片使用了 ATMEL 公司的 AT89C51 單片機(jī)和 DALLAS 公司的 DS18B20數(shù)字溫度傳感器。上位機(jī)部分使用了通用 PC。該系統(tǒng)可應(yīng)用于倉庫測溫、樓宇空調(diào)控制和生

3、產(chǎn)過程監(jiān)控等領(lǐng)域。關(guān)鍵字關(guān)鍵字:溫度測量;單總線;數(shù)字溫度傳感器;單片機(jī)多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 3 頁 共 27 頁AbstractAbstract As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with its special 1-wire interface .This paper introduces the applicatio

4、n of DS18B20 with single chip processor.The system is constituted by two parts the temperature measured part and displayed part. The temperature measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .This system is applied in

5、such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.KeyKey wordswords:temperature measure;single bus;digital thermometer;single chip processor;多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 4 頁 共 27 頁第一章第一章緒緒 論論1.11.1 系統(tǒng)背景系統(tǒng)背景在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對溫度的測量及控制占據(jù)著極

6、其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測,電力、電訊設(shè)備之過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運(yùn)輸工具之組件的過熱檢測,保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測試,化工、機(jī)械等設(shè)備溫度過熱檢測。溫度檢測系統(tǒng)應(yīng)用十分廣闊。1.2 系統(tǒng)概述系統(tǒng)概述本設(shè)計(jì)運(yùn)用主從分布式思想,由一臺上位機(jī)(PC 微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用 RS-232 串行通訊標(biāo)準(zhǔn),通過上位機(jī)(PC)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場溫度采集。溫度值既可以送回主控 PC 進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由

7、下位機(jī)單獨(dú)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對各點(diǎn)進(jìn)行控制。下位機(jī)采用的是單片機(jī)基于數(shù)字溫度傳感器數(shù)字溫度傳感器 DS18B20DS18B20 的系統(tǒng)。DS18B20 利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測量,輕松的組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場溫度測量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測場合。如糧食倉儲系統(tǒng)、樓宇自動化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測、醫(yī)療與健診的溫度測試、空調(diào)系統(tǒng)的溫度檢測、石化、機(jī)械等。第二章第二章方案論證方案論證溫度檢測系統(tǒng)有則共同的特點(diǎn):測量點(diǎn)多、環(huán)境復(fù)雜、布線分散、現(xiàn)場離監(jiān)控室遠(yuǎn)等。若采用一般溫度傳感器

8、采集溫度信號,則需要設(shè)計(jì)信號調(diào)理電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號轉(zhuǎn)換成數(shù)字信號送到計(jì)算機(jī)去處理。這樣,多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 5 頁 共 27 頁由于各種因素會造成檢測系統(tǒng)較大的偏差;又因?yàn)闄z測環(huán)境復(fù)雜、測量點(diǎn)多、信號傳輸距離遠(yuǎn)及各種干擾的影響,會使檢測系統(tǒng)的穩(wěn)定性和可靠性下降 。所以多點(diǎn)溫度檢測系統(tǒng)的設(shè)計(jì)的關(guān)鍵在于兩部分:溫度傳感器的選擇和主控單元的設(shè)計(jì)。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首。2.1 傳感器部分傳感器部分方案一:方案一:采用熱敏電阻,可滿足 40 攝氏度至 90 攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測

9、1 攝氏度的信號是不適用的。而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如 AD590,LM35 等.但這些芯片輸出的都是模擬信號,必須經(jīng)過 A/D 轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜.另外,這種測溫裝置的一根線上只能掛一個(gè)傳感器,不能進(jìn)行多點(diǎn)測量.即使能實(shí)現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。方案二:方案二:在多點(diǎn)測溫系統(tǒng)中,傳統(tǒng)的測溫方法是將模擬信號遠(yuǎn)距離采樣進(jìn)行 AD 轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸,多點(diǎn)測量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問題。采用數(shù)字溫度芯片數(shù)字溫度芯片 DS18B20DS18B20 測量溫度,

10、輸出信號全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在 0100 攝氏度時(shí),最大線形偏差小于 1 攝氏度。DS18B20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度數(shù)字溫度計(jì)計(jì) DS1820DS1820 和微控制器微控制器 AT89C51AT89C51 構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大,且由于 AT89C51 可以帶多個(gè) DSB1820,因此可以非常容易實(shí)現(xiàn)多點(diǎn)測量.輕松的組建傳感器網(wǎng)絡(luò)。采用溫度芯片 DS18B20 測量溫度

11、,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢。多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 6 頁 共 27 頁2.2 主控制部分主控制部分方案一:方案一:此方案采用 PC 機(jī)實(shí)現(xiàn)。它可在線編程,可在線仿真的功能,這讓調(diào)試變得方便。且人機(jī)交互友好。但是 PC 機(jī)輸出信號不能直接與 DS18B20 通信。需要通過 RS232 電平轉(zhuǎn)換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便。而且在一些環(huán)境比較惡劣的場合,PC 機(jī)的體積

12、大,攜帶安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩!方案二:方案二:此方案采用 AT89C51 八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對多 DS18B20 控制工作,還可以與 PC 機(jī)通信.運(yùn)用主從分布式思想,由一臺上位機(jī)(PC 微型計(jì)算機(jī)) ,下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外 AT89C51 在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。2.3 系統(tǒng)方案綜上所述,溫度傳感器以及主控部分都采用第二方案。系統(tǒng)采用針對

13、傳統(tǒng)溫度測溫系統(tǒng)測溫點(diǎn)少,系統(tǒng)兼容性及擴(kuò)展性較差的特點(diǎn),運(yùn)用分布式通訊的思想。設(shè)計(jì)一種可以用于大規(guī)模多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用的是 RS-232 串行通訊的標(biāo)準(zhǔn),通過下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場的溫度采集,溫度數(shù)據(jù)既可以由下位機(jī)模塊實(shí)時(shí)顯示,也可以送回上位機(jī)進(jìn)行數(shù)據(jù)處理,具有巡檢速度快,擴(kuò)展性好,成本低的特點(diǎn)。實(shí)際采用電路方案如下圖:多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 7 頁 共 27 頁第三章第三章 硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)系統(tǒng)底層電路的功能主要包括:多點(diǎn)溫度測試及其相關(guān)處理,實(shí)時(shí)顯示溫度信息,與上位機(jī)通訊傳輸溫度數(shù)據(jù)。硬件設(shè)計(jì)主要包括以下幾個(gè)模塊:電源以及看門狗電路, 鍵盤以及顯示電路,溫度測

14、試電路,串口通訊電路。下面對電路分模塊進(jìn)行說明3.1 電源以及看門狗電路電源以及看門狗電路a電源電路 因?yàn)閱纹瑱C(jī)工作電源為+5V,且底層電路功耗很小。采用 7805 三端穩(wěn)壓片即可滿足要求。具體電路圖如下:下位機(jī)(AT89C51)上位機(jī)(PC)下位機(jī)(AT89C51)傳感器模塊顯示模塊控制模塊傳感器模塊顯示模塊控制模塊上位機(jī)(PC)下位機(jī)(AT89C51)傳感器模塊顯示模塊控制模塊傳感器模塊顯示模塊控制模塊多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 8 頁 共 27 頁b看門狗電路考慮到底層電路板的工作環(huán)境相對惡劣,單片機(jī)會受到周圍環(huán)境的干擾,而出現(xiàn)程序跑飛,死機(jī)等一些不可預(yù)知的不正常工作現(xiàn)象。工作人員也不可能到

15、現(xiàn)場對單片機(jī)重起,本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路。定時(shí)查詢單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即對單片機(jī)延時(shí)重起。保證系統(tǒng)安全可靠的運(yùn)行。NE56604能為多種微處理器和邏輯系統(tǒng)提供復(fù)位信號,其門限電平為4.2V 。在電源突然掉電或電源電壓下降到低于門限電平時(shí)。NE56604將產(chǎn)生精確的復(fù)位信號。NE56604內(nèi)置一個(gè)看門狗定時(shí)器,用于監(jiān)控微處理器,以確保微處理器的正常運(yùn)行??撮T狗能產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號用來終止任何由于微處理器故障而引發(fā)的不正常的系統(tǒng)操作。NE56604的看門狗的監(jiān)控周期為100mS(典型值)。特性特性. .正負(fù)雙邏輯輸出的有效復(fù)位信號。.精準(zhǔn)的門限電平監(jiān)測。.上電復(fù)位內(nèi)部

16、延時(shí)。.可利用外部電阻調(diào)節(jié)的內(nèi)部看門狗定時(shí)器。.看門狗定時(shí)器的監(jiān)控周期為100mS 典型值。.VCC=0.8VDC時(shí)產(chǎn)生有效的復(fù)位信號典型值。.僅需很少的外圍元件。具體電路圖如下:多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 9 頁 共 27 頁3.2 鍵盤以及顯示電路鍵盤以及顯示電路鍵盤電路鍵盤電路單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。鍵盤有編碼和非編碼兩種。非編碼鍵盤硬件電路極為簡單。故本系統(tǒng)采用撥碼開關(guān)來控制。具體電路如下:A.A. 開關(guān)狀態(tài)的可靠輸入開關(guān)狀態(tài)的可靠輸入鍵開關(guān)狀態(tài)的可靠輸入有兩種解決方法。一種是軟件去抖動:它

17、是在檢測到有鍵按下時(shí),執(zhí)行一個(gè) 10ms 的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動影響。另一種為硬件去抖動:即為按鍵添加一個(gè)鎖存器。兩種方法都簡單易行,本設(shè)計(jì)采用的是硬件去抖。B.B. 對按鍵進(jìn)行編碼給定鍵值或給出鍵號對按鍵進(jìn)行編碼給定鍵值或給出鍵號對于按鍵無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的散轉(zhuǎn)轉(zhuǎn)移。為使編碼間隔小,散轉(zhuǎn)入口地址安排方便,常采用依次序排列的鍵號。撥碼開關(guān)值撥碼開關(guān)值含義含義0000實(shí)時(shí)顯示通道一的溫度值0001實(shí)時(shí)顯示通道二的溫度值0010實(shí)時(shí)顯示通

18、道三的溫度值多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 10 頁 共 27 頁0011實(shí)時(shí)顯示通道四的溫度值0100實(shí)時(shí)顯示通道五的溫度值0101實(shí)時(shí)顯示通道六的溫度值0110實(shí)時(shí)顯示通道七的溫度值0111實(shí)時(shí)顯示通道八的溫度值1*自動循環(huán)顯示所有通道的溫度C.C. 選擇鍵盤監(jiān)測方法選擇鍵盤監(jiān)測方法對是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。本設(shè)計(jì)采用的查詢法,即在在 CPU 空閑時(shí)調(diào)用鍵盤掃描子程序。溫度顯示電路溫度顯示電路設(shè)計(jì)采用的是共陰極七段數(shù)碼管。顯示方式有動態(tài)掃描和靜態(tài)顯示,兩種方法在本設(shè)計(jì)中皆可。由于靜態(tài)掃描要用到多片串入并出芯片,考慮到電路板成本計(jì)算。本人采用是節(jié)約硬件資源的動態(tài)掃描方式。

19、即用兩塊芯片就可以完成顯示功能。顯示數(shù)據(jù)由4511 譯碼器輸出,ULN2003 為位驅(qū)動掃描信號。具體電路圖如下:多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 11 頁 共 27 頁3.2 溫度測試電路溫度測試電路這里我們用到溫度芯片 DS18B20。DS18B20 是 DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有 3 引腳 TO92 小體積封裝形式。測溫分辨率可達(dá) 0.0625,被測溫度用符號擴(kuò)展的 16 位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。DS18B20 支持“

20、一線總線”接口,測量溫度范圍為 -55C+125C,在-10+85C 范圍內(nèi),精度為0.5C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 12 頁 共 27 頁 DS18B20DS18B20 內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)(1) DS18B20 的內(nèi)部結(jié)構(gòu)如下圖所示。 DS18B20 內(nèi)部結(jié)構(gòu)圖DS18B20 有 4 個(gè)主要的數(shù)據(jù)部件: 64 位激光 ROM。64 位激光 ROM 從高位到低位依次為 8 位 CRC、48 位序列號和 8 位家族代碼(28H)組成。 溫度靈敏元件。

21、 非易失性溫度報(bào)警觸發(fā)器 TH 和 TL??赏ㄟ^軟件寫入用戶報(bào)警上下限值。 配置寄存器。配置寄存器為高速暫存存儲器中的第五個(gè)字節(jié)。DS18B20 在 0 工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖所示。TMR1R011111MSB DS18B20 配置寄存器結(jié)構(gòu)圖LSB其中,TM:測試模式標(biāo)志位,出廠時(shí)被寫入 0,不能改變;R0、R1:溫度計(jì)分辨率設(shè)置位,其對應(yīng)四種分辨率如下表所列,出廠時(shí) R0、R1 置為缺省值:R0=1,R1=1(即12 位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。配置寄存器與分辨率關(guān)系表 :R0R1溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間

22、/us多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 13 頁 共 27 頁00993.750110187.510113751112750(2) 高速暫存存儲器高速暫存存儲器由 9 個(gè)字節(jié)組成,其分配如下圖所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第 0 和第 1 個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如圖所示。對應(yīng)的溫度計(jì)算:當(dāng)符號位 S=0 時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S=1 時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。溫度低位溫度高位THTL配置保留保留保留8 位 CRCLSB DS18B20 存儲器映像圖MSB溫度值格式圖 DS1

23、8B20 溫度數(shù)據(jù)表:2 23 32 22 22 21 12 20 02 2-1-12 2-2-22 2-3-32 2-4-4MSBMSBLSBLSBS SS SS SS SS S2 26 62 25 52 24 4典型對應(yīng)的溫度值表:溫度/二進(jìn)制表示十六進(jìn)制表示+125 +25.0625+10.125+0.50-0.500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100007D0H0191H00A2H0008H0000HFFF8H多點(diǎn)溫度檢測系

24、統(tǒng)設(shè)計(jì)第 14 頁 共 27 頁-10.125-25.0625-5511111111 0101111011111110 0110111111111100 10010000FF5EHFE6FHFC90HDS18B20 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù) I/O 均由同一條線來完成。硬件連接電路如下圖:AT89C51DS18B201#DS18B202#DS18B203#DS18B2020#VCC=5V4.7K1WIRE本系統(tǒng)為多點(diǎn)溫度測試。DS18B20 采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛 256 個(gè) DS18B20,但時(shí)間應(yīng)用中發(fā)現(xiàn),如果掛接 25 個(gè)以上的 DS

25、18B20 仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過 80M,否則也會影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機(jī)的多個(gè) I/O 來驅(qū)動多路 DS18B20。在實(shí)際應(yīng)用中還可以使用一個(gè) MOSFET 將 I/O 口線直接和電源相連,起到上拉的作用。對 DS18B20 的設(shè)計(jì),需要注意以下問題(1)對硬件結(jié)構(gòu)簡單的單線數(shù)字溫度傳感器DS18B20 進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊提供的有關(guān)操作順序進(jìn)行,讀、寫時(shí)間片程序要嚴(yán)格按要求編寫。尤其在使用DS18B20 的高測溫分辨力時(shí),對時(shí)序及電氣特性參數(shù)要求更高。(2)有多個(gè)測溫點(diǎn)時(shí),應(yīng)考

26、慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動指示,進(jìn)行自動DS18B20 序列號和自動排序,以減少調(diào)試和維護(hù)工作量。多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 15 頁 共 27 頁(3)測溫電纜線建議采用屏蔽4 芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。DS18B20 在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將VCC與GND接在一起,焊接牢固。若VCC脫開未接,傳感器只送85.0 的溫度值。(4)實(shí)際應(yīng)用時(shí),要注意單線的驅(qū)動能力,不能掛接過多的DS18B20,同時(shí)還應(yīng)注意最遠(yuǎn)接線距離。另外還應(yīng)根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)。3.3 串口通訊電路串口通訊電路AT89C51 有一個(gè)全

27、雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是 RS232 電平的,而單片機(jī)的串口是 TTL 電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232 進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。具體電路如下:C2-5C2+4R2O9T2IN10T1O14R1IN13C1-3C1+1GND15VS-6R2IN8T2O7T1IN11R1O12VS+2VCC16U18MAX232VCCC321u/25VC331u/25VC341u/25VC351u/25VC361u/25V16273849

28、5J15DB9RXDTXD我們采用了三線制連接串口,也就是說和電腦的 9 針串口只連接其中的 3 根線:第5 腳的 GND、第 2 腳的 RXD、第 3 腳的 TXD。這是最簡單的連接方法,但是對本設(shè)計(jì)來說已經(jīng)足夠使用了,電路如上圖所示。通信線采用交叉接法,即兩者信號線對應(yīng)成為 RT,TR。 具體連接電路如下:多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 16 頁 共 27 頁162738495J1DB9 AT89C51162738495J2DB9 PCRXDRXDTXDTXD3.4 整體電路整體電路 見附件二(電路原理圖)第四章第四章軟件設(shè)計(jì)軟件設(shè)計(jì)4.1 概述概述 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)

29、硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序) ,它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序) ,它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。4.2 主程序方案主程序方案主程序調(diào)用了 4 個(gè)子程序,分別是數(shù)碼管顯示

30、程序、鍵盤掃描以及按鍵處理程序、溫度測試程序、中斷控制程序、單片機(jī)與 PC 機(jī)串口通訊程序。鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識別及相關(guān)處理。溫度測試程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 17 頁 共 27 頁數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。串口通訊程序:實(shí)現(xiàn) PC 機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給 PC 機(jī)。將各個(gè)功能程序以子程序的形式寫好,當(dāng)寫主程序的時(shí)候,只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和 I/O 沖突即可。程序應(yīng)該盡可能多的使用調(diào)用指令代替跳轉(zhuǎn)指令

31、。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指令則不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無論是修改還是維護(hù)都比較方便。將功能程序段寫成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處那就是以后寫程序的時(shí)候如果要用到,程序結(jié)構(gòu)LED顯示數(shù)碼管顯示程序鍵盤掃描程序中斷控制程序溫度芯片傳數(shù)據(jù)程序繼電器控制程序與當(dāng)前溫度相比較程序串口通訊程序程序結(jié)構(gòu)LED顯示數(shù)碼管顯示程序鍵盤掃描程序中斷控制程序溫度芯片傳數(shù)據(jù)程序繼電器控制程序與當(dāng)前溫度相比較程序串口通訊程序開始系統(tǒng)初始化系統(tǒng)硬件測試程序串口通訊子程序溫度顯示子程序撥碼開關(guān)掃描子程序溫度測試及處理子程序開始系統(tǒng)初始化系統(tǒng)硬件測試程序串口通訊子程

32、序溫度顯示子程序撥碼開關(guān)掃描子程序溫度測試及處理子程序多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 18 頁 共 27 頁就可以直接調(diào)用這個(gè)單元功能模塊。主程序流程圖如右圖:4.3 各模塊子程序設(shè)計(jì)各模塊子程序設(shè)計(jì)下面對主要幾個(gè)子程序的流程圖做介紹:(1)溫度測試子程序設(shè)計(jì)見附錄一:溫度測試子程序流程圖(2)中斷控制程序設(shè)計(jì)如右圖:(3)串口通信程序設(shè)計(jì)本次通訊中,測控系統(tǒng)分位上位機(jī)和下位機(jī)之間的通信,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)行現(xiàn)場可視化檢測,通信協(xié)議采用半雙工異步串行通信方式,通過RS232 的 RTS 信號進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。本人采用的

33、VB 環(huán)境下 PC 機(jī)與單片機(jī)之間實(shí)現(xiàn)串行通訊的軟硬件方案。VB是 Microsoft 公司推出的 Windows 應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡便等優(yōu)點(diǎn)而受到廣泛的使用,而且 Visual Basic 6.0 版本帶有專門實(shí)現(xiàn)串行通訊的 MSCOMM控件。MSComm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式。事件驅(qū)動方式:由MSComm控件的OnComm事件捕獲并處理通訊錯(cuò)誤及事件;查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯(cuò)誤。 1) MSCom

34、m 控件的主要屬性和方法 a. CommPort:設(shè)置或返回串行端口號,其取值范圍為 199,缺省為 1 b. Setting:設(shè)置或返回串行端口的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)、停止位。 中斷入口到否定時(shí)器重新賦值裝下一個(gè)溫度顯示存儲單元地址返回中斷入口到否定時(shí)器重新賦值裝下一個(gè)溫度顯示存儲單元地址返回多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 19 頁 共 27 頁c. PortOpen:打開或關(guān)閉串行端口。 d. RThreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或超過該值后就產(chǎn)生 MSComml-OnComm 事件。 e. Input:從接收緩沖區(qū)移走一串字符。 f. Output:向發(fā)

35、送緩沖區(qū)傳送一字符串。 軟件流程圖如下:單片機(jī)程序流程圖PC 通訊程序流程圖參數(shù)設(shè)定:通信端口選擇 COM1,波特率設(shè)定為 1200B/SMSCOmm.CommPort=1MSComm.Setting=“1200, n, 8, 1” 。 START: MOVSP,#60H開始自動接收數(shù)據(jù)子程序讀一個(gè)數(shù)據(jù)且存儲回復(fù)55H接受字節(jié)數(shù)據(jù)是聯(lián)絡(luò)信號AAH?返回8個(gè)字節(jié)到否?NYNY開始自動接收數(shù)據(jù)子程序讀一個(gè)數(shù)據(jù)且存儲回復(fù)55H接受字節(jié)數(shù)據(jù)是聯(lián)絡(luò)信號AAH?返回8個(gè)字節(jié)到否?NYNY開始發(fā)聯(lián)絡(luò)信號AAH發(fā)儲存單元數(shù)據(jù)是聯(lián)絡(luò)信號55H?NY返回開始發(fā)聯(lián)絡(luò)信號AAH發(fā)儲存單元數(shù)據(jù)是聯(lián)絡(luò)信號55H?NY返回

36、多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 20 頁 共 27 頁MOVTMOD,#20HMOVTH1,#0E6HMOVTL1,#0E6H ;1200B/S,晶振為12MHZMOV PCON,#00HMOVSCON,#50HSETBTR1第五章第五章系統(tǒng)調(diào)試系統(tǒng)調(diào)試5.1 分步調(diào)試分步調(diào)試1 1、測試環(huán)境及工具、測試環(huán)境及工具測試溫度:0100 攝氏度。 (模擬多點(diǎn)不同溫度值環(huán)境)測試儀器及軟件:數(shù)字萬用表,溫度計(jì) 0100 攝氏度,串口調(diào)試助手。測試方法:目測。2 2、測試方法、測試方法使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測是否正常(包括單片機(jī)最小系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等) 。系統(tǒng)自帶測試表格數(shù)據(jù),觀察顯

37、示數(shù)據(jù)是否相符合即可。采用溫度傳感器和溫度計(jì)同時(shí)測量多點(diǎn)水溫變化情況(取溫度值不同的多點(diǎn)) ,目測顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。使用串口調(diào)試助手與單片機(jī)通訊,觀察單片機(jī)與串口之間傳輸數(shù)據(jù)正確否。3 3、測試結(jié)果分析、測試結(jié)果分析自檢正常,各點(diǎn)溫度顯示正常,串口傳輸數(shù)據(jù)正確。因?yàn)樾酒撬芰戏庋b,所以對溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個(gè)很短的時(shí)間才能達(dá)到穩(wěn)定。5.2 統(tǒng)一調(diào)試統(tǒng)一調(diào)試將硬件及軟件結(jié)合起來進(jìn)行系統(tǒng)的統(tǒng)一調(diào)試。實(shí)現(xiàn) PC 機(jī)與單片機(jī)通訊,兩者可多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 21 頁 共 27 頁以實(shí)時(shí)更新顯示各點(diǎn)溫度值。結(jié)束語結(jié)束語AT89C51

38、 的時(shí)鐘為 12M,I/O 口可達(dá) 32 個(gè),高的時(shí)鐘頻率和豐富的 I/O,都為實(shí)現(xiàn)電路功能提供了非常有利的條件。同時(shí)也 AT89C51 內(nèi)含 4KB FLASH ROM,開發(fā)環(huán)境友好,易用,方便,大大加快本系統(tǒng)設(shè)計(jì)開發(fā)。撥碼開關(guān)的使用,使操作更為簡潔,易懂。實(shí)時(shí)顯示電路的設(shè)計(jì),使溫度信息更迅速,直觀地發(fā)布。本制作的設(shè)計(jì)中使用了傳感器的只是插座電路,因此,該系統(tǒng)的可擴(kuò)展性很強(qiáng)。整個(gè)系統(tǒng)硬件簡單、可靠,系統(tǒng)成本低。致此本人設(shè)計(jì)基本完成了預(yù)期的目標(biāo),系統(tǒng)在硬件自動測試,鍵盤操作,實(shí)時(shí)顯示方面做的比較好。但是由于時(shí)間倉促、條件有限,設(shè)計(jì)成果并不是很完美,還存在下面問題:串口通訊不穩(wěn)定,未對溫度數(shù)值統(tǒng)

39、計(jì)處理以及存儲。我準(zhǔn)備在今后的工作過程中進(jìn)一步完善此設(shè)計(jì)。 多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 22 頁 共 27 頁參考文獻(xiàn)參考文獻(xiàn)1. 賈振國. DS1820 及高精度溫度測量的實(shí)現(xiàn)J.電子技術(shù)應(yīng)用,2000(1):58 - 59.2. 余永權(quán). 單片機(jī)原理及應(yīng)用. 北京:電子工業(yè)出版社, 1997 3. 邦田. 電子電路實(shí)用抗干擾技術(shù). 北京:人民郵電出版社,1994 4. Dallas semiconductor inc,ds18b20 programmable resolution 1wiredigital thermometer 2001Z .5. 曲喜貴. 電子元件材料手冊 M. 北京:電子

40、工業(yè)出版社,1989.422-430.6. 黃賢武,鄭筱霞,曲波等. 傳感器實(shí)際應(yīng)用電路設(shè)計(jì)M. 成都:電子科技大學(xué)出版社,1997.4-10.7. 劉君華. 智能傳感器系統(tǒng) M . 西安:西安電子科技大學(xué)出版社,1999.8. 余永權(quán). Flash 單片機(jī)原理及應(yīng)用 M. 北京:電子工業(yè)出版社,1997.9. 邦田. 電子電路實(shí)用抗干擾技術(shù) M . 北京:人民郵電出版社,1994.10. 周云波. 由DS18B20單線數(shù)字溫度計(jì)構(gòu)成的單線多點(diǎn)溫度測量系統(tǒng). 電子技術(shù)應(yīng)用,1996(2):15- 20.11. 吉鵬 ,馬云峰等. 微機(jī)原理與接口技術(shù) M. 北京:高等教育出版社,2001.12.

41、 振國. DS1820 及高精度溫度測量的實(shí)現(xiàn) J . 電子技術(shù)應(yīng)用,2000 (1) .13. 東耀,汪仁煌. 數(shù)字溫度傳感器在倉庫溫度檢測系統(tǒng)的應(yīng)用J. 傳感器世界,2001(12):30- 33.14. 月霞,孫傳友. DS18B20 硬件連接及軟件編程J. 傳感器世界,2001(12):25- 29.15. 一線數(shù)字溫度傳感器資料M. 武漢:武漢力源電子有限公司,1996.16. 賢武,鄭霞,曲波. 傳感器實(shí)際應(yīng)用電路設(shè)計(jì)M. 成都:電子科技大學(xué)出版社,1997.17. 偉正. 單線數(shù)字溫度傳感器的原理與應(yīng)用1. 電子技術(shù)應(yīng)用,2000,6.66-6818. DALLAS公司.DS18

42、B20數(shù)據(jù)手冊Z19. 周月霞,孫傳友. DS18B20 硬件連接及軟件編程J. 傳感器世界,2001, (12).多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 23 頁 共 27 頁20. 單線數(shù)字溫度傳感器資料M. 武漢:武漢力源電子有限公司,1996.21. 賈東耀,汪仁煌. 數(shù)字溫度傳感器在倉庫溫度檢測系統(tǒng)的應(yīng)用J. 傳感器世界,2001(12).22. 余永權(quán). ATMEL 89系列單片機(jī)應(yīng)用技術(shù)M. 北京:北京航空航天大學(xué)出版社2002.23. 胡漢才. 單片機(jī)原理及系統(tǒng)設(shè)計(jì)M. 北京:清華大學(xué)出版社,200224. 李更祥. 單總線數(shù)字式智能型溫度傳感器在測控領(lǐng)域中的應(yīng)用J. 計(jì)算機(jī)自動測量與控制,1

43、999,7(3):51-53.25. 忠梅. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M. 北京:北京航空航天大學(xué)出版社,1997多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 24 頁 共 27 頁附錄附錄附錄一:溫度測試子程序流程圖初始化DS18B20匹配ROM命令發(fā)一個(gè)DS18B20序列號等待1us讀當(dāng)前DS18B20溫度開始所有DS18B20都訪問完畢?存在一個(gè)DS18B20?發(fā)搜索ROM命令讀并存儲當(dāng)前DS18B20序列號跳過ROM命令初始化DS18B20溫度轉(zhuǎn)換命令初始化DS18B20Y YN NY YN N初始化DS18B20匹配ROM命令發(fā)一個(gè)DS18B20序列號等待1ms轉(zhuǎn)換結(jié)束讀當(dāng)前DS18B20溫度開始所有D

44、S18B20都訪問完畢?存在一個(gè)DS18B20?發(fā)搜索ROM命令讀并存儲當(dāng)前DS18B20序列號跳過ROM命令初始化DS18B20初始化DS18B20Y YN NY YN N多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)第 25 頁 共 27 頁附錄二:電路原理圖12345678ABCD87654321DCBATitleNumberRevisionSizeA3Date:22-May-2006Sheet of File:E:.ddbDrawn By:P0732P0633P0534P0435P0336P0237P0138P0039INT113INT012T115T014EA/VP31X119X218RD17WD16RESE

45、T9P101P112P123P134P145P156P167P178P2021P2122P2223P2324P2425P2526P2627P2728RXD10TXD11ALE/P30PSEN29VCC40GND20U3AT89C51A7B1C2D6LT3BI4LE5A13B12C11D10E9F15G14U13451112J12CON2R26802211PTC21AIN1OUT2GND3U147805C2510u/16VC261u/16VVCCC27470u/25V+5VY220MHzC2820PC2920PC300.68uC311u/16V/RESET8VS7RCT6VCC5CT1RESET2CLK3GND4U15NE56604R81KVCC12U16A74HC04R6300S2P-SWD4LED

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論