基于DS18B20的溫度監(jiān)控系統(tǒng)_第1頁
基于DS18B20的溫度監(jiān)控系統(tǒng)_第2頁
基于DS18B20的溫度監(jiān)控系統(tǒng)_第3頁
基于DS18B20的溫度監(jiān)控系統(tǒng)_第4頁
基于DS18B20的溫度監(jiān)控系統(tǒng)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)摘 要本設(shè)計以STC12C5A關(guān)鍵詞:STC12C5A SummaryThis design STC12C5AKeywords: STC12C5AII目 錄摘 要ISummaryII目 錄III第1章 緒論1第2章 總體設(shè)計方案22.1 方案一22.2 方案二22.3 方案比較2第3章 硬件系統(tǒng)方案設(shè)計33.1 DS18B20溫度傳感器簡介33.2單片機(jī)接口電路設(shè)計73.1.1晶振電路83.1.2串口引腳83.1.3 其它引腳93.3鍵盤控制設(shè)計93.4溫度測試電路10

2、3.5溫度控制器件電路103.6七段數(shù)碼管顯示電路10 3.7 串口通信電路 11第4章 軟件系統(tǒng)分析與設(shè)計124.1程序結(jié)構(gòu)分析154.2系統(tǒng)程序流圖18第5章 系統(tǒng)仿真調(diào)試與參數(shù)測量195.1測試環(huán)境205.2測試方法215.3測試結(jié)果215.4測試分析21結(jié) 論22參考文獻(xiàn)23附 錄25附錄一:使用說明25附錄二:元件清單25III第1章 緒論溫度是工業(yè)生產(chǎn)過程中最普遍、最重要反日檢測參數(shù)之一。任何物理變化和化學(xué)變化的過程都與溫度密切相關(guān)。溫度檢測和控制都直接與安全生產(chǎn)、節(jié)約能源等技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。溫度測量在工業(yè)、民用、軍事等領(lǐng)域占著重要的地位。航空、家電、科研等領(lǐng)域都需要溫度測試設(shè)備

3、,用于測試和確定電工、電子及其它產(chǎn)品及材料進(jìn)行高溫、低溫、交變溫度或恒定試驗(yàn)的溫度環(huán)境的變化,判斷當(dāng)檢測目標(biāo)的溫度值達(dá)到警示條件時發(fā)出警告信號。常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運(yùn)行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實(shí)用 ,但由于繼電器動作頻繁 ,可能會因觸點(diǎn)不良而影響正常工作??刂祁I(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當(dāng)擾

4、動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測。第2章 總體設(shè)計方案2.1 方案一測溫電路的設(shè)計,可以使用熱敏電阻之類的器件利用其感溫

5、效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來。2.2 方案二考慮使用數(shù)字溫度傳感器,結(jié)合單片機(jī)電路設(shè)計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進(jìn)行轉(zhuǎn)換,依次完成設(shè)計要求。2.3 方案比較方案一采用模擬溫度傳感器,數(shù)據(jù)處理麻煩,且容易產(chǎn)生信號失真,方案二可以只用一根線實(shí)現(xiàn)信號的雙向傳輸,具有接口簡單、容易擴(kuò)展等優(yōu)點(diǎn),并且可以掛接多個從機(jī),適用于單片機(jī)、多從機(jī)構(gòu)成的系統(tǒng)。DS18B20可以直接溫度轉(zhuǎn)換為串行數(shù)字信號,供單片機(jī)進(jìn)行處理,具有低功耗、高性能、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。比較以上兩種方案,

6、很容易看出,采用方案二,電路比較簡單,軟件設(shè)計容易實(shí)現(xiàn),故實(shí)際設(shè)計中擬采用方案二。在本系統(tǒng)的電路設(shè)計方框圖如圖1.1所示。 圖1.1 溫度計電路總體設(shè)計方案第3章 硬件系統(tǒng)方案設(shè)計3.1 DS18B20溫度傳感器簡介DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強(qiáng)易配處理器等優(yōu)點(diǎn),特別適合用于構(gòu)成多點(diǎn)溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進(jìn)制數(shù)字)給單片機(jī)處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測量范圍55125,可編程為912位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625綜上,在

7、本系統(tǒng)中我采用溫度芯片DS18B20測量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0-100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號,便于單片機(jī)處理及控制。 圖3.1溫度芯片DS18B203.1單片機(jī)接口電路設(shè)計DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個三極管來完成對總線的上拉。本設(shè)計采用電源供電方式, P2.2口接單線總線為保證在有效的D

8、S18B20時鐘周期內(nèi)提供足夠的電流,可用一個上拉電阻和stc12c5a16s2的P2.2來完成對總線的上拉。當(dāng)DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強(qiáng)的上拉,上拉開啟時間最大為10 初始化; ROM操作指令; 存儲器操作指令。3.1.1晶振電路單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶振,形成單片機(jī)的晶振電路。 圖3.1.13.1.2串口引腳 P0口接9個2.2K的排阻然后接到顯示電路上。P2.2溫度傳感器DS18B20如圖3.1.2所示。 圖3.1.2 圖3.3 DS18B20與單片機(jī)的接口電路P3.6引腳接繼電器電路的4.7K的

9、限流電阻上;P1口中P1.4、P1.5、P1.6、P1.7分別接到顯示電路的三極管上,P3.2接蜂鳴器電路,P1.3接到發(fā)光二極管上;P2口接到按鍵電路。3.1.3 其它引腳 ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電3.2鍵盤控制設(shè)計單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。 鍵開關(guān)狀態(tài)的可靠輸入 :為了去抖動我采用軟件方法,它是在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動影響在這種

10、行列式矩陣鍵盤非編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。對照圖示的3*4鍵盤,說明線反轉(zhuǎn)法工作原理。首先辨別鍵盤中有無鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:給P2口的一個口致0,其它致1,判斷P2口值是否有變化,在判斷是哪個按鍵按下。 圖3.23.3溫度測試電路采用溫度芯片DS18B20??梢灾苯訉⒈粶y溫度轉(zhuǎn)換為串行數(shù)字信號,工單片機(jī)進(jìn)行處理,具有低功耗、高功能、抗擾能力強(qiáng)等優(yōu)點(diǎn)。 圖3.

11、3溫度傳感器電路引腳圖3.4溫度控制器件電路單片機(jī)通過三極管控制繼電器的通斷,最后達(dá)到控制外圍器件電路的目的。當(dāng)溫度未達(dá)到要求時,單片機(jī)發(fā)送高電平信號使三極管飽和導(dǎo)通,繼電器使電源與外圍器件接通。當(dāng)溫度上升到預(yù)定溫度時,單片機(jī)發(fā)送低電平信號三極管進(jìn)入截止?fàn)顟B(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開,外圍器件截止。繼電器電路中有一個PNP三極管的保護(hù)電路,即將一個二極管反向接到三機(jī)管的兩端。連接方法如圖3.4所示。 圖3.4其原理是:當(dāng)繼電器突然斷電時,繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過三級管8050的電流比較小,達(dá)到保護(hù)三極管8050的作用3.5七段數(shù)碼管顯示電

12、路 具體見實(shí)際連線圖如圖3.5,當(dāng)位選打開時,送入相應(yīng)的段碼,則相應(yīng)的數(shù)碼管打開,關(guān)掉位選,打開另一個位選,送入相應(yīng)的段碼,則數(shù)碼管打開,而每次打開關(guān)掉相應(yīng)的位選時,時間間隔低于20ms,從人類視覺的角度上看,就仿佛是全部數(shù)碼管同時顯示的一樣。 圖3.53.6串口通信電路 串口是計算機(jī)上一種非常通用設(shè)備通信的協(xié)議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數(shù)計算機(jī)包含兩個基于RS232的串口。串口同時也是儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備也帶有RS-232口。同時,串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。串口通信的概念非常簡單,串口按

13、位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設(shè)備線總常不得超過20米,并且任意兩個設(shè)備間的長度不得超過2米;而對于串口而言,長度可達(dá)1200米。RS-232(ANSI/EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時也可以接工業(yè)儀器儀表。用于驅(qū)動和連線的改進(jìn),實(shí)際應(yīng)用中RS-232的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。RS-232只限于PC串口和設(shè)備間點(diǎn)對點(diǎn)的通信。RS-23

14、2串口通信最遠(yuǎn)距離是50英尺。DB-9針連接頭 1 2 3 4 5 / 6 7 8 9 / 從計算機(jī)連出的線的截面。RS-232針腳的功能:數(shù)據(jù): TXD(pin 3):串口數(shù)據(jù)輸出RXD(pin 2):串口數(shù)據(jù)輸入握手:RTS(pin 7):發(fā)送數(shù)據(jù)請求CTS(pin 8):清除發(fā)送DSR(pin 6):數(shù)據(jù)發(fā)送就緒DCD(pin 1):數(shù)據(jù)載波檢測DTR(pin 4):數(shù)據(jù)終端就緒地線:GND(pin 5):地線其他RI(pin 9):鈴聲指示 4.1程序結(jié)構(gòu)分析主程序調(diào)用了5個子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機(jī)與PC機(jī)串口通訊程

15、序。鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識別及進(jìn)入相應(yīng)的程序。溫度信號處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。繼電器控制程序:控制繼電器動作串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給PC機(jī)。4.2系統(tǒng)程序流圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,寫入子程序等,按鍵子程序,串口通信程序,顯示子程序,聲光報警子程序。1)主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖4.2所示。通過調(diào)用讀

16、溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來 圖4.2.14.2.2 按鍵子程序流程圖 4.2.318B20溫度流程圖 4.2.4串口通信子程序流程圖 4.4 調(diào)試主程序的功能是:啟動DS18B20測量溫度,將測量值與所設(shè)定的溫度上下限值進(jìn)行比較,若測得溫度小于設(shè)定下限值,則進(jìn)入聲光報警子程序,這期間聲光報警不間斷的響起,直到溫度在設(shè)定范圍內(nèi),才終止聲光報警程序,若測得溫度大于所設(shè)定的溫度上限值,亦進(jìn)入聲光報警子程序,此時聲光報警不間斷的響起,直到所測的溫度在設(shè)定的安全范圍內(nèi)。第一次上電調(diào)試,設(shè)置溫度上限為35攝氏度,溫度下限為28攝氏

17、度。但溫度卻不顯示出來,后經(jīng)檢查發(fā)現(xiàn)原來是DS18B20初始化時間設(shè)置不對,導(dǎo)致沒法讀到DS18B20的溫度值,延時時間重設(shè)后才顯示出溫度值來。再經(jīng)實(shí)際接電調(diào)試,一切運(yùn)行正常。 按鍵調(diào)試時,剛開始由于沒有設(shè)置按鍵松手檢測程序,按鍵一直失靈,后將按鍵松手檢測程序(while(P2=0Xxx)后,按鍵運(yùn)轉(zhuǎn)正常。串口調(diào)試時,剛開始是發(fā)送一個數(shù)據(jù)便顯示一個數(shù)據(jù)便打開一次中斷,這樣導(dǎo)致數(shù)據(jù)更換太慢,沒法同時顯示幾個數(shù)據(jù),后將所有要顯示的數(shù)據(jù)一個一個儲存起來后再打開中斷,一起送出去,這樣問題解決了,發(fā)送和接收都沒有錯誤了。串口調(diào)試程序如下: findout(uint r,uint y) uint i; f

18、or(i=0;i11;i+) if(table4i=r) break; y=i;void serial_init()/串口初始化TMOD=0 x20;SCON=0 x50;TH1=0 xf3;TL1=0 xf3;PCON=0 x80;EA=1;TR1=1;void serial() interrupt 4void send_serial() /串口發(fā)送顯示 uchar a,b,c; a=TN/10; b=TN%10; c=TD; ES=0; TI=0; SBUF=table4a; while(TI=0); TI=0; SBUF=table4b; while(TI=0); TI=0; SBUF=

19、table410; while(TI=0); TI=0; SBUF=table4c; while(TI=0); TI=0; SBUF=table411; while(TI=0); TI=0; ES=1; void receive_serial() /串口接收顯示 uint a,b,c,d; ES=0; RI=0; while(RI=0); a=SBUF; RI=0; while(RI=0); b=SBUF; RI=0; while(RI=0); c=SBUF; RI=0; while(RI=0); d=SBUF; RI=0; ES=1; y1=findout(a,y1); y2=findout

20、(b,y2); y3=findout(c,y3); y4=findout(d,y4);第5章 分析5.1測試環(huán)境環(huán)境溫度28攝氏度,室內(nèi)面積20平方米測試儀器:數(shù)字萬用表,溫度計0-100攝氏度5.2測試方法使系統(tǒng)運(yùn)行,采用溫度計同時測量室內(nèi)度變化情況,得出系統(tǒng)測量的溫度。5.3測試結(jié)果設(shè)定溫度由25攝氏度到40攝氏度標(biāo)定溫差=1攝氏度 靜態(tài)誤差=0.5攝氏度 5.4測試分析對于實(shí)際室內(nèi)的溫度控制,可以再提出以下方法 :檢驗(yàn)所做溫度測量是否準(zhǔn)確,可以用電吹風(fēng)機(jī)作為加熱設(shè)備,降溫設(shè)備可采用空氣壓縮機(jī)等制冷設(shè)備,并將所采集到的溫度與實(shí)際標(biāo)準(zhǔn)的溫度計進(jìn)行比較。 通過實(shí)驗(yàn)測試和分析,發(fā)現(xiàn)雖然傳感器的溫度采集精度最高可得到 0.06 ,但測試得到的數(shù)據(jù)最小間隔為 0.03 。通過分析,當(dāng)對浮點(diǎn)數(shù)求平均處理時,遇到同一時刻兩個傳感頭采集的溫度相差不大,使 0.06 結(jié) 論溫度檢測和控制都直接與安全生產(chǎn)、節(jié)約能源等技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。溫度測量在工業(yè)、民用、軍事等領(lǐng)域占著重要的地位。航空、家電、科研等領(lǐng)域都需要溫度測試設(shè)備,用于測試和確定電工、電子及

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論