基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  溫度是表征物體冷熱程度的物理量,是工農(nóng)業(yè)生產(chǎn)過(guò)程中一個(gè)很重要而普遍的參數(shù)。由于溫度測(cè)量的普遍性,溫度傳感器的數(shù)量在各種傳感器中居首位。溫度控制的發(fā)展引入單片機(jī)后,可以降低對(duì)某些硬件電路的要求?;趩纹瑱C(jī)的溫度控制系統(tǒng),可以實(shí)現(xiàn)對(duì)溫度的精確控制。</p><p>  本文以溫室為研究對(duì)象,以AT89C51

2、單片機(jī)為核心所實(shí)現(xiàn)的溫度控制系統(tǒng)具有自動(dòng)完成數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換控制、鍵盤(pán)終端處理及顯示的功能。當(dāng)實(shí)際溫度低于設(shè)定值,PTC進(jìn)行加熱,反之PTC就停止加熱。實(shí)際溫度超上限或者低下限時(shí),系統(tǒng)自動(dòng)報(bào)警。溫度控制采用的是雙位控制,簡(jiǎn)單易行,在精度要求不是特別高的溫室,可行度很高。 </p><p>  最后對(duì)系統(tǒng)進(jìn)行調(diào)試并在PROTEUS里仿真,結(jié)果表明該系統(tǒng)原理可行。又在一個(gè)小空間進(jìn)行試驗(yàn),誤差在1℃左

3、右,結(jié)果符合預(yù)期。運(yùn)行穩(wěn)定、控制效果好、性價(jià)比高。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī),溫度控制,DS18B20,溫室</p><p><b>  Abstract</b></p><p>  Temperature is the physical quantity characterizing the temperature extent o

4、f objects; it is an important and general parameter in industrial and agricultural production process. Due to the universality of temperature measurement, the quantity of temperature sensor occupies first place among var

5、ious sensors. It can lower the requirements of some circuits after introducing the development of temperature control into microcontroller unit. It can also achieve precise control of the temperature, bas</p><

6、p>  In this article, greenhouse is the object of study. The temperature control system which takes AT89C51 as the core has the function of automatic complete data acquisition, data processing, data conversion control,

7、 keyboard terminal processing and display. When the actual temperature is below the set value, PTC starts heating, on the contrary, it stops heating. When the actual temperature exceeds the upper or lower limit, the syst

8、em gives an alarm automatically. Temperature control is simple and </p><p>  The results shows the principle is available after debugging the system and simulating in Proteus, we also conducted the same tria

9、l in a smaller room, and the error is about 1℃, which is in line with expectations. The system is stable, easy to control and cost-effective.</p><p>  Keyword: microcontroller unit, temperature control, DS18

10、B20, greenhouse</p><p><b>  第一章 緒論</b></p><p>  1.1課題研究背景及意義</p><p>  溫度是表征物體冷熱程度的物理量,是工農(nóng)業(yè)生產(chǎn)過(guò)程中一個(gè)很重要而普遍的參數(shù)。溫度的測(cè)量及控制對(duì)保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率、節(jié)約能源、生產(chǎn)安全、促進(jìn)國(guó)民經(jīng)濟(jì)的發(fā)展起到非常重要的作用。由于溫度測(cè)量的普遍性

11、,溫度傳感器的數(shù)量在各種傳感器中居首位。而且隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,溫度傳感器的種類(lèi)還是在不斷增加豐富來(lái)滿足生產(chǎn)生活中的需要。在單片機(jī)溫度測(cè)量系統(tǒng)中的關(guān)鍵是測(cè)量溫度、控制溫度和保持溫度,溫度測(cè)量是工業(yè)對(duì)象中主要的被控參數(shù)之一。</p><p>  溫度控制采用單片機(jī)設(shè)計(jì)的全數(shù)字儀表,是常規(guī)儀表的的升級(jí)產(chǎn)品。溫度控制的發(fā)展引入單片機(jī)后,可以降低對(duì)某些硬件電路的要求,但依然需要重視測(cè)試電路本身的重要性,尤其是直

12、接獲取被測(cè)信號(hào)的傳感器部分,仍應(yīng)給以充分的重視,有時(shí)提高整臺(tái)儀器的性能的關(guān)鍵仍然在于測(cè)試電路尤其是傳感器的改進(jìn)?,F(xiàn)在傳感器也正在受著微電子技術(shù)的影響,不斷發(fā)展變化。傳感器正朝著小型、固態(tài)、多功能和集成化的方向發(fā)展。</p><p>  基于單片機(jī)的溫度控制系統(tǒng),可以實(shí)現(xiàn)對(duì)溫度的精確控制,使得在某些場(chǎng)合下人們對(duì)溫度高低的要求得以實(shí)現(xiàn)。對(duì)人們的生產(chǎn)和生活影響巨大,比如,在我國(guó)的北方,冬天溫度極低,但引入溫室大棚后,冬

13、天的時(shí)候人們也能吃到新鮮的蔬菜;鋼鐵廠里煉鐵,對(duì)溫度的要求更高,這就使得溫度控制變得極為有意義,而在我們的日常生活中,空調(diào)讓冬天不冷夏天不熱,確實(shí)讓我們感受到溫度控制對(duì)我們生活質(zhì)量的提高也有著極大的作用??傊F(xiàn)代工業(yè)設(shè)計(jì),工程建設(shè)及日常生活中溫度控制都起著重要的作用。</p><p>  1.2國(guó)內(nèi)外研究現(xiàn)狀</p><p>  1.2.1國(guó)外研究現(xiàn)狀</p><p&

14、gt;  國(guó)外對(duì)溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開(kāi)發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)。990年代中期,智能溫控儀問(wèn)世,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)的結(jié)晶。目前,國(guó)際上已開(kāi)發(fā)出多種智能溫控器系列產(chǎn)品。智能溫控器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器和接口電路。有的產(chǎn)品還有多路選擇器、中央控制器

15、(CPU)、隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)?,F(xiàn)在世界各國(guó)的溫度測(cè)控技術(shù)發(fā)展很快,一些國(guó)家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無(wú)人化的方向發(fā)展。</p><p>  1.2.2國(guó)內(nèi)研究現(xiàn)狀</p><p>  我國(guó)對(duì)于溫度測(cè)控技術(shù)的研究較晚,始于20世紀(jì)80年代。我國(guó)工程技術(shù)人員在吸收發(fā)達(dá)國(guó)家溫度測(cè)控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對(duì)溫度的單項(xiàng)環(huán)境因子的

16、控制。我國(guó)溫度測(cè)控設(shè)施計(jì)算機(jī)應(yīng)用,在總體上正從消化吸收、簡(jiǎn)單應(yīng)用階段向?qū)嵱没?、綜合性應(yīng)用階段過(guò)渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)溫度測(cè)量控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到工廠化的程度,生產(chǎn)實(shí)際中仍然有許多問(wèn)題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點(diǎn)。</p><p>  1.

17、2.3總的發(fā)展階段</p><p>  總的來(lái)說(shuō),溫控器被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量日漸上升。近百年來(lái),溫控器的發(fā)展大致經(jīng)歷了三個(gè)階段:1.模擬溫度控制器;2.集成溫度控制器;3.能溫度控制器,目前,國(guó)際上新型溫控器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。</p><p>  1.3課題研究的內(nèi)容</p><p>  本文所要研

18、究的課題是基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì),控制對(duì)象為溫室,主要目標(biāo)是實(shí)現(xiàn)溫度的設(shè)定值顯示、實(shí)際值實(shí)時(shí)測(cè)量及顯示,溫度超上限和低下限危險(xiǎn)報(bào)警。單片機(jī)連接的溫度調(diào)節(jié)裝置由軟件與硬件電路配合來(lái)實(shí)現(xiàn)溫度實(shí)時(shí)控制,顯示可由軟件控制并在數(shù)碼管中顯示。比較采集到溫度與設(shè)定值及上下限的大小,然后做出相應(yīng)的反應(yīng),控制執(zhí)行機(jī)構(gòu)是否降溫或升溫,判斷警報(bào)與否。</p><p>  第二章 硬件系統(tǒng)總體方案設(shè)計(jì)</p>&l

19、t;p>  本次畢業(yè)設(shè)計(jì)以 51系列單片機(jī)為核心對(duì)溫度進(jìn)行控制,使被控對(duì)象的溫度穩(wěn)定在某一指定數(shù)值上,允許有1℃的誤差(不包括元件本身的制造引起的誤差),鍵盤(pán)輸入設(shè)定溫度值,LED數(shù)碼管顯示溫度值(實(shí)際的或設(shè)定的)?;谏鲜鲆螅岢鲆韵聝煞N方案,下文是對(duì)兩種方案的具體論述。</p><p>  2.1硬件系統(tǒng)總體設(shè)計(jì)方案一</p><p>  方案一如圖2-1所示,此方案選用DS1

20、8B20芯片進(jìn)行溫度采集及模擬量與數(shù)字量之間的轉(zhuǎn)換,并直接輸出數(shù)字量,無(wú)需信號(hào)放大,且只占用一根口線,然后將其送數(shù)碼管顯示。4X4矩陣式鍵盤(pán),首先要對(duì)其進(jìn)行鍵盤(pán)掃描,判斷是否有鍵按下,如有鍵按下,要判斷是那個(gè)鍵按下,確定鍵值,然后對(duì)其進(jìn)行輸入,把最后設(shè)定的溫度值送給數(shù)碼管進(jìn)行顯示。如果對(duì)一個(gè)溫度值已經(jīng)設(shè)定完畢后,無(wú)需再按任何鍵即有效,如果溫度值設(shè)定得不合理,可對(duì)溫度進(jìn)行重新設(shè)定,溫度的上下限可由軟件編程設(shè)定,這樣就完成了對(duì)溫度的總體設(shè)置

21、。對(duì)于數(shù)碼管顯示模塊,采用了動(dòng)態(tài)顯示的方法,在程序的設(shè)計(jì)中也相應(yīng)的采用動(dòng)態(tài)顯示方法對(duì)其進(jìn)行編寫(xiě)。首先把設(shè)定的(或采集到)數(shù)據(jù)的十進(jìn)制數(shù)進(jìn)行字節(jié)拆分,分別求出要顯示個(gè)位數(shù)、十位數(shù)、百位數(shù)(顯示實(shí)際溫度時(shí),還要求出十分位),然后將其送至數(shù)碼管顯示。顯示設(shè)定值還是實(shí)際值,可由按鍵進(jìn)行切換。對(duì)于溫度控制模塊,首先是把采集的數(shù)據(jù)和設(shè)定的溫度上下限進(jìn)行比較,如低于下限值或高于上限值,蜂鳴器警報(bào),再把實(shí)際溫度和設(shè)定的溫度比較,決定加熱與否以及加熱時(shí)間

22、的控制。 單片機(jī)軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種控制算法和邏輯控制,不</p><p>  圖2-1 方案一框圖</p><p>  2.2硬件系統(tǒng)總體設(shè)計(jì)方案二</p><p>  方案二如圖2-2所示,采用 AT89C51作為控制核心,以使用最為普遍的器件 ADC0809作模數(shù)轉(zhuǎn)換,控制上使用電阻絲進(jìn)行加熱。此方案簡(jiǎn)易可行,器件的價(jià)格便宜,且 ADC

23、0809是 8位的模數(shù)轉(zhuǎn)換,測(cè)溫范圍是 0-800℃,誤差為 0.5%,即分辨率為 1/200,而 ADC0809的分辨率為 1/256,故能滿足本題目的精度要求。系統(tǒng)要有溫度設(shè)定部分,由于 8051的接口不夠的問(wèn)題,所以對(duì)其進(jìn)行接口擴(kuò)展,采用最常用的 8255并行接口芯片對(duì)其擴(kuò)展,采用 4×4矩陣式鍵盤(pán)接在 8255的 A口和 B口,鍵盤(pán)中有 0到 15之間十六個(gè)數(shù)字鍵,對(duì)溫度的顯示采用三個(gè)數(shù)碼管對(duì)其進(jìn)行顯示,分別是百位、十

24、位、個(gè)位。且系統(tǒng)設(shè)置報(bào)警裝置,使用戶能夠?qū)崟r(shí)知道溫度是否在所設(shè)定所的范圍內(nèi)??刂齐娐凡糠植捎肕OC3041控制可控硅的通斷以實(shí)現(xiàn)對(duì)溫室溫度的控制。 </p><p>  圖2-2 方案二框圖</p><p>  2.3硬件系統(tǒng)的方案選擇</p><p>  兩種方案的區(qū)別在于溫度的采集部分,由上可知,DS18B20相對(duì)于AD590在此系統(tǒng)的優(yōu)勢(shì)相當(dāng)明顯,節(jié)約單片機(jī)的

25、I/O口線,數(shù)據(jù)傳送路徑短,精確度高,節(jié)約成本,故選用方案一。此方案以單片機(jī)為該系統(tǒng)的控制核心。溫度的檢測(cè)部分使用了DS18B20、AT89C51單片機(jī)及數(shù)碼管的硬件電路完成對(duì)室溫的實(shí)時(shí)檢測(cè)與顯示,通過(guò)4×4鍵盤(pán)設(shè)定溫室的溫度,比較溫度的設(shè)定值與實(shí)測(cè)值的大小,然后由單片機(jī)發(fā)出信號(hào),控制光電耦合器和雙向可控硅導(dǎo)通與否,由此控制PTC加熱器的通斷,實(shí)現(xiàn)對(duì)溫室溫度的恒溫控制。因?yàn)闇厥业臏囟炔▌?dòng)比較小,故不必采用軟件濾波對(duì)溫度進(jìn)行平滑

26、控制。報(bào)警部分采用一個(gè)3V的有源蜂鳴器,發(fā)出危險(xiǎn)警報(bào)。此單片機(jī)溫度控制系統(tǒng)具有微型化、低功耗、高性能、易配微處理器等優(yōu)點(diǎn),可以進(jìn)行多點(diǎn)測(cè)溫,DS18B20可以直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理,而且每片DS18B20都有唯一的產(chǎn)品號(hào),可以一并存入其ROM中,以便在構(gòu)成大型溫度測(cè)控系統(tǒng)時(shí)在單線上連接多個(gè)DS18B20芯片,當(dāng)然一個(gè)I/O口能掛接多少片DS18B20,因單片機(jī)的不同而異。從DS18B20讀出或?qū)懭隓S18B20信息僅需要

27、一根口線,其讀寫(xiě)及溫</p><p>  單片機(jī)具體實(shí)現(xiàn)的功能如下:</p><p>  1、連續(xù)測(cè)量溫室的溫度值,控制數(shù)碼管顯示溫室的實(shí)際溫度;</p><p>  2、控制鍵盤(pán)設(shè)定溫室的溫度值,并用數(shù)碼管顯示。設(shè)定范圍為室溫至125℃;實(shí)現(xiàn)溫室的恒溫控制,比如設(shè)定值為50℃,則應(yīng)使實(shí)際值與50℃相接近。</p><p>  第三章 控制系

28、統(tǒng)硬件設(shè)計(jì)</p><p>  基于上章的分析,我選擇了方案一,方案一的原理圖如圖3-1所示。本章主要介紹介紹控制系統(tǒng)中所使用到的各種元器件。</p><p>  圖3-1 系統(tǒng)原理圖</p><p><b>  3.1單片機(jī)</b></p><p>  將運(yùn)算器、控制器、存儲(chǔ)器和各種輸入/輸出接口等計(jì)算機(jī)的主要部件集成

29、在一塊芯片上,就能得到一個(gè)單芯片的微型計(jì)算機(jī)。它雖然只是一個(gè)芯片,但在組成和功能上已經(jīng)具有了計(jì)算機(jī)系統(tǒng)的特點(diǎn),因此稱之為單片微型計(jì)算機(jī)(Single-ChipMicrocomputer),簡(jiǎn)稱單片機(jī)。因?yàn)槠潴w積小、功耗低、價(jià)格低廉、抗干擾能力強(qiáng)且可靠性高,適合應(yīng)用于工業(yè)過(guò)程控制、智能儀器儀表和測(cè)控系統(tǒng)的前端裝置。本次畢業(yè)設(shè)計(jì)所采用的是AT89C51。以下簡(jiǎn)述本次畢業(yè)設(shè)計(jì)所用到的與其相關(guān)的知識(shí)。</p><p>&

30、lt;b>  1、主要特性:</b></p><p>  (1)與MCS-51兼容</p><p> ?。?)4K字節(jié)可編程閃爍存儲(chǔ)器,壽命為1000次寫(xiě)/擦循環(huán),數(shù)據(jù)可保留時(shí)間為10年</p><p>  (3)全靜態(tài)工作:0Hz-24Hz</p><p> ?。?)三級(jí)程序存儲(chǔ)器鎖定</p><p&g

31、t; ?。?)128X8位內(nèi)部RAM</p><p>  (6)4個(gè)I/O口,共32根可編程口線</p><p>  (7)兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ?。?)5個(gè)中斷源</b></p><p>  (9)可編程串行通道</p><p> ?。?0)低功耗的閑置和掉電模式&

32、lt;/p><p> ?。?1)片內(nèi)振蕩器和時(shí)鐘電路</p><p><b>  2、管腳說(shuō)明:</b></p><p>  AT89C51的管腳布置如圖3-2所示</p><p>  VCC:供電電壓。 GND:接地。</p><p><b>  P0口:</b></p&

33、gt;<p>  P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p><b>  P1口:</b></p><p

34、>  P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。</p><p><b>  P2口:</b></p><p>  P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口

35、,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)

36、。</p><p><b>  P3口:</b></p><p>  P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:P3口管腳備選功能</p&g

37、t;<p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(記時(shí)器0外部輸入)</p><p>  P3.5 T1(

38、記時(shí)器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><

39、;p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低8位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用

40、。另外,該引腳被略微拉高。微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>  PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指令期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)</p><p>  EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式

41、1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  圖3-2 AT89C51管腳</p><p>  3.2 數(shù)字溫度計(jì)DS18B20</p><p>  在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離傳送的測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)切換誤差問(wèn)題和放大電路的零

42、點(diǎn)誤差問(wèn)題等技術(shù)。另外考慮到一般的測(cè)量現(xiàn)場(chǎng)的電磁環(huán)境非常的惡劣,各種干擾信號(hào)較強(qiáng),模擬信號(hào)很容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用抗干擾能力較強(qiáng)的新型數(shù)字溫度傳感器是解決這些問(wèn)題的最有效的方案。在實(shí)際的溫度測(cè)量過(guò)程中被廣泛應(yīng)用,同時(shí)也取得了良好的測(cè)量效果。</p><p>  3.2.1 DS18S20數(shù)字溫度計(jì)的主要特性</p><p>  1、DS18S

43、20的適應(yīng)電壓范圍更寬,其范圍為:3.0-5.5V,而且它能夠直接由數(shù)據(jù)線獲取電源(寄生電源),無(wú)需外部工作電源。</p><p>  2、DS18S20提供了9-12位攝氏溫度測(cè)量,具有非易失性、上下觸發(fā)門(mén)限用戶可編程的報(bào)警功能。</p><p>  3、DS18S20通過(guò)1-Wire總線與中央微處理器通信,僅需要單根數(shù)據(jù)線(或地線)。同時(shí),在使用過(guò)程中,它不需要任何的外圍的元件,全部的

44、傳感元件和轉(zhuǎn)換電路集成在形狀如一只三極管的集成電路內(nèi)。</p><p>  4、DS18S20具有-55°C至+125°C的工作溫度范圍,在-10°C至+85°C溫度范圍內(nèi)精度為±0.5°C。 </p><p>  5、每片DS18B20具有唯一的

45、64位序列碼,這些序列碼允許多片DS18B20在同一條1-Wire總線上工作,因而,可方便地使用單個(gè)微處理器控制分布在大范圍內(nèi)的多片DS18S20器件。 </p><p>  6、DS18S20的測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)還可以傳送給CR

46、C校驗(yàn)碼,它具有極強(qiáng)的抗干擾糾錯(cuò)的能力。 </p><p>  7、DS18S20具有負(fù)載特性,當(dāng)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但是不能正常的工作。

47、 </p><p><b>  3.3 4×4鍵盤(pán)</b></p><p>  用于計(jì)算機(jī)系統(tǒng)的鍵盤(pán)通常有兩類(lèi):一類(lèi)是編碼鍵盤(pán),即鍵盤(pán)上閉合鍵的識(shí)別由專(zhuān)用硬件來(lái)實(shí)現(xiàn):另一類(lèi)是非編碼鍵盤(pán),即鍵盤(pán)上閉合鍵的識(shí)別由軟件來(lái)完成。本次畢業(yè)設(shè)計(jì)采用的是4×4矩陣鍵盤(pán),矩陣鍵盤(pán)由行線與列線組成

48、,按鍵位于行列線的交叉點(diǎn)上。如圖3-3所示,一個(gè)4×4的行列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤(pán),顯然,在按鍵數(shù)量較多時(shí),矩陣鍵盤(pán)較之獨(dú)立式鍵盤(pán)要節(jié)省很多的I/O口線。 </p><p>  本次畢業(yè)設(shè)計(jì)中鍵盤(pán)的設(shè)計(jì)思路如下:</p><p>  對(duì)P1賦值使P1=0xff,然后令第一行即P1.0等于零,如果第一行有按鍵按下,則P1.4至P1.7的值會(huì)發(fā)生變化:如果第一個(gè)按鍵按

49、下,則P1.4等于0;如果第二個(gè)按鍵按下,則P1.5等于0;如果第三個(gè)按鍵按下,則P1.6等于0;如果第四個(gè)按鍵按下,則P1.7等于0。按此規(guī)律,直至第四行掃描完成。</p><p>  圖3-3為鍵盤(pán)的原理圖</p><p>  在此系統(tǒng)中,鍵盤(pán)用于設(shè)定溫度值,只是CPU的工作內(nèi)容之一。CPU對(duì)鍵盤(pán)的響應(yīng)取決于鍵盤(pán)的工作方式,鍵盤(pán)的工作方式應(yīng)根據(jù)實(shí)際運(yùn)用系統(tǒng)中CPU的工作狀況而定,其選擇

50、的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間。通常,鍵盤(pán)的工作方式有3種,即編程掃描、定時(shí)掃描和中斷掃描,本次畢業(yè)設(shè)計(jì)采用中斷掃描。采用編程掃描或定時(shí)掃描,無(wú)論是否有鍵按下,CPU都要定時(shí)掃描,而按鍵按下不是經(jīng)常發(fā)生的事件,這樣CPU對(duì)鍵盤(pán)會(huì)時(shí)常進(jìn)行空掃描。為進(jìn)一步提高CPU的工作效率,故選用中斷掃描,其工作過(guò)程如下:當(dāng)無(wú)鍵按下,CPU處理自己的工作,當(dāng)鍵盤(pán)上有鍵按下時(shí)才產(chǎn)生一個(gè)外部中斷請(qǐng)求,CPU響應(yīng)鍵盤(pán)中

51、斷請(qǐng)求,在中斷服務(wù)子程序中掃描并判別鍵盤(pán)上閉合的鍵號(hào),求出輸入的數(shù)值。CPU對(duì)鍵盤(pán)上閉合鍵的鍵號(hào)進(jìn)行確定,可以根據(jù)行線和列線的狀態(tài)確定;也可以預(yù)先在程序存儲(chǔ)器中放入鍵盤(pán)鍵值表,本次畢業(yè)設(shè)計(jì)采用前者。</p><p><b>  3.4數(shù)碼管</b></p><p>  在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器的結(jié)構(gòu)如圖2-1所示,共有8個(gè)發(fā)光二極管,其中7

52、個(gè)發(fā)光二極管七段字形“8”,一個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。本次畢業(yè)設(shè)計(jì)用的是四位共陰極數(shù)碼管,數(shù)碼管的發(fā)光二極管陰極接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平,即邏輯“1”時(shí),發(fā)光二極管點(diǎn)亮。</p><p>  如圖3-4所示,P0口接一個(gè)5V的上拉電阻,P0.0-P0.7依次與數(shù)碼管的A-DP相接,構(gòu)成數(shù)碼管的段選,P2.0-P2.3依次與1-4相接,構(gòu)成數(shù)碼管的位選。</p><p>  圖3

53、-4 數(shù)碼管顯示原理圖</p><p>  LED顯示器工作原理:點(diǎn)亮顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂靜態(tài)顯示,就是當(dāng)顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,如上圖中七段顯示器的a、b、c、d、e、f導(dǎo)通,g截止,則顯示“0”。這種顯示方式每一位顯示器都需要有一個(gè)8位輸出口控制,其優(yōu)點(diǎn)是顯示穩(wěn)定,無(wú)閃爍,缺點(diǎn)是占用口線多,適用于顯示位數(shù)較少的場(chǎng)合。當(dāng)顯示位數(shù)較多時(shí),一般采用動(dòng)態(tài)顯示方法。所謂動(dòng)態(tài)顯示就是

54、一位一位的輪流點(diǎn)亮各位顯示器,對(duì)于每一位顯示器來(lái)說(shuō)每隔一段時(shí)間點(diǎn)亮一次。由于循環(huán)顯示的頻率高較高時(shí),利用人眼的暫留特性,看不出閃爍現(xiàn)象,顯示器的點(diǎn)亮既跟點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也跟點(diǎn)亮?xí)r間和間隔時(shí)間有關(guān),調(diào)整電流和時(shí)間的參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示的位數(shù)不大于8位,則控制顯示器的公共電極只需一個(gè)I/O口控制各位顯示器,所顯示的字形也只需一個(gè)I/O口。</p><p>  LED數(shù)碼管分為共陽(yáng)極和共陰極,

55、不同的共極方式,顯示同樣的字符,數(shù)碼管的段選是不同的,如下表1為七段共陰極LED字型碼。</p><p>  表1 七段共陰極LED段字型碼</p><p><b>  3.5光電耦合器</b></p><p>  光電隔離器件從大的方面來(lái)看,可粗略的分為光耦合器及應(yīng)用光耦合器或其他電子器件制成或應(yīng)用光耦合器制成的器件。</p>

56、<p>  光耦合器因可實(shí)現(xiàn)輸入與輸出電位上的嚴(yán)格隔離,所以在電力電子設(shè)備中晶閘管的門(mén)極控制與全控型器件的驅(qū)動(dòng)及信號(hào)傳輸實(shí)現(xiàn)輸入輸出的隔離等方面都得到了廣泛的應(yīng)用,光電耦合器雖種類(lèi)較多,內(nèi)部結(jié)構(gòu)有所不同,其速度也有差別,但其基本特性和參數(shù)定義卻有共同點(diǎn)。在光電耦合器內(nèi)部,由于發(fā)光二極管和光敏管之間的耦合電容很小,所以共模輸入電壓通過(guò)極間耦合電容對(duì)電流Ic的影響很小,因而共模抑制比很高。</p><p>

57、  光電耦合器中光敏管的集電極電流與發(fā)光二極管的注入電流之比稱之為電流傳輸比。對(duì)于微小變量輸出電流與注入電流之比叫微變電流傳輸。對(duì)于線性度比較好的光耦合器,以上兩者近似相等。</p><p>  光耦合器的發(fā)光二極管和光敏晶體管之間額隔離電阻(絕緣電阻)較大 ,隔離電壓為500~4000V,有的可達(dá)10KV,隔離電容小于2pF。光耦合器與晶體管一樣,可以線性工作,也可開(kāi)關(guān)狀態(tài)工作。在電源的驅(qū)動(dòng)電路中,光耦合器一般

58、用來(lái)傳送脈沖信號(hào),所以光耦合器工作在開(kāi)關(guān)狀態(tài)。在高頻工作時(shí),應(yīng)考慮光耦合器的響應(yīng)時(shí)間。發(fā)光二極管電阻Ri的大小影響光耦合器的響應(yīng)時(shí)間,Ri越小,光耦合器響應(yīng)的時(shí)間越短,所以,在實(shí)際應(yīng)用中,在光耦合器允許的集電極電流范圍內(nèi),盡量減小負(fù)載電阻,以提高光耦合器的響應(yīng)速度。</p><p>  MOC3041是直流輸入雙向晶閘管輸出的光耦合器。該器件有輸入、輸出兩部分組成,它的輸入端有兩個(gè)引腳,輸入極是一個(gè)砷化鎵紅外發(fā)光

59、二極管,工作時(shí)該二極管發(fā)出足夠的紅外光,觸發(fā)輸出部分,它的輸出端也有兩個(gè)引腳組成,輸出極為具有過(guò)零觸發(fā)的光控雙向晶閘管,當(dāng)紅外發(fā)光二極管中通過(guò)5~15mA的正向電流時(shí),發(fā)出紅外光,輸出極的雙向晶閘管的光敏基極受到紅外光的照射,而觸發(fā)雙向晶閘管,使輸出端電壓接近0時(shí)導(dǎo)通,即輸入與輸出端有光耦合,器件導(dǎo)通后,其輸出端電壓降至很低,當(dāng)電流小于雙向晶閘管維持電流100μA時(shí),雙向晶閘管關(guān)斷。如圖3-5所示,單片機(jī)的P3.0通過(guò)7406反相器接在

60、MOC3041的陰極(管腳2),當(dāng)P3.0口置1時(shí),MOC3041的管腳2被置零,又5/330=0.015A,即MOC的觸發(fā)電流小于但約等于15Am,MOC3041的紅外發(fā)光二級(jí)管發(fā)出足夠的紅光,觸發(fā)輸出部分。當(dāng)P3.0置0時(shí),MOC3041的管腳2被置1,處于高電平,此時(shí),MOC3041的紅外發(fā)光二極管處于截至狀態(tài),輸出部分不被觸發(fā)。 </p><p>  MOC3041相關(guān)參數(shù)如下:</p>&

61、lt;p> ?。?)、隔離電壓:7500V ac</p><p> ?。?)、輸出類(lèi)型:過(guò)零檢測(cè)</p><p> ?。?)、輸入電流:60mA</p><p> ?。?)、輸出電壓:400V</p><p><b> ?。?)、針腳數(shù):6</b></p><p>  (7)、光電耦合器類(lèi)型

62、:三端雙向可控驅(qū)動(dòng)器</p><p> ?。?)、關(guān)態(tài)電壓:400V</p><p> ?。?)、功耗:250mW</p><p> ?。?0)、工作溫度范圍:-40°C至+85°C</p><p>  (11)、正向電壓Vf最大:1.5V</p><p>  (12)、電壓, Vf典型值:1.25

63、V</p><p> ?。?3)、觸發(fā)電流, If最大:15mA</p><p><b>  3.6 雙向晶閘管</b></p><p>  在溫度控制系統(tǒng)中,主電路一般使用晶閘管組成開(kāi)關(guān)電路,通過(guò)控制晶閘管的導(dǎo)通時(shí)間來(lái)控制加熱時(shí)間,因此本系統(tǒng)中,主電路采用了雙向晶閘管,在交流電壓的正半周期使其沿某方向?qū)ǎ谪?fù)半周期則逆向?qū)ā?lt;/p&

64、gt;<p><b>  主要參數(shù)的選?。?lt;/b></p><p>  負(fù)載為220V,120W的PTC加熱器</p><p><b>  負(fù)載電流有效值為</b></p><p><b>  負(fù)載電流峰值為×</b></p><p>  因?yàn)楫?dāng)雙向晶閘

65、管全開(kāi)時(shí),單方向的電流為交流半個(gè)周期的電流,所以</p><p>  而流過(guò)雙向晶閘管的電流的平均值</p><p>  晶閘管額定電壓的選擇:晶閘管的額定電壓應(yīng)為正常工作峰值電壓的2-3倍。</p><p>  ××所以取U=600V。</p><p>  晶閘管額定電流的選擇:晶閘管通態(tài)平均電流為實(shí)際正常平均值的1.5

66、-2.0倍。</p><p>  =2.0×=2.0×0.49=0.98A</p><p>  所以晶閘管的額定電流可取8A。根據(jù)計(jì)算的數(shù)據(jù)選擇雙向晶閘管的型號(hào)為BTA08-600C。</p><p><b>  主要參數(shù)為:</b></p><p>  通態(tài)電流IT(RMS)=8A</p>

67、;<p>  浪涌電流ITSM=80A</p><p>  正向耐壓VDRM>600V</p><p>  反向耐壓VRRM>600V</p><p>  觸發(fā)電流IGT<25mA</p><p>  通態(tài)壓降VTM<1.55V</p><p>  晶閘管的過(guò)流,過(guò)壓保護(hù)采用了一般的阻容保護(hù)電路,其

68、參數(shù)為:</p><p>  =50×0.1×(×220)×=0.0484w</p><p>  圖3-5 光電耦合器控制可控硅原理圖</p><p>  3.7 PTC加熱器</p><p>  加熱裝置是對(duì)溫室進(jìn)行加熱,使溫度穩(wěn)定在設(shè)定的溫度值。本系統(tǒng)采用PTC加熱器進(jìn)行加熱。PTC是Positiv

69、e Temperature Coefficient 的縮寫(xiě),意思是正的溫度系數(shù),泛指正溫度系數(shù)很大的半導(dǎo)體材料或元器件。通常我們提到的PTC是指正溫度系數(shù)熱敏電阻,簡(jiǎn)稱PTC熱敏電阻。圖3-6是其電阻隨溫度變化的曲線,PTC熱敏電阻是一種典型具有溫度敏感性的半導(dǎo)體電阻,超過(guò)一定的溫度(居里溫度)時(shí),它的電阻值隨著溫度的升高呈階躍性的增高。</p><p>  陶瓷材料通常用作高電阻的優(yōu)良絕緣體,而陶瓷PTC熱敏電

70、阻是以鈦酸鋇為基,摻雜其它的多晶陶瓷材料制造的,具有較低的電阻及半導(dǎo)特性。通過(guò)有目的的摻雜一種化學(xué)價(jià)較高的材料作為晶體的點(diǎn)陣元來(lái)達(dá)到的:在晶格中鋇離子或鈦酸鹽離子的一部分被較高價(jià)的離子所替代,因而得到了一定數(shù)量產(chǎn)生導(dǎo)電性的自由電子。對(duì)于PTC熱敏電阻效應(yīng),也就是電阻值階躍增高的原因,在于材料組織是由許多小的微晶構(gòu)成的,在晶粒的界面上,即所謂的晶粒邊界(晶界)上形成勢(shì)壘,阻礙電子越界進(jìn)入到相鄰區(qū)域中去,因此而產(chǎn)生高的電阻,這種效應(yīng)在溫度低

71、時(shí)被抵消:在晶界上高的介電常數(shù)和自發(fā)的極化強(qiáng)度在低溫時(shí)阻礙了勢(shì)壘的形成并使電子可以自由地流動(dòng)。而這種效應(yīng)在高溫時(shí),介電常數(shù)和極化強(qiáng)度大幅度地降低,導(dǎo)致勢(shì)壘及電阻大幅度地增高,呈現(xiàn)出強(qiáng)烈的PTC效應(yīng)。</p><p>  圖3-6 PTC電阻溫度曲線</p><p>  PTC型陶瓷加熱器采用PTC陶瓷發(fā)熱組件與波紋鋁條經(jīng)高溫膠粘組成。該類(lèi)型PTC加熱器有熱電阻小、換熱效率高的優(yōu)點(diǎn),是一種自

72、動(dòng)恒溫、省電的電加熱器。它的顯著特點(diǎn)有加熱器本體的設(shè)計(jì)加熱溫度在200攝氏度以下的多檔次,任何情況下本體不發(fā)紅且有保護(hù)隔離層,任何應(yīng)用場(chǎng)合均不需要石棉等隔熱材料進(jìn)行降溫處理,可放心使用不存在對(duì)人體燙傷和引發(fā)火災(zāi)的問(wèn)題。比較電熱管和電阻絲加熱產(chǎn)品,本產(chǎn)品是靠材料自身的特性,根據(jù)環(huán)境溫度的改變來(lái)調(diào)節(jié)自身的熱功率輸出,所以它能將加熱器的電能消耗優(yōu)化控制在最小,同時(shí)高發(fā)熱效率的材料也大幅提升了電能的利用效率。本次畢業(yè)設(shè)計(jì)我所選用的PTC加熱器的

73、主要參數(shù)有電壓:220V,功率120w,長(zhǎng)40mm,寬40mm,厚7mm。屬于小功率類(lèi)型,用其加熱時(shí)恒溫發(fā)熱、無(wú)明火、熱轉(zhuǎn)換率高、受電源電壓影響小。</p><p>  3.8 反相器7406</p><p>  在本系統(tǒng)中,兩次運(yùn)用了7406反向器,一次是在單片機(jī)的P3.0口與MOC3041的管腳2之間,作用是使P3.0被置1時(shí),MOC3041的管腳2被置0,且與真實(shí)的0更接近,MOC3

74、041的光敏二級(jí)管導(dǎo)通;當(dāng)P3.0被置0時(shí),MOC3041的管腳被置1,且更接近5V,使MOC3041的光敏二級(jí)管真正能夠處于截至狀態(tài)。另一處是與蜂鳴器的陰極相接,作用和上述的類(lèi)似。我所采用的型號(hào)是SN7406N,14管腳,6路獨(dú)立反向驅(qū)動(dòng),,VCC的范圍為4.75-5.25V。</p><p>  圖3-7 反相器7406管腳</p><p>  3.9雙四輸入與門(mén)74LS21</

75、p><p>  74LS21是雙輸入四與門(mén),Y=ABCD,我所使用的型號(hào)是SN74LS21N,14管腳,VCC的范圍為4.75-5.25V,推薦使用5V。在此系統(tǒng)中,按鍵未按下時(shí),P3.2始終為高電平,當(dāng)有鍵按下時(shí),通過(guò)74LS21的作用,輸出低電平,使P3.2的高電平變?yōu)榈碗娖?,觸發(fā)外部中斷0,在中斷程序里掃描鍵盤(pán),并計(jì)算輸入的溫度的設(shè)定值。使用中斷的好處是使CPU在有鍵按下時(shí)才掃描鍵,提高了CPU的效率。<

76、/p><p>  圖3-8 四輸入與門(mén)74LS21管腳</p><p><b>  3.9蜂鳴器</b></p><p>  本次畢業(yè)設(shè)計(jì)的警報(bào)部分是通過(guò)一個(gè)有源的3V蜂鳴器來(lái)實(shí)現(xiàn)的,當(dāng)實(shí)際溫度超上限或低下限時(shí)進(jìn)行危險(xiǎn)報(bào)警,其長(zhǎng)腳為正極,短腳為負(fù)極,正極與5V電壓相接,負(fù)極通過(guò)一個(gè)7406與P3.1相接。</p><p> 

77、 第四章 控制系統(tǒng)軟件設(shè)計(jì)</p><p>  為了實(shí)現(xiàn)系統(tǒng)的溫度檢測(cè)和控制,并能夠?qū)崟r(shí)顯示,整個(gè)系統(tǒng)由如下幾個(gè)主要模塊組成,主程序模塊、溫度采集模塊、溫度設(shè)定模塊、溫度顯示模塊,報(bào)警模塊,溫度控制模塊等幾個(gè)模塊組成。本章將對(duì)如上所敘述的幾個(gè)模塊分別進(jìn)行介紹,并闡述程序的編寫(xiě)思路和所實(shí)現(xiàn)的功能。</p><p>  4.1 主程序模塊設(shè)計(jì)</p><p>  主程序

78、的主要設(shè)計(jì)思想是圍繞題目基本要求而展開(kāi)的,系統(tǒng)按鍵設(shè)定溫度產(chǎn)生外部中斷0,轉(zhuǎn)入中斷服務(wù)程序,在中斷服務(wù)程序中獲取設(shè)定的溫度值,之后在主程序進(jìn)行數(shù)據(jù)存儲(chǔ)、調(diào)用數(shù)碼管顯示、報(bào)警控制、溫度控制等子程序模塊。所以主程序主要是對(duì)系統(tǒng)的初始化和調(diào)用各子程序模塊。</p><p>  4.1.1主程序流程圖</p><p>  圖4-1為主程序流程圖</p><p>  圖4-1

79、 主程序流程圖</p><p>  4.2溫度采集模塊程序設(shè)計(jì)</p><p>  溫度的采集是數(shù)字溫度計(jì)DS18B20通過(guò)單片機(jī)進(jìn)行嚴(yán)格的時(shí)序控制來(lái)完成的,在空間不是很大的范圍內(nèi),采用一片DS18B20進(jìn)行單點(diǎn)測(cè)溫即可實(shí)現(xiàn)對(duì)溫度的較為精確的控制。</p><p>  4.2.1 DS18B20的時(shí)序</p><p>  DS18B20的時(shí)序

80、可分為三個(gè)部分:初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序。只有遵守嚴(yán)格的時(shí)序,DS18B20才能進(jìn)行溫度的采集。</p><p>  4.2.2.1 初始化時(shí)序</p><p>  DS18B20的所有通信都是由復(fù)位脈沖組成的初始化序列開(kāi)始。該初始化序列由主機(jī)發(fā)出,后跟由DS18B20發(fā)出的存在脈沖(presence pulse)。圖4-2闡述了這一點(diǎn),當(dāng)發(fā)出應(yīng)答復(fù)位脈沖的存在脈沖后,DS18B20通知

81、主機(jī)它在總線上并且準(zhǔn)備好操作了。在初始化步驟中,總線上的主機(jī)通過(guò)拉低單總線至少480μs來(lái)產(chǎn)生復(fù)位脈沖。然后總線主機(jī)釋放總線并進(jìn)入接收模式。當(dāng)總線釋放后,5kΩ的上拉電阻把單總線上的低電平拉回高電平。當(dāng)DS18B20檢測(cè)到上升沿后等待15到60μs,然后以拉低總線60-240μS的方式發(fā)出存在脈沖,主機(jī)將總線拉低最短480μS,之后釋放總線。由于5kΩ上拉電阻的作用,總線恢復(fù)到高電平。至此,初始化和存在時(shí)序完畢。</p>

82、<p>  4.2.2.2寫(xiě)時(shí)序</p><p>  如圖4-3所示,所有的寫(xiě)時(shí)隙必須至少有60μs的持續(xù)時(shí)間。相鄰兩個(gè)寫(xiě)時(shí)隙必須要有最少1μs的恢復(fù)時(shí)間。所有的寫(xiě)時(shí)隙(寫(xiě)0和寫(xiě)1)都由拉低總線產(chǎn)生。為產(chǎn)生寫(xiě)1時(shí)隙,在拉低總線后主機(jī)必須在15μs內(nèi)釋放總線(拉低的電平要持續(xù)至少1us)。由于上拉電阻的作用,總線電平恢復(fù)為高電平,直到完成寫(xiě)時(shí)隙。為產(chǎn)生寫(xiě)0時(shí)隙,在拉低總線后主機(jī)持續(xù)拉低總線即可,直到寫(xiě)時(shí)隙

83、完成后釋放總線(持續(xù)時(shí)間60-120μs)。寫(xiě)時(shí)隙產(chǎn)生后,DS18B20會(huì)在產(chǎn)生后的15到60μs的時(shí)間內(nèi)采樣總線,以此來(lái)確定寫(xiě)0還是寫(xiě)1。</p><p>  4.2.2.3讀時(shí)序</p><p>  如圖4-4所示,DS18B20只有在主機(jī)發(fā)出讀時(shí)隙時(shí)才能發(fā)送數(shù)據(jù)到主機(jī)。因此,主機(jī)必須在BE(讀存儲(chǔ)器) 命令,B4(讀電源)命令后立即產(chǎn)生讀時(shí)隙以使DS18B20提供相應(yīng)的數(shù)據(jù)。另外,在

84、44(溫度轉(zhuǎn)換)命令,B8(recall)命令后也要產(chǎn)生讀時(shí)隙。 所有的讀時(shí)隙必須至少有60μs的持續(xù)時(shí)間。相鄰兩個(gè)讀時(shí)隙必須要有最少1μs的恢復(fù)時(shí)間。所有的讀時(shí)隙都由拉低總線,持續(xù)至少1μs后再釋放總線(由于上拉電阻的作用,總線恢復(fù)為高電平)產(chǎn)生。DS18B20輸出的數(shù)據(jù)在下降沿產(chǎn)生1后5μs內(nèi)有效。因此,釋放總線和主機(jī)采樣總線等動(dòng)作要在15μs內(nèi)完成。</p><p>  圖4-2 DS18B20復(fù)位時(shí)序圖&

85、lt;/p><p>  圖4-3 DS18B20寫(xiě)時(shí)序圖</p><p>  圖4-4 DS18B20讀時(shí)序圖</p><p>  4.2.3 讀溫度子程序流程圖 </p><p>  讀溫度子程序是在單片機(jī)的控制下,形成嚴(yán)格的時(shí)序,完成溫度的轉(zhuǎn)換并作數(shù)據(jù)的相應(yīng)處理。溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,本次畢業(yè)設(shè)計(jì)采用

86、12位分辨率,轉(zhuǎn)換所需的時(shí)間約為750ms。因?yàn)槭菃吸c(diǎn)測(cè)溫,不需要CRC校驗(yàn)。</p><p>  圖4-5為讀溫度子程序流程圖</p><p>  圖4-5 讀溫度子程序流程圖</p><p>  4.3溫度設(shè)定模塊程序設(shè)計(jì)</p><p>  溫度設(shè)定模塊是用來(lái)設(shè)定溫度的,通過(guò)4X4鍵盤(pán)輸入想要控制的溫度值。本次畢業(yè)設(shè)計(jì)通過(guò)中斷進(jìn)行掃描。

87、</p><p>  4.3.1中斷服務(wù)子程序</p><p>  系統(tǒng)中中斷采用的是外部中斷0,外部中斷0的初始化子程序在主程序開(kāi)始時(shí)即被調(diào)用,當(dāng)鍵盤(pán)上有鍵按下時(shí),即產(chǎn)生一個(gè)外部中斷0,執(zhí)行中斷子程序,獲取輸入的設(shè)定值,之后中斷回。 </p><p>  圖4-6為中斷服務(wù)子程序的流程圖</p><p>  圖4-6 中斷服務(wù)子程序流程圖&

88、lt;/p><p>  4.3.2 鍵盤(pán)掃描子程序</p><p>  鍵盤(pán)的掃描是中斷掃描,若有鍵按下,則從第一行開(kāi)始掃描,直到確定按鍵的行與列,確定鍵值,并返回鍵值。</p><p>  圖4-7為鍵盤(pán)掃描子程序流程圖</p><p>  圖4-7 鍵盤(pán)掃描子程序流程圖</p><p>  4.4溫度顯示模塊設(shè)計(jì)<

89、;/p><p>  溫度顯示模塊要顯示的溫度有設(shè)定值與實(shí)際值,通過(guò)P3.5的電平的高低來(lái)控制,而P3.5電平的高低由與其相連的開(kāi)關(guān)的通斷來(lái)控制。</p><p>  4.4.1設(shè)定值顯示子程序</p><p>  設(shè)定的數(shù)值范圍為自然狀態(tài)下室溫-125℃且為整數(shù),所以四位七段的數(shù)碼管的左數(shù)第一位的位選信號(hào)始終被置零,P0口進(jìn)行段選,P2口的低四位依次進(jìn)行千、百、十、個(gè)位

90、的數(shù)碼管的位選。</p><p>  圖4-8為設(shè)定值顯示子程序的流程圖</p><p>  圖4-8 設(shè)定值顯示子程序</p><p>  4.4.2 實(shí)際值顯示子程序</p><p>  實(shí)際值是一個(gè)溫室自然狀態(tài)下的室溫-125℃之間的數(shù),其帶有一位小數(shù),四位八段的數(shù)碼管從左至右依次是百位、十位、個(gè)位、十分位。數(shù)碼管的段選口還是P0口,P

91、2口的低四位依次是百位、十位、各位、十分位數(shù)碼管的位選口線。</p><p>  圖4-9為實(shí)際值顯示子程序的流程圖。</p><p>  圖4-9 實(shí)際值顯示子程序流程圖</p><p>  4.5溫度控制模塊設(shè)計(jì)</p><p>  溫度控制模塊簡(jiǎn)單的說(shuō)就是要實(shí)現(xiàn)溫度的控制,實(shí)際溫度高于設(shè)定值,降溫;實(shí)際溫度低于設(shè)定值,加熱。系統(tǒng)中加熱的

92、裝置為PTC加熱器。</p><p>  4.5.1雙位控制算法設(shè)計(jì)</p><p>  溫室環(huán)境是一個(gè)復(fù)雜分布式參數(shù)系統(tǒng),由于其本身的復(fù)雜性和外界大氣候較強(qiáng)的影響,要使自控系統(tǒng)將其控制到一定的指標(biāo)上存在一定的難度,但由于溫室內(nèi)作物對(duì)于各種參數(shù)變化不是很敏感,因此,沒(méi)有必要將各種參數(shù)進(jìn)行精確控制,只要控制在一段適宜的范圍內(nèi)即可,又考慮到本智能終端的通用性,本次畢業(yè)設(shè)計(jì)采用實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單的

93、雙位控制算法。雙位控制又稱為繼電器接觸控制,理想的雙位控制規(guī)律的數(shù)學(xué)表達(dá)式為:</p><p>  雙位控制規(guī)律是測(cè)量值大于(或小于)給定值時(shí),控制器的輸出為最大(或最小)值,即系統(tǒng)只有兩個(gè)輸出值,在此系統(tǒng)中,P3.0就相當(dāng)于一個(gè)雙位控制器。其只有“1”和“0”這兩種狀態(tài)。執(zhí)行機(jī)構(gòu)也只有“開(kāi)"和“關(guān)"兩個(gè)極限工作位置。給定溫度的設(shè)定值,當(dāng)被控溫室的溫度低于設(shè)定值時(shí),P3.0置1,PTC加熱器工

94、作,而當(dāng)溫室內(nèi)的溫度高于設(shè)定值時(shí),P3.0置0,關(guān)閉PTC加熱器,從而實(shí)現(xiàn)溫度的控制。雙位控制對(duì)象特性好、負(fù)荷變化較小、過(guò)程滯后小、允許被控制參數(shù)在一定的范圍內(nèi)波動(dòng),可以適用于溫室系統(tǒng)的控制。</p><p>  4.5.2溫度控制子程序流程圖</p><p>  圖4-10為溫度控制子程序流程圖</p><p>  圖4-10 溫度控制子程序流程圖</p&g

95、t;<p>  4.6報(bào)警模塊程序設(shè)計(jì)</p><p>  報(bào)警模塊的工作很簡(jiǎn)單,就是判斷實(shí)際溫度超上限或低下限報(bào)警。</p><p>  圖4-11為報(bào)警控制子程序流程圖</p><p>  圖4-11報(bào)警控制子程序流程圖</p><p><b>  第五章 結(jié)果分析</b></p><

96、;p>  5.1 PROTEUS仿真</p><p>  總體電路原理圖設(shè)計(jì)好后,在KEIL3里用C語(yǔ)言編出相應(yīng)的程序,程序調(diào)試在沒(méi)有問(wèn)題后,接著就對(duì)程序進(jìn)行仿真,總體思路是:由局部到整體。首先進(jìn)行鍵盤(pán)設(shè)定溫度值并用數(shù)碼管顯示的仿真,再進(jìn)行DS18B20采集溫度并用數(shù)碼管顯示的仿真,這兩個(gè)關(guān)鍵部分完成后,就進(jìn)行總體程序的仿真。</p><p>  5.1.1 鍵盤(pán)設(shè)定溫度仿真<

97、/p><p>  將4×4鍵盤(pán)的掃描程序編好后,在PROTEUS里進(jìn)行仿真,發(fā)現(xiàn)當(dāng)我按下某個(gè)按鍵時(shí),數(shù)碼管的百位,十位,各位顯示的都是那個(gè)鍵的值,比如我按下3的時(shí)候,這三個(gè)位的數(shù)碼管都是3,思考了許久,我初步判斷原因可能是是按鍵按下后,因?yàn)殒I盤(pán)一直處于按下的狀態(tài),而按鍵掃描程序掃描按鍵的速度非??欤灾劣谖野聪乱淮?,鍵盤(pán)掃描了好些次,如此想后,我就設(shè)定一個(gè)標(biāo)志位,按鍵按下置1,鍵抬起置0,但效果依舊不佳;最

98、后,我在掃描每行鍵的最后都加上一個(gè)判斷按鍵是否釋放的程序,如釋放,再讀取鍵值,如此之后,就能正確輸入按鍵的值,比如,我要輸入123,就只需要依次按下1、2、3。</p><p>  如圖5-1所示,鍵盤(pán)設(shè)定初值32℃并用數(shù)碼管顯示</p><p>  圖5-1 鍵盤(pán)設(shè)定溫度32℃仿真</p><p>  5.1.2 溫度采集仿真</p><p&g

99、t;  根據(jù)DS18B20的時(shí)序圖編好程序并在KEIL3里檢查好語(yǔ)法沒(méi)有錯(cuò)誤后,鏈接到PROTEUS里進(jìn)行仿真。開(kāi)始在PROTEUS里設(shè)定改變溫度的步長(zhǎng)為1℃,在軟件里也就相應(yīng)的將采集到的溫度設(shè)置為整數(shù),上下限與這個(gè)整數(shù)相差為一度。這樣會(huì)使誤差加大,之后將仿真的步長(zhǎng)改為0.1℃,程序也做出相應(yīng)的的修改,使實(shí)際溫度保留一位小數(shù)。仿真能夠獲取實(shí)際溫度,這個(gè)實(shí)際溫度可從DS18B20的仿真模型中設(shè)置。如圖5-2所示,PROTEUS仿真溫度采集

100、,獲取當(dāng)前的環(huán)境溫度為28.7℃。</p><p>  圖5-2 溫度采集仿真</p><p>  5.1.3 整體仿真</p><p>  因?yàn)閷?shí)際溫度保留一位小數(shù),在仿真的時(shí)候,就出現(xiàn)了一個(gè)錯(cuò)誤,比如,我設(shè)定的溫度為28攝氏度時(shí),在正確的情況下,蜂鳴器會(huì)在實(shí)際溫度小于27℃和大于29℃報(bào)警,但是仿真出來(lái)的結(jié)果是小于27℃時(shí),蜂鳴器報(bào)警,但是當(dāng)溫度大于29℃時(shí)蜂鳴

101、器并未報(bào)警,直至實(shí)際大于30℃時(shí)蜂鳴器才會(huì)報(bào)警。仔細(xì)檢查程序后,我發(fā)現(xiàn)在讀溫度子程序模塊中,我讀取的是實(shí)際溫度的10倍并取整,然后在我將其與實(shí)際值比較之前,又讓其除以10,所得值賦給一個(gè)整形數(shù),這樣就出現(xiàn)了這樣種情況,比如,我最初測(cè)得的實(shí)際值是27.8℃,10倍變?yōu)?78℃,這是為了方便顯示,為了判斷是否報(bào)警,我要將其與設(shè)定值比較,又設(shè)定值是個(gè)整形數(shù),因此,將此數(shù)縮小10倍,賦給一個(gè)整形數(shù)后實(shí)際溫度就變?yōu)?7℃。如此實(shí)際溫度就當(dāng)于自減了

102、1℃,故要到實(shí)際值為30℃時(shí)才能報(bào)警。實(shí)際溫度比設(shè)定小1℃能報(bào)警,又是因?yàn)?,只有?shí)際值比設(shè)定值小1℃才會(huì)報(bào)警,實(shí)際溫度等于設(shè)定的下限并不會(huì)報(bào)警,因此,(27.0-27.9)℃賦值給整形數(shù)始終是27℃,只有當(dāng)實(shí)際溫度小于27℃時(shí),實(shí)際值才會(huì)小于下限(設(shè)定值28-1),蜂鳴器才會(huì)警報(bào)。找出問(wèn)題的所在后,我將設(shè)定值擴(kuò)大10倍,再與實(shí)際值的</p><p>  由上可知,在仿真調(diào)試過(guò)程中,我遇到了很大的麻煩。在仿真的過(guò)程

103、中,有時(shí)會(huì)感覺(jué)程序和硬件都沒(méi)有一點(diǎn)問(wèn)題,但是就是不能實(shí)現(xiàn)系統(tǒng)所要實(shí)現(xiàn)的功能,因?yàn)樗辉试S軟件和硬件有一點(diǎn)問(wèn)題,哪怕是細(xì)小的一點(diǎn)問(wèn)題都不允許。舉一個(gè)最簡(jiǎn)單的例子,就拿數(shù)碼管顯示程序的調(diào)試仿真來(lái)說(shuō),PROTEUS 里單片機(jī)的I/O口可以直接驅(qū)動(dòng)動(dòng)態(tài)顯示的數(shù)碼管,但在實(shí)際中卻是不可以的。</p><p>  因?yàn)樵赑ROTEUS中加熱裝置和實(shí)際出入大,所以在PROTEUS里進(jìn)行加熱仿真就是成功也沒(méi)有太大的實(shí)際意義,所以

104、我只進(jìn)行了系統(tǒng)中兩個(gè)重要部分的軟件仿真,以及這兩部分合起來(lái)的一個(gè)總體仿真。</p><p><b>  5.2實(shí)際運(yùn)行結(jié)果</b></p><p>  仿真結(jié)果符合預(yù)期后,我就著手實(shí)物的制作,將所用到的元件焊接在電路板后,就開(kāi)始測(cè)試系統(tǒng)性能。第一次因?yàn)楹附蛹夹g(shù)不過(guò)關(guān),數(shù)碼管顯示時(shí)好時(shí)壞,為了求得個(gè)良好的結(jié)果,我又重新將元件焊接在另一塊板子上,積累了上次焊接的經(jīng)驗(yàn)后,第

105、二次的焊接效果比之前好了很多,數(shù)碼管顯示正常。由于是動(dòng)態(tài)顯示,數(shù)碼管的亮度不是很高。</p><p>  加熱裝置我選擇的是PTC加熱器,其功率為120W,很小,只能在比較小的空間內(nèi)才能進(jìn)行溫度控制。在實(shí)際的試驗(yàn)中,DS18B20在以此加熱器為圓心,以半徑20CM為圓,高度不超過(guò)15CM圓柱范圍內(nèi),控制效果良好,誤差較小。以下簡(jiǎn)述實(shí)際試驗(yàn)的一些情況。</p><p>  首先,給單片機(jī)上電

106、后,設(shè)定溫度為29℃,這個(gè)值就是我的期望值了,與此同時(shí),軟件中相應(yīng)的把系統(tǒng)能容忍的溫度上下限分別定為30℃和28℃,按下溫度的切換鍵,顯示當(dāng)前溫度為27.6℃,低于溫控系統(tǒng)要求的下限,產(chǎn)生報(bào)警。因?yàn)閷?shí)際溫度小于設(shè)定溫度,PTC加熱,一小段時(shí)間后,警報(bào)解除,說(shuō)明溫度已進(jìn)入溫度控制系統(tǒng)的上下限之間,又過(guò)了一段時(shí)間(時(shí)間長(zhǎng)短由DS18B20離PTC加熱器的距離而變,但當(dāng)系統(tǒng)穩(wěn)定后,時(shí)間的差異性變?。瑢?shí)際溫度達(dá)到29℃,PTC關(guān)斷,其余溫使溫

107、度繼續(xù)上升,但沒(méi)有觸發(fā)警報(bào),一段時(shí)間后,溫度又降到29度,比29℃稍低一點(diǎn),PTC就會(huì)加熱,因?yàn)镻TC的加熱很快,冷卻較慢,實(shí)際溫度在PTC關(guān)斷后,下降超過(guò)設(shè)定值的幅度很小,即使再小,PTC也會(huì)進(jìn)行加熱,如此循環(huán),經(jīng)過(guò)多次長(zhǎng)時(shí)間的試驗(yàn),實(shí)際溫度28.8℃<T<29.8℃,誤差為1℃左右,又由于DS18B20的誤差為±0.5℃,累計(jì)的最大誤差為2℃,這個(gè)誤差在本系統(tǒng)中是可以容忍的。故本次畢業(yè)設(shè)計(jì)總體來(lái)說(shuō)是成功的。&l

108、t;/p><p>  圖5-3,為本次畢業(yè)設(shè)計(jì)的實(shí)物顯示設(shè)定溫度</p><p>  圖5-4,為本次畢業(yè)設(shè)計(jì)的實(shí)物顯示實(shí)際溫度</p><p>  圖5-3 系統(tǒng)運(yùn)行顯示設(shè)定溫度</p><p>  圖5-4 系統(tǒng)運(yùn)行顯示實(shí)際溫度</p><p><b>  第六章 總結(jié)與展望</b></p&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論