基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁
基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁
基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁
基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的多點(diǎn)無線溫度監(jiān)控系統(tǒng)設(shè)計(jì)前言 在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。其中,溫度控制也越來越重要。在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們都需要對(duì)各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測和控制。采用單片機(jī)對(duì)溫度進(jìn)行控制不僅具有控制方便、簡單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機(jī)對(duì)溫度的控制問題是一個(gè)工業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的控制問題。 單片機(jī)是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實(shí)現(xiàn)對(duì)數(shù)字信息的處理和控制。因此,單片機(jī)廣泛用于

2、現(xiàn)代工業(yè)控制中。隨著“信息時(shí)代”的到來,作為獲取信息的手段傳感器技術(shù)得到了顯著的進(jìn)步,其應(yīng)用領(lǐng)域越來越廣泛,對(duì)其要求越來越高,需求越來越迫切。傳感器技術(shù)已成為衡量一個(gè)國家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。由于傳感器能將各種物理量、化學(xué)量和生物量等信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),使得人們可以利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)測量、信息處理和自動(dòng)控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號(hào)的

3、處理、顯示和控制的要求,而且只有通過對(duì)傳感器應(yīng)用實(shí)例的原理和智能傳感器實(shí)例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制、開發(fā)和應(yīng)用。另一方面,傳感器的被測信號(hào)來自于各個(gè)應(yīng)用領(lǐng)域,每個(gè)領(lǐng)域都為了改革生產(chǎn)力、提高工效和時(shí)效,各自都在開發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開發(fā)設(shè)計(jì)了這一溫度監(jiān)控系統(tǒng)。文中傳感

4、器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了基于單片機(jī)AT89S51和溫度傳感器DS18B20的溫度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。系統(tǒng)包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模塊,驅(qū)動(dòng)電路五個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹。本設(shè)計(jì)應(yīng)用性比較強(qiáng),系統(tǒng)稍微改裝可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。 1 概述1.1 課題研究的目的及意義隨著社會(huì)的發(fā)展,溫度的測量及控制變得越來越重要。溫度是生產(chǎn)過程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)。在工業(yè)生產(chǎn)過程中為了高效地進(jìn)行生產(chǎn),必須對(duì)生產(chǎn)工藝

5、過程中的主要參數(shù),如溫度,壓力,流量,速度等進(jìn)行有效的控制。其中溫度的控制在生產(chǎn)過程中占有相當(dāng)大的比例。準(zhǔn)確測量和有效控制溫度是優(yōu)質(zhì),高產(chǎn),低耗和安全生產(chǎn)的重要條件。在工業(yè)的研制和生產(chǎn)中,為了保證生產(chǎn)過程的穩(wěn)定運(yùn)行并提高控制精度,采用微電子技術(shù)是重要的途徑。它的作用主要是改善勞動(dòng)條件,節(jié)約能源,防止生產(chǎn)和設(shè)備事故,以獲得好的技術(shù)指標(biāo)和經(jīng)濟(jì)效益。本課題采用51單片機(jī)來對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo)。作為控制系統(tǒng)中的一個(gè)典型實(shí)驗(yàn)設(shè)計(jì),單片機(jī)溫度控制系統(tǒng)綜合運(yùn)用了微機(jī)原理、自動(dòng)控制原理、傳感器原理、模擬電子技術(shù)、數(shù)字控制技術(shù)、鍵盤顯示

6、技術(shù)等諸多方面的知識(shí),是對(duì)所學(xué)知識(shí)的一次綜合測試。1.2 課題研究現(xiàn)狀分析由于現(xiàn)代工藝越來越多的需要對(duì)實(shí)時(shí)溫度進(jìn)行監(jiān)測和控制,而且需要的精度越來越高。所以溫度控制系統(tǒng)國內(nèi)外許多有關(guān)人員的重視,得到了十分廣泛的應(yīng)用。溫度控制系統(tǒng)發(fā)展迅速,而且成果顯著。由于單片微處理器的性能日益提高、價(jià)格又不斷降低,使其性能價(jià)格比的優(yōu)勢非常明顯。因此,如何將單片微處理器應(yīng)用到鍋爐溫度自動(dòng)控制領(lǐng)域,為越來越多的生產(chǎn)廠家所重視。目前先進(jìn)國家各種爐窯自動(dòng)化水平較高,裝備有完善的檢測儀表和計(jì)算機(jī)控制系統(tǒng)。其計(jì)算機(jī)控制系統(tǒng)已采用集散系統(tǒng)和分布式系統(tǒng)的形式,大部分配有先進(jìn)的控制算法,能夠獲得較好的工藝性能指標(biāo)。單片微型計(jì)算機(jī)

7、是隨著超大規(guī)模集成電路的技術(shù)的發(fā)展而誕生的。由于它具有體積小,功能強(qiáng),性價(jià)比高等優(yōu)點(diǎn),所以廣泛應(yīng)用于電子儀表,家用電器,節(jié)能裝置,軍事裝置,機(jī)器人,工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化,智能化,既提高了產(chǎn)品的功能和質(zhì)量又降低了成本,簡化了設(shè)計(jì)。1.3 技術(shù)指標(biāo)設(shè)計(jì)并制作一個(gè)基于單片機(jī)的溫度控制系統(tǒng),能夠?qū)t溫進(jìn)行控制。爐溫可以在一定范圍內(nèi)由人工設(shè)定,并能在爐溫變化時(shí)實(shí)現(xiàn)自動(dòng)控制。若測量值高于溫度設(shè)定范圍,由單片機(jī)發(fā)出控制信號(hào),經(jīng)過驅(qū)動(dòng)電路使加熱器停止工作。當(dāng)溫度低于設(shè)定值時(shí),單片機(jī)發(fā)出一個(gè)控制信號(hào),啟動(dòng)加熱器。通過繼電器的反復(fù)開啟和關(guān)閉,使?fàn)t溫保持在設(shè)定的溫度范圍內(nèi)。溫度設(shè)定范圍為099,最小區(qū)分

8、度為1,溫度控制的誤差1能夠用數(shù)碼管精確顯示當(dāng)前實(shí)際溫度值按鍵控制:設(shè)置復(fù)位鍵、加一鍵、減一鍵越限報(bào)警2 總體設(shè)計(jì) 2.1 系統(tǒng)設(shè)計(jì)方案論證實(shí)現(xiàn)溫度控制的方法主要有以下幾種。方案一:采用純硬件的閉環(huán)控制系統(tǒng)。該系統(tǒng)的優(yōu)點(diǎn)在于速度較快,但可靠性比較差控制精度比較低、靈活性小、線路復(fù)雜、調(diào)試、安裝都不方便。且要實(shí)現(xiàn)題目所有的要求難度較大。方案二:FPGA/CPLD或采用帶有IP內(nèi)核的FPGA/CPLD方式。即用FPGA/CPLD完成采集,存儲(chǔ),顯示及A/D等功能,由IP核實(shí)現(xiàn)人機(jī)交互及信號(hào)測量分析等功能。這種方案的優(yōu)點(diǎn)在于系統(tǒng)結(jié)構(gòu)緊湊,可以實(shí)現(xiàn)復(fù)雜的測量與與控制,操作方便;缺點(diǎn)是調(diào)試過程復(fù)雜,成本

9、較高。方案三:單片機(jī)與高精度溫度傳感器結(jié)合的方式。即用單片機(jī)完成人機(jī)界面,系統(tǒng)控制,信號(hào)分析處理,由前端溫度傳感器完成信號(hào)的采集與轉(zhuǎn)換。這種方案克服了方案一、二的缺點(diǎn),所以本課題任務(wù)是基于單片機(jī)和溫度傳感器實(shí)現(xiàn)對(duì)溫度的控制。2.2 系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)主要包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模塊,驅(qū)動(dòng)電路五個(gè)部分。系統(tǒng)框圖如圖2.2-1所示溫度傳感器單片機(jī)鍵盤控制復(fù)位電路顯示電路報(bào)警電路控制電路圖2.2-1 系統(tǒng)框圖 其中數(shù)據(jù)采集模塊負(fù)責(zé)實(shí)時(shí)采集溫度數(shù)據(jù),采集到的溫度數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),由單片機(jī)處理后的數(shù)據(jù)送顯示部分顯示。設(shè)置模塊可設(shè)置預(yù)定溫度,當(dāng)檢測到的溫度低于設(shè)定溫度時(shí),單片機(jī)控

10、制驅(qū)動(dòng)電路啟動(dòng)加熱,并發(fā)出報(bào)警聲;當(dāng)檢測溫度高于設(shè)定溫度時(shí),停止加熱。3 硬件設(shè)計(jì)3.1 元器件的選擇3.1.1 單片機(jī)選擇單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,本課題選擇AT89S51作為主控芯片。AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)

11、大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51芯片具有以下特性:指令集和芯片引腳與Intel公司的8051兼容;4KB片內(nèi)在系統(tǒng)可編程Flash程序存儲(chǔ)器;時(shí)鐘頻率為033MHz;128字節(jié)片內(nèi)隨機(jī)讀寫存儲(chǔ)器(RAM);32個(gè)可編程輸入/輸出引腳;2個(gè)16位定時(shí)/計(jì)數(shù)器;6個(gè)中斷源,2級(jí)優(yōu)先級(jí);全雙工串行通信接口;監(jiān)視定時(shí)器;2個(gè)數(shù)據(jù)指針。AT89S51單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。電源引腳Vcc和VssVcc(40腳):接+5V電源正端;Vss(20

12、腳):接+5V電源正端。外接晶振引腳XTAL1和XTAL2XTAL1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHOMS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。XTAL2(18腳):接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。對(duì)于CHMOS芯片,該引腳懸空不接??刂菩盘?hào)或與其它電源復(fù)用引腳有RST/VPD、ALE/P、PSE等4種形式。RST/VPD(9腳):RST即為RESET,VPD為備用電源,所

13、以該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)復(fù)位到初始狀態(tài)。當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD(+5V)為內(nèi)部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。ALE/ P (30腳):當(dāng)訪問外部存儲(chǔ)器時(shí),ALE(允許地址鎖存信號(hào))以每機(jī)器周期兩次的信號(hào)輸出,用于鎖存出現(xiàn)在P0口的地址信號(hào)。PSEN(29腳):片外程序存儲(chǔ)器讀選通輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期PESN兩次有效,以通過數(shù)據(jù)總線口讀回指令或常數(shù)。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器期間,PESN信號(hào)

14、將不出現(xiàn)。EA/Vpp(31腳):EA為訪問外部程序儲(chǔ)器控制信號(hào),低電平有效。當(dāng)EA端保持高電平時(shí),單片機(jī)訪問片內(nèi)程序存儲(chǔ)器4KB(MS52子系列為8KB)。若超出該范圍時(shí),自動(dòng)轉(zhuǎn)去執(zhí)行外部程序存儲(chǔ)器的程序。當(dāng)EA端保持低電平時(shí),無論片內(nèi)有無程序存儲(chǔ)器,均只訪問外部程序存儲(chǔ)器。對(duì)于片內(nèi)含有EPROM的單片機(jī),在EPROM編程期間,該引腳用于接21V的編程電源Vpp。輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口P0口(39腳22腳):這8條引腳有兩種不同功能,分別適用于兩種不同情況。第一種情況是89S51不帶片外存儲(chǔ)器,P0口可以作為通用I/O口使用,P0.0-P0.7用于傳送CPU的

15、輸入/輸出數(shù)據(jù)。第二種情況是89S51帶片外存儲(chǔ)器,P0.0-P0.7在CPU訪問片外存儲(chǔ)器時(shí)用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(shù)據(jù)。 P1口(1腳8腳):這8條引腳和P0口的8條引腳類似,P1.7為最高位,P1.0為最低位。當(dāng)P1口作為通用I/O口使用時(shí),P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。 P2口(21腳28腳):這組引腳的第一功能和上述兩組引腳的第一功能相同,既它可以作為通用I/O口使用。 P3口(10腳17腳):P3.0P3.7統(tǒng)稱為P3口。而且P3口的每一條引腳均可獨(dú)立定義為第1功能的輸入輸出或第2功能。P3口

16、的第2功能見表3.1.1-1。表3.1.1-1 單片機(jī)P3口管腳第2功能引腳第2功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD(串行口輸入端0)TXD(串行口輸出端)INT0(部中斷0請(qǐng)求輸入端,低電平有效)INT1(中斷1請(qǐng)求輸入端,低電平有效)T0(時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖端)T1(時(shí)器/計(jì)數(shù)器1數(shù)脈沖端)WR(部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端,低電平有效)RD(部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效)AT89S51單片機(jī)引腳圖如圖3.1.1-1所示 圖3.1.1-1 單片機(jī)引腳圖3.1.2 傳感器選擇本系統(tǒng)采用DALLAS半導(dǎo)體公司生產(chǎn)的一線式數(shù)字溫度傳感器DS1

17、8B20采集溫度數(shù)據(jù)、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。 DS18B20的性能特點(diǎn):采用單總線專用技術(shù),直接輸出被測溫度值(9位二進(jìn)制數(shù),含符號(hào)位),測溫范圍為-55-+125,測量分辨率為0.0625。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖3.1.2-2所示。 圖3.1.2-2 DS18B20引腳分布圖DS18B20高速暫存器共9個(gè)存存單元,如表3.1.2-1所示: 表3.1.2-1 DS18B20高速暫存器序號(hào)寄存器名稱作 用序號(hào)寄存器名稱作用0123溫度

18、低字節(jié)溫度高字節(jié)TH/用戶字節(jié)1HL/用戶字節(jié)2以16位補(bǔ)碼形式存放以16位補(bǔ)碼形式存放存放溫度上限存放溫度下限4、5678保留字節(jié)1、2計(jì)數(shù)器余值計(jì)數(shù)器/CRC以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。溫度由DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20 測溫范圍為-55C+125C

19、,測溫分辨率可達(dá)0.0625C,被測溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。CPU 只需一根端口線就能與諸多DS18B20 通信。公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20 測溫范圍為-55C+125C,測溫分辨率可達(dá)0.0625C,被測溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K左右的上拉電阻。 DS18B20有六條控制命令,如表3.1

20、.2-3所示:表3.1.2-3 DS18B20控制命令指 令約定代碼操 作 說 明溫度轉(zhuǎn)換讀暫存器寫暫存器復(fù)制暫存器重新調(diào)E2RAM讀電源供電方式44HBEH4EH48HB8HB4H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器9個(gè)字節(jié)內(nèi)容將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)把暫存器的TH、TL字節(jié)寫到E2RAM中把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPUCPU對(duì)DS18B20的訪問流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18

21、B,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。3.2 單片機(jī)控制模塊控制模塊是整個(gè)設(shè)計(jì)方案的核心,它控制了溫度的采集、處理與顯示、溫度值的設(shè)定與溫度越限時(shí)控制電路的啟動(dòng)。本控制模塊由單片機(jī)AT89S51及其外圍電路組成,電路如圖3.2-1所示。圖3.2-1 單片機(jī)控制模塊電路該電路采用按鍵加上電復(fù)位,S2為復(fù)位按鍵,復(fù)位按鍵按下后,復(fù)位端通過51的小電阻與電源接通,迅速放電,使RST引腳為高電平,復(fù)位按鍵彈起后,電源通過8.2K的電阻對(duì)10KF的電容C5重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖

22、.AT89S51內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈沖,外部還需附加電路,本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體振蕩器,就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路,C6和C7的值通常選擇為30pF左右,晶振Y1選擇12MHz.為了減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器電容應(yīng)盡可能安裝得與單片機(jī)引腳XTAL1和XTAL2靠近。單片機(jī)的31腳(EA)接+5V電源,表示允許使用片內(nèi)ROM。3.3 溫度數(shù)據(jù)采集模塊溫度由DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20 采集。DS18B20

23、 測溫范圍為-55C+125C,測溫分辨率可達(dá)0.0625C,被測溫度用符號(hào)擴(kuò)展的16 位補(bǔ)碼形式串行輸出。CPU 只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。本設(shè)計(jì)采用三引腳PR-35封裝的DS18B20,其引腳圖見圖3。Vcc接外部+5V電源,GND接地,I/O與單片機(jī)的P3.4(T0)引腳相連。3.4 顯示模塊顯示部分采用LED靜態(tài)顯示方式,共陰極的數(shù)碼管的公共端COM連接在一起接地,每位的段選線與74HC164的8位并口相連,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符,考慮到節(jié)約單片機(jī)的I/O資源,因而采用串行接

24、口方式,外接8位移位寄存器74HC164構(gòu)成顯示電路,電路如圖3.4-1所示。圖3.4-1 顯示模塊電路 74HC164的邏輯功能介紹如下:當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QAQH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)當(dāng) A、B 有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài)。H高電平 L低電平 X任意電平 低到高電平跳變 QA0,QB0,QH0 規(guī)定的穩(wěn)態(tài)條件建立前的電平 QAn,QGn 時(shí)鐘最近的前的電平。圖3.4-2 74HC164時(shí)序圖在單片機(jī)的TXD(P3.1)運(yùn)行時(shí)鐘信號(hào),將顯示數(shù)據(jù)由RXD(P3.0)口串行輸出至74

25、HC164的A、B端。3.5 溫度設(shè)置模塊溫度設(shè)置部分采用獨(dú)立式按鍵,S4為溫度值加1按鍵,與單片機(jī)的P0.0口相連;S3為溫度值減1按鍵,與單片機(jī)的P0.1口相連。當(dāng)沒有鍵按下時(shí),單片機(jī)與之相連的輸入口線為高電平,當(dāng)任何一個(gè)按鍵按下時(shí),與之相連的 輸入口線被置為低電平,產(chǎn)生外中斷條件,在 中斷服務(wù)程序中讀取鍵盤值。溫度設(shè)置電路如圖3.5-1所示。 圖3.5-1 溫度設(shè)置模塊電路3.6 控制電路控制電路與單片機(jī)的P0.2口相連,由于單片機(jī)輸出控制信號(hào)非常微弱,需要用三極管來驅(qū)動(dòng)外圍電路,三極管選用NPN型的 9014,當(dāng)檢測溫度低于設(shè)定溫度時(shí),在單片機(jī)的P0.2口輸出高電平控制信號(hào),使三極管9

26、014導(dǎo)通,使繼電器兩控制端產(chǎn)生壓差,從而使繼電器吸合,常開觸點(diǎn)接通,控制外部電路對(duì)鍋爐進(jìn)行加熱;當(dāng)檢測溫度高于設(shè)定溫度時(shí),單片機(jī)輸出低電平信號(hào),三極管截止,繼電器不吸合,外部電路停止加熱??刂齐娐冯娐穲D如圖3.6-1所示。圖3.6-1 控制電路4 軟件設(shè)計(jì)系統(tǒng)軟件要實(shí)現(xiàn)的功能如下:利用4只共陰數(shù)碼管,LED1顯示檢測溫度十位,LED2顯示檢測溫度個(gè)位,LED3顯示設(shè)定溫度十位,LED4顯示設(shè)定溫度個(gè)位,顯示分辨率為1。單片機(jī)復(fù)位后默認(rèn)設(shè)定溫度為40,當(dāng)每按下一次設(shè)定溫度上升按鈕ADD時(shí),設(shè)定溫度增加1,最高為120,當(dāng)每按下一次設(shè)定溫度下降按鈕DEC時(shí),設(shè)定溫度減少1,最低設(shè)定為0。當(dāng)設(shè)定溫

27、度大于檢測溫度時(shí)加熱輸出,當(dāng)設(shè)定溫度小于檢測溫度時(shí)加熱停止。4.1 主程序流程圖溫度控制程序的設(shè)計(jì)應(yīng)考慮如下:鍵盤掃描、鍵碼識(shí)別和溫度顯示;爐溫采樣;數(shù)據(jù)處理;越限報(bào)警和處理。系統(tǒng)流程圖如圖4.1-1所示。減加小于與設(shè)定溫度比較開始初始化停止加熱檢測溫度顯 示判斷按鍵設(shè)定值加設(shè)定值減顯 示大于啟動(dòng)加熱圖4.1-1 系統(tǒng)流程圖4.2 溫度傳感器DS18B20工作過程及時(shí)序DS18B20工作過程中的協(xié)議如下:初始化ROM操作命令存儲(chǔ)器操作命令處理數(shù)據(jù)4.2.1 初始化時(shí)序時(shí)序如圖4.2.1-1所示。主機(jī)總線發(fā)送復(fù)位脈沖(最短為480S,最高時(shí)間為960S的低電平信號(hào)),接著再釋放總線(置總線為高電

28、平)并進(jìn)入接收狀態(tài)。DS18B20在檢測到總線的上升沿后等待1560S發(fā)出器件存在脈沖(低電平持續(xù)60240S)。初始化程序如下所示:INIT:SETBP3.4 NOP CLRP3.4 MOVR0,#0FFH DJNZR0,$ SETBP3.4 MOVR0,#100LIU:JNBP3.4,IT3DJNZR0,LIUCLR38HSJMPIT7IT3: SETB38HIT7: MOV R0,#240DJNZR0,$SETBP3.4RET 單片機(jī)主動(dòng)釋放60-240S15-60S480-960S圖4.2.1-1 初始化時(shí)序圖此初始化程序功能為:檢測DS18B20是否存在,如存在,將位地址38H置1;

29、如不存在,將位地址38H清零。4.2.2寫時(shí)序單片機(jī)寫DS18B20的時(shí)序如圖4.2.2-2所示,當(dāng)主機(jī)總線從高拉至低電平時(shí)就產(chǎn)生寫時(shí)間隙,DS18B20在檢測到下降沿后15S時(shí)開始采樣總線上的電平,所以15S之內(nèi)應(yīng)將所需寫的位送到總線上,DS18B20再1560S間對(duì)總線采樣,每寫一位總時(shí)間必須在60120S之間完成。若低電平寫入的位是0,高電平寫入的位是1,連續(xù)寫時(shí)位間的間隙應(yīng)大于1S。程序如下所示:WRITER:MOVR0,#8WR1:CLRP3.4MOVR4,#6DJNZR4,$RRCAMOVP3.4,CMOVR4,#40DJNZR4,$SETBP3.4NOPDJNZR0,WR1SET

30、BP3.4RET寫060-120S寫1,DS18B20在檢測到下降沿15S后采樣,采樣時(shí)間為15-60S1560-120SDS18B20檢測到下降沿15S后采樣15S圖4.2.2-1 單片機(jī)寫DS18B20時(shí)序圖4.2.3讀時(shí)序單片機(jī)讀DS18B20的時(shí)序如圖4.2.3-1所示,單片機(jī)主動(dòng)產(chǎn)生一個(gè)下降沿的啟動(dòng)信號(hào),并維持低電平大于1S后釋放總線,15S后DS18B20占主動(dòng)權(quán),DS18B20會(huì)將數(shù)據(jù)按位放在總線上(低位在先,當(dāng)讀取兩個(gè)字節(jié)的溫度值時(shí),低字節(jié)在先),這時(shí)單片機(jī)可讀取信號(hào),讀取一位的時(shí)間應(yīng)在60S內(nèi)完成。當(dāng)需要讀取下一位時(shí)再產(chǎn)生下降沿啟動(dòng)信號(hào)。T60S單片機(jī)采樣第二位啟動(dòng)脈沖T60

31、S單片機(jī)采樣第一位啟動(dòng)脈沖圖4.2.3-1 單片機(jī)讀DS18B20的時(shí)序圖READ:SETBRS0MOVR4,#2MOVR0,#36HRE1:MOVR5,#8RE2:CLRCSETBP3.4NOPNOPCLRP3.4NOPNOPNOPSETBP3.4MOVR6,#7DJNZR6,$MOVC,P3.4MOVR6,#20DJNZR6,$RRCADJNZR5,RE2MOVR0,ADECR0DJNZR4,RE1CLRRS0NOPRET此程序功能為:讀取DS18B20 A/D轉(zhuǎn)換后的溫度值,轉(zhuǎn)換后的二進(jìn)制存入36H、35H單元,默認(rèn)為12位轉(zhuǎn)換,低8位存入36H單元,高8位存入35H單元(35H單元的高

32、5位均為符號(hào)位,所以判斷符號(hào)只需判斷低12位數(shù)據(jù)的最高位即可)。1表示為零度以下,0表示零度以上,實(shí)際有效位為11位。5 系統(tǒng)調(diào)試5.1 測試環(huán)境 環(huán)境溫度為:23測試儀器: 標(biāo)準(zhǔn)溫度計(jì)、加熱工具(此處選用燒熱的電烙鐵)、制冷工具(此處選用冰塊)5.2 測量方法系統(tǒng)溫度測量的準(zhǔn)確度。我們將標(biāo)準(zhǔn)溫度計(jì)和溫度控制系統(tǒng)的探頭放在一起,選定若干不同溫度點(diǎn),記錄下標(biāo)準(zhǔn)溫度計(jì)的溫度和溫度控制系統(tǒng)測量顯示的溫度進(jìn)行比較。設(shè)定開啟加熱溫度,改變環(huán)境溫度,驗(yàn)證檢測到的溫度高于設(shè)定溫度時(shí)是否停止加熱,檢測到的溫度小于設(shè)定溫度時(shí)是否啟動(dòng)加熱。5.3 測試結(jié)果本系統(tǒng)測量顯示溫度與標(biāo)準(zhǔn)溫度計(jì)測量溫度對(duì)比如表5.3-1所

33、示。表5.3-1 溫度測量準(zhǔn)確度標(biāo)準(zhǔn)溫度計(jì)測量溫度()本系統(tǒng)測量顯示溫度()232530404560232530404560根據(jù)溫度測量數(shù)據(jù)的對(duì)比可知,本系統(tǒng)能夠準(zhǔn)確地測量并顯示環(huán)境溫度。設(shè)定不同的開啟加熱溫度,改變溫度,系統(tǒng)工作情況如表5.3-2所示。表5.3-2 系統(tǒng)加熱測量設(shè)定溫度()環(huán)境溫度()發(fā)光二極管(亮/滅)15151525252525404040401015302024253030394050亮滅滅亮亮滅亮亮亮滅滅發(fā)光二極管亮表示啟動(dòng)加熱,滅表示停止加熱。根據(jù)表5.3-2可知,系統(tǒng)可以自由設(shè)定不同的加熱溫度,溫度設(shè)定當(dāng)環(huán)境溫度低于設(shè)定溫度時(shí)系統(tǒng)啟動(dòng)加熱,當(dāng)環(huán)境溫度高于或等于設(shè)定

34、溫度時(shí),系統(tǒng)停止加熱。經(jīng)過反復(fù)測試,系統(tǒng)溫度設(shè)定范圍為0120,最小區(qū)分度為1,溫度控制的誤差1;能夠測量并用數(shù)碼管顯示當(dāng)前實(shí)際溫度值;通過復(fù)位鍵可以使系統(tǒng)設(shè)定溫度還原默認(rèn)值,通過加一鍵和減一鍵可以以1步進(jìn)設(shè)置預(yù)定溫度;環(huán)境溫度低于設(shè)定溫度時(shí),啟動(dòng)加熱,紅色發(fā)光二極管點(diǎn)亮,環(huán)境溫度高于或等于設(shè)定溫度時(shí),停止加熱,紅色發(fā)光二極管滅。達(dá)到了課題要求的技術(shù)指標(biāo)。5 結(jié)束語本設(shè)計(jì)詳細(xì)介紹了基于單片機(jī)AT89S51的溫度控制系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)。系統(tǒng)包括數(shù)據(jù)采集模塊,單片機(jī)控制模塊,顯示模塊和溫度設(shè)置模塊,驅(qū)動(dòng)電路五個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹。完成了課題既定的任務(wù),達(dá)到了預(yù)期

35、的目標(biāo)。系統(tǒng)具有如下特點(diǎn):采用智能溫度傳感器DS18B20采集溫度數(shù)據(jù),簡化了硬件電路設(shè)計(jì),溫度采集數(shù)據(jù)更加精準(zhǔn);AT89S51單片機(jī)的采用,有利于功能擴(kuò)展;電路設(shè)計(jì)充分考慮了系統(tǒng)可靠性和安全性。本系統(tǒng)沒有增加外部存儲(chǔ)器,設(shè)定溫度不能保存,斷電復(fù)位后必須重新設(shè)置溫度;采用靜態(tài)顯示方式,從而使用了較多的驅(qū)動(dòng)芯片,增加了硬件電路的復(fù)雜性;只使用兩位顯示,即顯示溫度的十位、個(gè)位,沒有充分發(fā)揮DS18B20的特性。本設(shè)計(jì)軟件和硬件相結(jié)合,有相當(dāng)大的難度,同時(shí)也有很大的實(shí)用性。在做畢業(yè)設(shè)計(jì)的過程中,我的理論和實(shí)踐水平都有了較大的提高。在本課題的設(shè)計(jì)中,我熟練掌握了單片機(jī)硬件設(shè)計(jì)和接口技術(shù),同時(shí)對(duì)溫度傳感

36、器的原理及應(yīng)用有了一定的了解,掌握了各種控制電路及其相關(guān)元器件的使用。通過這次畢業(yè)設(shè)計(jì),我不僅學(xué)會(huì)如何將所學(xué)專業(yè)知識(shí)運(yùn)用到實(shí)際生活中,還學(xué)會(huì)如何克服未知的困難,解決難題的方法。四年的本科學(xué)習(xí)生涯即將結(jié)束,在本人做畢業(yè)設(shè)計(jì)中,得到了我的導(dǎo)師XX的悉心指導(dǎo)和無私幫助。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和謙和的為人給我留下了深刻的印象。雖然老師公務(wù)繁忙,教學(xué)任務(wù)重,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從查閱資料到設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),實(shí)物制作等整個(gè)過程中都給予了我悉心的指導(dǎo)。在課題實(shí)施階段,感謝實(shí)驗(yàn)室的老師XX對(duì)我的幫助和實(shí)驗(yàn)器材、場地的支持。其次要感謝大學(xué)四年來所有的授課老師,為我們打下電子專業(yè)知識(shí)

37、的基礎(chǔ);同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì)。此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。最后我要深深地感謝我的家人,正是他們含辛茹苦地把我養(yǎng)育成人,在生活和學(xué)習(xí)上給予我無盡的愛、理解和支持,才使我時(shí)刻充滿信心和勇氣,克服成長路上的種種困難,順利的完成大學(xué)學(xué)習(xí)。還有許許多多給予我學(xué)業(yè)上鼓勵(lì)和幫助的師長、朋友,在此無法一一列舉,在此也表示忠心地感謝!大學(xué)生活的結(jié)束,也是我人生新的生活起點(diǎn),我將謹(jǐn)記老師們的教誨,將自己的所學(xué)奉獻(xiàn)給社會(huì)。附錄附錄1:系統(tǒng)總原理附錄2:系統(tǒng)PCB圖附錄3:源程序清單/.主程序及初始化程序/KEY_ADDBITP0.0KEY_DECBITP0.1OUTPUTBITP0.

38、2ORG0000HLJMPMAINORG0100HMAIN:MOVSP,#60HMOV4AH,#15 ;單片機(jī)復(fù)位后默認(rèn)設(shè)定溫度為15MOV4BH,#0CLROUTPUTMAAI:LCALLTEMPER1LCALLDISPLAYLCALLKEYSCANLCALLOUTSJMPMAAI/DS18B20初始化程序/TEMPER1:LCALLINITJNB38H,TEMPER1MOVA,#0CCHLCALLWRITERMOVA,#44HLCALLWRITERTE3:LCALLINITMOVA,#0CCHLCALLWRITERMOVA,#0BEHLCALLWRITERLCALLREADNOPRETIN

39、IT:SETBP3.4 ;置1NOPCLRP3.4 ;清零MOVR0,#0FFHDJNZR0,$SETBP3.4MOVR0,#100LIU:JNBP3.4,IT3DJNZR0,LIUCLR38HSJMPIT7IT3:SETB38HIT7:MOVR0,#240DJNZR0,$SETBP3.4RET/DS18B20寫數(shù)據(jù)/WRITER:MOVR0,#8 WR1:CLRP3.4MOVR4,#6DJNZR4,$RRCAMOVP3.4,CMOVR4,#40DJNZR4,$SETBP3.4NOPDJNZR0,WR1SETBP3.4RET/DS18B20讀數(shù)據(jù)/READ:SETBRS0 ;選擇工作寄存器組1

40、MOVR4,#2MOVR0,#36H ;從36H單元開始存RE1:MOVR5,#8RE2:CLRCSETBP3.4NOPNOPCLRP3.4NOPNOPNOPSETBP3.4MOVR6,#7DJNZR6,$MOVC,P3.4MOVR6,#20DJNZR6,$RRCADJNZR5,RE2MOVR0,ADECR0DJNZR4,RE1CLRRS0NOPRET/顯示程序/DISPLAY:CLR7FHCLR7EHMOVA,36HANLA,#0FHMOV40H,AMOVA,36HSWAPAANLA,#0FHMOV41H,AMOVA,35HSWAPAANLA,#0F0HORLA,41HJBACC.7,FUM

41、OV41H,AMOVB,#100DIVABMOV53H,AMOVA,BMOVB,#10DIVABMOV52H,AMOV51H,BMOVA,40HCJNEA,#8,PDMOV50H,#5PD:JCXIAOMOV50H,#5SJMPEXITXIAO:MOV50H,#0EXIT:AJMPEXIT1FU:MOV41H,AMOVA,40HCPLAANLA,#0FHINCAJBACC.4,FU1SJMPFU5FU1:SETB7FHANLA,#0FHFU5:CJNEA,#8,FU2MOV50H,#5SJMPFU3FU2:JCFU4MOV50H,#5SJMPFU3FU4:MOV50H,#0FU3:MOVA,4

42、1HCPLAMOVC,7FHADDCA,#0SETB7EHMOVB,#10DIVABMOV52H,A ;取溫度十位送52HMOV51H,B ;取溫度個(gè)位送51HEXIT1:MOVA,4AHMOVB,#100DIVABMOV4FH,AMOVA,BMOVB,#10DIVABMOV4EH,A ;取得設(shè)定溫度十位送4EH單元MOV4CH,B ;取得設(shè)定溫度個(gè)位送4CH單元MOVDPTR,#TABMOVA,4CH ;取得設(shè)定溫度個(gè)位段碼并通過串口送出顯示MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,4EH ;取得設(shè)定溫度十位段碼并通過串口送出顯示MOVCA,A+DPTRMO

43、VSBUF,AJNBTI,$CLRTIMOVA,51H ;取得檢測溫度個(gè)位段碼并通過串口送出顯示MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,52H ;取得檢測溫度十位段碼并通過串口送出顯示MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTISJMPEXIT3/EXIT2:MOVA,#40H/MOVSBUF,A/JNBTI,$/CLRTIEXIT3:NOPACALLDELAYRET/數(shù)字碼表/ TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,3EH,0E0H,0EFH,0E6H/延時(shí)程序/DELAY:MOV58H,#150 ;延時(shí)約20msDE:MOV59H,#100DJNZ59H,$DJNZ58H,DENOPRET/鍵盤掃描程序/KEYSCAN:JB7DH,SCAN1JBKEY_ADD,SCAN2DJNZR0,$JBKEY_ADD,SCAN2SETB7DHMOVA,4BHJNZSCAN3MOV4BH,#5SJMPSCAN2

溫馨提示

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

評(píng)論

0/150

提交評(píng)論