基于單片機(jī)水溫控制系統(tǒng)_第1頁
基于單片機(jī)水溫控制系統(tǒng)_第2頁
基于單片機(jī)水溫控制系統(tǒng)_第3頁
基于單片機(jī)水溫控制系統(tǒng)_第4頁
基于單片機(jī)水溫控制系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 摘要 畢 業(yè) 設(shè) 計(jì) 論 文題 目: 基于單片機(jī)的自動(dòng)水溫控制系統(tǒng) 學(xué) 院: 電氣與信息工程學(xué)院 專 業(yè): 電子信息工程 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 完成時(shí)間: 2013年5月20日 I河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 摘要 摘要本文介紹了基于AT89C51單片機(jī)水溫測量及控制系統(tǒng)的設(shè)計(jì)。系統(tǒng)硬件部分由單片機(jī)電路、溫度采集電路、鍵盤電路、LED顯示電路、繼電器控制電路等組成。軟件從設(shè)計(jì)思路、軟件系統(tǒng)框圖出發(fā),逐一分析各模塊程序算法的實(shí)現(xiàn),通過C語言編寫出滿足任務(wù)需求的程序。本系統(tǒng)采用數(shù)字式溫度傳感器DS18B20作為溫度傳感器,簡易實(shí)用,方便拓展。單片機(jī)以

2、此對(duì)水的溫度進(jìn)行有效檢測與報(bào)警,并以此進(jìn)行水溫的控制?;趩纹瑱C(jī)水溫控制系統(tǒng)采用多電源供電,降低了系統(tǒng)各個(gè)模塊間的干擾,還保證了電源能為各部分提供足夠的工作電流,提高系統(tǒng)的可靠性。關(guān)鍵詞:水溫控制 AT89C51 DS18B2011河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) ABSTRACT ABSTRACTThis paper introduces the water temperature measurement based on AT89C51 SCM and the design of control system. The system hardware part of microcomput

3、er circuit, temperature acquisition circuit, keyboard circuit, the LED display circuit, relay control circuit etc. Software from design idea, software system of block diagram, by analyzing the module program implementation of algorithm is, through the written in C language to meet the demand of the

4、task program. The system USES the digital temperature sensor DS18B20 as temperature sensor, simple, practical, and convenient development. SCM in order to the temperature of the water carries on the effective detection and alarm, and based on which the water temperature control. Water temperature co

5、ntrol system based on single chip by power supply, reduce the system between each module of the interference, ensures the power supply for the part provide enough work current,Keywords: Water temperature control AT89C51 DS18B20河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 目錄目錄摘要IABSTRACTII前言IV1 緒論11.1水溫控制系統(tǒng)設(shè)計(jì)的背景11.2水溫控制系統(tǒng)設(shè)計(jì)的意義1

6、1.3水溫控制系統(tǒng)完成的功能22 系統(tǒng)設(shè)計(jì)方案選擇32.1單片機(jī)及水溫控制方案32.2水溫傳感器方案32.3電源設(shè)計(jì)方案42.4控制系統(tǒng)總體設(shè)計(jì)43 硬件設(shè)計(jì)部分53.1單片機(jī)電路53.2溫度檢測電路83.3輔助直流穩(wěn)壓電源設(shè)計(jì)113.4其它部分硬件電路134 軟件設(shè)計(jì)部分174.1程序設(shè)計(jì)方案174.2各模塊子程序設(shè)計(jì)185 系統(tǒng)調(diào)試部分22結(jié)論23參考文獻(xiàn)24致謝26附錄27河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 前言前言水溫控制無論是在工業(yè)生產(chǎn)中,還是在日常生活中都起著非常重要的作用,過低的溫度或過高的溫度都會(huì)使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費(fèi)。為了保證生產(chǎn)過程正常安全地進(jìn)行,提

7、高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動(dòng)強(qiáng)度、節(jié)約能源,要求對(duì)水溫進(jìn)監(jiān)測、顯示、控制,使之達(dá)到工藝標(biāo)準(zhǔn),滿足需要。由于電子行業(yè)的迅猛發(fā)展,計(jì)算機(jī)技術(shù)和傳感器技術(shù)的不斷改進(jìn),而且計(jì)算機(jī)和傳感器的價(jià)格也日益降低,可靠性逐步提高,用信息技術(shù)來實(shí)現(xiàn)水溫控制并提高控制的精確度不僅是可以達(dá)到的而且是容易實(shí)現(xiàn)的。其發(fā)展必將帶來新一輪的工業(yè)化的革命和社會(huì)發(fā)展的飛躍。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。單片機(jī)具有體積小、功耗低、編程靈活,控制簡單、擴(kuò)展功能強(qiáng)、微型化和使用方便等優(yōu)點(diǎn),結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸多功能。用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。通過單

8、片機(jī)使系統(tǒng)能簡單的實(shí)現(xiàn)溫度的控制及顯示,并且通過軟件編程能實(shí)現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點(diǎn)。目前國內(nèi)外各大電氣公司,大的半導(dǎo)體廠商正在不斷的開發(fā)、使用單片機(jī),使其無論在控制能力,減小體積,降低成本,還是開發(fā)環(huán)境的改善等方面,都得到空前迅速的發(fā)展。本設(shè)計(jì)以AT89C51單片機(jī)系統(tǒng)進(jìn)行溫度采集與控制。溫度信號(hào)由模擬溫度傳感器DS18B20采集輸入AT89C51,利用溫度傳感器采集到當(dāng)前的溫度,通過AT89C51單片機(jī)進(jìn)行控制,最后通過LED數(shù)碼管以串行口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示??梢酝ㄟ^按鍵任意設(shè)定一個(gè)恒定的溫度。將水環(huán)境數(shù)據(jù)與所設(shè)置的數(shù)據(jù)進(jìn)行比較,當(dāng)水溫低于設(shè)定值時(shí),開啟加熱設(shè)備,進(jìn)行加

9、熱;當(dāng)水溫高于設(shè)定溫度時(shí),停止加熱,從而實(shí)現(xiàn)對(duì)水溫的自動(dòng)控制。當(dāng)系統(tǒng)出現(xiàn)故障,超出控制溫度范圍時(shí),自動(dòng)蜂鳴報(bào)警。用單片機(jī)控制水溫可以在一定范圍內(nèi)設(shè)定,并能在環(huán)境溫度變化時(shí)保持溫度不變。河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 緒論 1 緒論1.1水溫控制系統(tǒng)設(shè)計(jì)的背景測量控制的作用是從生產(chǎn)現(xiàn)場中獲取各種參數(shù),運(yùn)用科學(xué)計(jì)算的方法,綜合各種先進(jìn)技術(shù),使每個(gè)生產(chǎn)環(huán)節(jié)都能夠得到有效的控制,不但保證了生產(chǎn)的規(guī)范化、提高產(chǎn)品質(zhì)量、降低成本,還確保了生產(chǎn)安全。所以,測量控制技術(shù)已經(jīng)被廣泛應(yīng)用于煉油、化工、冶金、電力、電子、輕工和紡織等行業(yè)。單片機(jī)以其集成度高、運(yùn)算速度快、體積小、運(yùn)行可靠、價(jià)格低廉等優(yōu)勢,在過程控制

10、、數(shù)據(jù)采集、機(jī)電一體化、智能化儀表、家用電器以及網(wǎng)絡(luò)技術(shù)等方面得到了廣泛的應(yīng)用,特別是單片機(jī)技術(shù)的開發(fā)與應(yīng)用,標(biāo)志著計(jì)算機(jī)發(fā)展史上又一個(gè)新的里程碑。作為計(jì)算機(jī)兩大發(fā)展方向之一的單片機(jī),以面向?qū)ο蟮膶?shí)時(shí)控制為己任,嵌入到如家用電器、汽車、機(jī)器人、儀器儀表等設(shè)備中,使其智能化。水溫檢測控制系統(tǒng)在工業(yè)生產(chǎn)、科學(xué)研究和人們的生活領(lǐng)域中,得到了廣泛應(yīng)用。在工業(yè)生產(chǎn)過程中,很多時(shí)候都需要對(duì)水溫進(jìn)行嚴(yán)格的監(jiān)控,以使得生產(chǎn)能夠順利的進(jìn)行,產(chǎn)品的質(zhì)量才能夠得到充分的保證。使用水溫控制系統(tǒng)可以對(duì)生產(chǎn)環(huán)境的溫度進(jìn)行有效控制,保證生產(chǎn)的自動(dòng)化、智能化能夠順利、安全進(jìn)行,從而提高企業(yè)的生產(chǎn)效率。水溫控制系統(tǒng)應(yīng)用十分廣闊

11、。1.2水溫控制系統(tǒng)設(shè)計(jì)的意義隨著社會(huì)的發(fā)展,科技的進(jìn)步,以及測溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。溫度測試控制系統(tǒng),控制對(duì)象是溫度。溫度控制在日常生活及工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實(shí)在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對(duì)此問題,本系統(tǒng)設(shè)計(jì)的目的是實(shí)現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強(qiáng)大,小巧美觀,便于攜帶,是一款既實(shí)用又廉價(jià)的控制系統(tǒng)。特別是近年來,溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面,溫度控制的開發(fā)與人們工作生活息息相關(guān)。水是一種我們賴以生存的重要資

12、源,無論是在工農(nóng)業(yè)生產(chǎn)還是我們的日常生活處處離不開水。控制水的溫度可以極大提高生產(chǎn)效率,節(jié)約資源,提升我們的生活質(zhì)量。在水資源日益匱乏的今天,擁有并推廣簡易完善的水溫控制系統(tǒng)對(duì)于我們社會(huì)的可持續(xù)發(fā)展,有著極大的實(shí)際意義。1.3水溫控制系統(tǒng)完成的功能本器件以AT89C51單片機(jī)系統(tǒng)進(jìn)行溫度采集與控制溫度信號(hào)由模擬溫度傳感器DS18B20采集輸入AT89C51,主控器能對(duì)各溫度檢測器通過LED進(jìn)行顯示。1、本機(jī)實(shí)現(xiàn)的功能:(1)利用溫度傳感器采集到當(dāng)前的溫度,通過AT89C51單片機(jī)進(jìn)行控制,最后通過LED數(shù)碼管以串行口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。(2)可以通過按鍵任意設(shè)定一個(gè)恒定的溫度。(3)將水環(huán)境

13、數(shù)據(jù)與所設(shè)置的數(shù)據(jù)進(jìn)行比較,當(dāng)水溫低于設(shè)定值時(shí),開啟加熱設(shè)備,進(jìn)行加熱;當(dāng)水溫高于設(shè)定溫度時(shí),停止加熱,從而實(shí)現(xiàn)對(duì)水溫的自動(dòng)控制。(4)當(dāng)系統(tǒng)出現(xiàn)故障,超出控制溫度范圍時(shí),自動(dòng)蜂鳴報(bào)警。2、基本設(shè)計(jì)參數(shù)要求有:一升水由800W的電熱設(shè)備加熱,要求水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)定的溫度基本不變。(1)溫度測量范圍:2060,最小區(qū)分度不大于0.1。(2)控制精度在0.5以內(nèi),溫度控制的靜態(tài)誤差小于1。(3)用十進(jìn)制數(shù)碼管顯示實(shí)際水溫。3、擴(kuò)展功能:(1)具有通信能力,可接收其他數(shù)據(jù)設(shè)備發(fā)來的命令,或?qū)⒔Y(jié)果傳送到其他數(shù)據(jù)設(shè)備。(2)采用適當(dāng)?shù)目刂品椒▽?shí)現(xiàn)

14、當(dāng)設(shè)定溫度或環(huán)境溫度突變時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。(3)溫度控制的靜態(tài)誤差。河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)設(shè)計(jì)方案選擇2 系統(tǒng)設(shè)計(jì)方案選擇2.1單片機(jī)及水溫控制 建立單片機(jī)水溫控制系統(tǒng)可以采用AT89C51作為控制核心,以使用最為普遍的器件ADC0804作模數(shù)轉(zhuǎn)換,控制上使用對(duì)電阻絲加電使其升溫。此方案簡易可行,器件的價(jià)格便宜。但AT89C51內(nèi)部沒有程序存儲(chǔ)器,需要擴(kuò)展,增加了電路的復(fù)雜性。但此方案在硬件、軟件上的成本都比較高,而且易受外部環(huán)境的影響和限制,系統(tǒng)工作相對(duì)不穩(wěn)定。單片機(jī)種類繁多,經(jīng)過比較。此次設(shè)計(jì)方案采用AT89C51單片機(jī)實(shí)現(xiàn),該單片機(jī)軟件編程自由度大,可用編程

15、實(shí)現(xiàn)各種控制算法和邏輯控制。進(jìn)行數(shù)據(jù)轉(zhuǎn)換,控制電路部分采用繼電器控制,此方案電路簡單并且可以滿足題目中的各項(xiàng)要求的數(shù)據(jù)。2.2水溫傳感器水溫傳感器可以采用極為普遍的晶體管3DG6作為溫度傳感器,廉價(jià)的電壓/頻率轉(zhuǎn)換器(V/F)LM331與AT89C51單片機(jī)組成的溫度測量儀。但抗干擾性差,數(shù)據(jù)處理復(fù)雜,數(shù)據(jù)存放空間大,受市場限制。設(shè)計(jì)中廣泛采用熱電阻傳感器,鉑電阻溫度傳感器是利用其電阻和溫度成一定函數(shù)關(guān)系而制成的溫度傳感器,由于其測量準(zhǔn)確度高、測量范圍大、穩(wěn)定性好等特點(diǎn),被廣泛用于中溫(-200+650)范圍的溫度測量中。但鉑電阻的電阻值與溫度成非線性關(guān)系,所以需要進(jìn)行非線性較正。校正分為模擬

16、電路校正和微處理器數(shù)字化校正,模擬校正有很多現(xiàn)成的電路,其精度不高且易受溫漂等干擾因素影響,數(shù)字化校正則需要在微處理系統(tǒng)中使用,將Pt電阻的電阻值和溫度對(duì)應(yīng)起來后存入EEPROM中,根據(jù)電路中實(shí)測的AD值以查表方式計(jì)算相應(yīng)溫度值。采用數(shù)字可編程溫度傳感器DS18B20作為溫度檢測元件。數(shù)字可編程溫度傳感器可以直接讀出被測溫度值。不需要將溫度傳感器的輸出信號(hào)接到A/D轉(zhuǎn)換器上,減少了系統(tǒng)的硬件電路的成本和整個(gè)系統(tǒng)的體積進(jìn)行數(shù)據(jù)轉(zhuǎn)換,控制電路部分采用繼電器控制,此方案電路簡單并且可以滿足題目中的各項(xiàng)要求的數(shù)據(jù)。由于采用具有一總線特點(diǎn)的溫度傳感器,所以電路連接簡單;而且該傳感器擁有強(qiáng)大的通信協(xié)議,同

17、過幾個(gè)簡單的操作就可以實(shí)現(xiàn)傳感器與單片機(jī)的交互,包括復(fù)位傳感器、對(duì)傳感器讀寫數(shù)據(jù)、對(duì)傳感器寫命令。軟件、硬件易于調(diào)試,制作成本較低。也使得系統(tǒng)所測結(jié)果精度大大提高。綜合多方考慮,經(jīng)過對(duì)各種溫度傳單器的比較,本設(shè)計(jì)決定采用DS18B20建立溫度檢測電路。2.3電源設(shè)計(jì)采用單一電源供電,各個(gè)部分很可能造成干擾,系統(tǒng)無法正確工作,還可能因?yàn)樨?fù)載過大,電源無法提供足夠的工作電流。特別是壓機(jī)啟動(dòng)瞬間電流很大,而且逆變電路負(fù)載電流波動(dòng)較大會(huì)造成電壓不穩(wěn),有毛刺等干擾,嚴(yán)重時(shí)可能造成弱電部分電路掉電。所以采用雙電源,即電源負(fù)載驅(qū)動(dòng)電路等強(qiáng)電部分用一個(gè)電源,數(shù)字電路等弱電部分用一個(gè)電源。但是電路間還是可能會(huì)產(chǎn)

18、生干擾,造成系統(tǒng)不正常,而且還可能會(huì)對(duì)單片機(jī)的工作產(chǎn)生干擾,影響單片機(jī)的正常工作。最終我們采用多電源供電方式,即對(duì)數(shù)字電路、驅(qū)動(dòng)電路分別供電,這種方案即降低了系統(tǒng)各個(gè)模塊間的干擾,還保證了電源能為各部分提供足夠的工作電流,提高系統(tǒng)的可靠性。2.4控制系統(tǒng)總體設(shè)計(jì)本次設(shè)計(jì)采用采樣值和鍵盤設(shè)定值進(jìn)行比較運(yùn)算的方法來簡單精確地控制溫度。先通過鍵盤輸入設(shè)定溫度,保存在AT89C51單片機(jī)的指定單元中,再利用溫度傳感器DS18B20進(jìn)行信號(hào)的采集,送入單片機(jī)中,保存在采樣值單元。然后把采樣值與設(shè)定值進(jìn)行比較運(yùn)算,得出控制量,從而調(diào)節(jié)繼電器觸發(fā)端的通斷,來實(shí)現(xiàn)將水溫控制在一定的范圍內(nèi)。當(dāng)水溫超出單片機(jī)預(yù)存

19、溫度時(shí),蜂鳴器進(jìn)行報(bào)警。單片機(jī)控制系統(tǒng)是一個(gè)完整的智能化的集數(shù)據(jù)采集、顯示、處理、控制于一體的系統(tǒng)。由傳感器、LED顯示單片機(jī)及執(zhí)行機(jī)構(gòu)控制部分等組成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示:DS18B20溫度傳感器LED顯示指示燈蜂鳴器AT89C51單片機(jī)加熱繼電器按鍵圖1 系統(tǒng)結(jié)構(gòu)框圖河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 硬件設(shè)計(jì)部分3 硬件設(shè)計(jì)部分3.1單片機(jī)電路本設(shè)計(jì)采用的AT89C51是一種低功耗、高性能CMOS8位微控制器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上8K字節(jié)Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8

20、位CPU和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89C51單片機(jī)主要功能特點(diǎn)有:與MCS-51單片機(jī)產(chǎn)品兼容;8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器;256字節(jié)RAM;1000次擦寫周期;全靜態(tài)操作:三級(jí)加密程序存儲(chǔ)器;32位可編程I/O口線;雙數(shù)據(jù)指針;三個(gè)16位定時(shí)器/計(jì)數(shù)器;八個(gè)中斷源(一個(gè)6向量2級(jí)中斷結(jié)構(gòu));全雙工UART串行通道;片內(nèi)晶振及時(shí)鐘電路;看門狗定時(shí)器;掉電標(biāo)識(shí)符;0Hz33Hz,AT89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、

21、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止,掉電后中斷可喚醒。3.1.1 AT89C51引腳功能圖2 AT89S52單片機(jī)引腳結(jié)構(gòu)示意圖VCC:電源(+5V)。GND:地。P0口:本次設(shè)計(jì)中P0口與P2口共同實(shí)現(xiàn)LED顯示功能。P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序

22、校驗(yàn)時(shí),需要外部上拉電阻。P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P1口:本次設(shè)計(jì)P1口中P1

23、.0將用于控制繼電器;P1.1和P1.4用于報(bào)警系統(tǒng)。P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P1口第二功能有:P1.0:T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入,時(shí)鐘輸出)P1.1:T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)

24、和方向控制)P1.5:MOSI(在系統(tǒng)編程用)P1.6:MISO(在系統(tǒng)編程用)P1.7:SCK(在系統(tǒng)編程用)P3口:本設(shè)計(jì)中P3口將用于接收水溫信號(hào)和按鍵信息。P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。本次設(shè)計(jì)P3口中P3.4將用于接收發(fā)送溫度型號(hào)。P3引腳號(hào)第二功能有:P3.0:RXD(

25、串行輸入)P3.1:TXD(串行輸出)P3.2:INT0(外部中斷0)P3.3:INT0(外部中斷0)P3.4:T0(定時(shí)器0外部輸入)P3.5:T1(定時(shí)器1外部輸入)P3.6:WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7:RD(外部數(shù)據(jù)存儲(chǔ)器寫選通)RESET:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí)

26、,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問

27、外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接Vcc。在flash編程期間,EA也接收12伏Vpp電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.1.2時(shí)鐘電路時(shí)鐘電路是用來產(chǎn)生AT89C51單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89C51本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89C51在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由

28、于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來為系統(tǒng)提供時(shí)鐘信號(hào)。AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器。電路中的C1、C2的選擇在30pF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。3.1.3復(fù)位電路AT89C51的復(fù)位輸入引腳RST為單片機(jī)提供了初始化的手段,可以使程序從指定處開

29、始執(zhí)行,在AT89C51的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作,只要RST保持高電平,則AT89C51循環(huán)復(fù)位,只有當(dāng)RST由高電平變成低電平以后,AT89C51才從0000H地址開始執(zhí)行程序,本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。圖3 時(shí)鐘電路復(fù)位電路與單片機(jī)的連接圖3.2溫度檢測電路3.2.1 DS18B20數(shù)字溫度計(jì)本次設(shè)計(jì)所采用的溫度傳感器為達(dá)拉斯DS18B20半導(dǎo)體可編程分辨率的單總線數(shù)字溫度計(jì)。DS18B20無需外部器件。它的測溫范圍為-55125,并且在-1085精度為±0.5。DS18B20數(shù)字溫度計(jì)提供9-12位攝氏溫度

30、測量。最多在750ms 內(nèi)將溫度轉(zhuǎn)換為12位數(shù)字。報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件DS18B20有一個(gè)由高低電平觸發(fā)的可編程的不因電源消失而改變的報(bào)警功能。DS18B20通過一個(gè)單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線(加上地線)。除此之外,DS18B20能直接從單線通訊線上汲取能量,除去了對(duì)外部電源的需求,供電范圍為3.0V到5.5V。DS18B20與DS1822兼容的軟件。每個(gè)DS18B20都有一個(gè)獨(dú)特的64位序列號(hào),從而允許多只DS18B20同時(shí)連在一根單線總線上。因此,很簡單就可以用一個(gè)微控制器去控制很多覆蓋在一大片區(qū)域的D

31、S18B20。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機(jī)器的溫度以及過程監(jiān)測和控制等方面非常有用。DS18B20應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何熱感測系統(tǒng)。 本設(shè)計(jì)采用的TO92封裝的DS18B20引腳功能描述見表1: 表1 DS18B20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1GND地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。3.2.2 DS18B20操作原理DS18B20 的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳感器的精度為用戶可編程的9,10,11

32、或12位,分別以0.5,0.25,0.125和0.0625增量遞增。在上電狀態(tài)下默認(rèn)的精度為12位。DS18B20啟動(dòng)后保持低功耗等待狀態(tài);當(dāng)需要執(zhí)行溫度測量和AD轉(zhuǎn)換時(shí),總線控制器必須發(fā)出44h命令。在那之后,產(chǎn)生的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中,DS18B20繼續(xù)保持等待狀態(tài)。當(dāng)DS18B20由外部電源供電時(shí),總線控制器在溫度轉(zhuǎn)換指令之后發(fā)起“讀時(shí)序”,DS18B20正在溫度轉(zhuǎn)換中返回0,轉(zhuǎn)換結(jié)束返回1。DS18B20中的溫度傳感器完成對(duì)溫度的測量,用16位二進(jìn)制形式提供,形式表達(dá),其中頭五位S為符號(hào)位。如:25.0625的數(shù)字輸出為0000 0001 1110

33、0001(正溫度直接把二進(jìn)制數(shù)轉(zhuǎn)成十進(jìn)制乘以單位溫度即得到溫度值,對(duì)于負(fù)溫度則取反加1后把二進(jìn)制數(shù)轉(zhuǎn)成十進(jìn)制)。DS18B20的存儲(chǔ)器有一個(gè)暫存SRAM和一個(gè)存儲(chǔ)高低報(bào)警觸發(fā)值TH和TL的非易失性電可擦除EEPROM組成。注意當(dāng)報(bào)警功能不使用時(shí),TH和TL寄存器可以被當(dāng)作普通寄存器使用。所有的存儲(chǔ)器指令被詳述于DS18B20功能指令節(jié)。位0和位1為測得溫度信息的LSB和MSB。這兩個(gè)字節(jié)是只讀的。第2和第3字節(jié)是TH和TL的拷貝。位4包含配置寄存器數(shù)據(jù),其被詳述于配置寄存器節(jié)。位5,6和7被器件保留,禁止寫入;這些數(shù)據(jù)在讀回時(shí)全部表現(xiàn)為邏輯1。EPROM寄存器中的數(shù)據(jù)在器件掉電時(shí)仍然保存;上電

34、時(shí),數(shù)據(jù)被載入暫存器。數(shù)據(jù)也可以通過召回EEPROM命令從暫存器載入EEPROM??偩€控制器在發(fā)出這條命令后發(fā)出讀時(shí)序,DS18B20返回0表示正在召回中,返回1表示操作結(jié)束。存儲(chǔ)器的第4位為配置寄存器。上電默認(rèn)設(shè)置位6:R0=1:位5:R1=1。精度和轉(zhuǎn)換時(shí)間之間有直接的關(guān)系。暫存器的位7(為0)和位04(為1)被器件保留,禁止寫入。即12位精度時(shí)存儲(chǔ)器狀態(tài)為0111 1111在讀回?cái)?shù)據(jù)時(shí),它們?nèi)勘憩F(xiàn)為邏輯1。64位ROM和單總線端口存儲(chǔ)器和控制邏輯存儲(chǔ)器溫度傳感器上觸發(fā)TH下觸發(fā)LH高速暫存器8位CRC產(chǎn)生器DQ內(nèi)部VddVdd電源檢測圖4 DS18B20內(nèi)部結(jié)構(gòu)示意圖DS18B20完成

35、一次溫度轉(zhuǎn)換后,就拿溫度值與和存儲(chǔ)在TH和TL中一個(gè)字節(jié)的用戶自定義的報(bào)警預(yù)置值進(jìn)行比較。標(biāo)志位(S)指出溫度值的正負(fù):正數(shù)S=0,負(fù)數(shù)S=1。TH和TL寄存器是非易失性的,所以它們?cè)诘綦姇r(shí)仍然保存數(shù)據(jù)。當(dāng)TH和TL為8位寄存器時(shí),4位溫度寄存器中的11個(gè)位用來和TH、TL進(jìn)行比較。如果測得的溫度高于TH或低于TL,報(bào)警條件成立,DS18B20內(nèi)部就會(huì)置位一個(gè)報(bào)警標(biāo)識(shí)。每進(jìn)行一次測溫就對(duì)這個(gè)標(biāo)識(shí)進(jìn)行一次更新;因此,如果報(bào)警條件不成立了,在下一次溫度轉(zhuǎn)換后報(bào)警標(biāo)識(shí)將被移去??偩€控制器通過發(fā)出報(bào)警搜索命令ECh檢測總線上所有的DS18B20報(bào)警標(biāo)識(shí)。任何置位報(bào)警標(biāo)識(shí)的DS18B20將響應(yīng)這條命令,

36、所以總線控制器能精確定位每一個(gè)滿足報(bào)警條件的DS18B20。如果報(bào)警條件成立,而TH或TL的設(shè)置已經(jīng)改變,另一個(gè)溫度轉(zhuǎn)換將重新確認(rèn)報(bào)警條件。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先DS18B20提供以下功能命令之一:讀ROM,ROM匹配,搜索ROM,跳過ROM,報(bào)警檢查。若指令成功地使DS18B20完成溫度測量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM的數(shù)據(jù)。如果DS18B20

37、不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。所有的數(shù)據(jù)的讀、寫都是從最低位開始。讀/寫時(shí)序DS18B20的數(shù)據(jù)讀寫是通過時(shí)序處理位來確認(rèn)信息交換的。圖5 DS18B20數(shù)字溫度計(jì)與AT89S52單片機(jī)的連接3.3直流穩(wěn)壓電源設(shè)計(jì)本系統(tǒng)采用多電源供電方式,即對(duì)數(shù)字電路、驅(qū)動(dòng)電路分別供電,這種方案即降低了系統(tǒng)各個(gè)模塊間的干擾,還保證了電源能為各部分提供足夠的工作電流,提高系統(tǒng)的可靠性。單片機(jī)水溫控制系統(tǒng)設(shè)計(jì)外接220V交流電源為繼電加熱器供電,并通過變壓器和整流電路等組成的輔助直流穩(wěn)壓

38、電源向系統(tǒng)提供+12V、+5V直流電。3.3.1三端固定穩(wěn)壓器78××為固定式三端穩(wěn)壓集成器,它只能輸出一個(gè)穩(wěn)定電壓。固定式三端穩(wěn)壓器的常見產(chǎn)品如圖14所示。圖6 78××系列穩(wěn)壓器及其典型電路78××系列穩(wěn)壓器輸出固定的正電壓,如7805輸出為5V;79××系列穩(wěn)壓器輸出固定的負(fù)電壓,如7912輸出為12V。輸入端接電容可以進(jìn)一步濾除紋波,輸出端接電容能改善負(fù)載的瞬態(tài)影響,使電路穩(wěn)定工作。、最好采用漏電流小的鉭電容,一般不得小于0.1µF,如采用電解電容,則電容量要比圖中數(shù)值增加10倍。3.3.2本次設(shè)

39、計(jì)用的電源圖16所示電路為+12V輸出的直流穩(wěn)壓電源,從圖可見,該直流穩(wěn)壓電是由變壓器、二極管整流橋、濾波器和集成穩(wěn)壓等環(huán)節(jié)組成。集成穩(wěn)壓器7805則穩(wěn)壓電源變?yōu)檩敵?5V的單路直流穩(wěn)壓電源,供給AT89C51等芯片工作。圖7 +5V和+12V穩(wěn)壓電源使用中應(yīng)注意:(1)整流橋輸出地端應(yīng)接在大電解電容上,以利于降噪。電解電容應(yīng)大于1000F,以為7812三端穩(wěn)壓模塊提供較穩(wěn)定的直流輸入。(2)為消除三端穩(wěn)壓模塊內(nèi)部產(chǎn)生的高次諧波,抑制穩(wěn)壓電路的自激震蕩,實(shí)現(xiàn)頻率補(bǔ)償,應(yīng)在模塊兩端分別并聯(lián)一小電容。3.3.3元器件選擇及參數(shù)計(jì)算(1)三端穩(wěn)壓器根據(jù)電路中所需要的電源,選擇7805、7812分別輸

40、出+5V、+12V,其輸出電壓和輸出電流均滿足指標(biāo)要求。(2)輸入輸出電容輸入輸出電容的取值主要根據(jù)工程經(jīng)驗(yàn)而得到,一般為瓷片電容。(3)變壓器二次側(cè)電壓有效值和輸入電壓這兩個(gè)值的取定決定了相關(guān)元器件及參數(shù)的選擇。一般情況下,輸入電壓應(yīng)比輸出電壓高3V左右(太小影響穩(wěn)壓;太大穩(wěn)壓器功耗大,易受熱損壞)。假設(shè)+5V的輸入為V11,輸出為Vo1;+12V的輸入為V12,輸出為Vo2;而它們所對(duì)應(yīng)的變壓器二次側(cè)電壓有效值分別為V21、V22則有,V11=8V,V12=15V,考慮電網(wǎng)電壓10%的波動(dòng),最終可取V11=9V,V12=16.5V。由式V1(1.11.2)V2可取變壓器二次側(cè)電壓有效值V2

41、1=V11/1.1=8.18V, V22=V12/1.1=15V鑒于變壓器規(guī)格的限制,實(shí)際應(yīng)選V21=10V,V22=15V。(4)濾波電容濾波電容選擇時(shí)應(yīng)注意:電容對(duì)地濾波,需要一個(gè)較小的電容并聯(lián)對(duì)地,對(duì)高頻信號(hào)提供了一個(gè)對(duì)地通路。電源濾波中電容對(duì)地腳要盡可能靠近地。理論上說電源濾波用電容越大越好,一般大電容濾低頻波,小電容濾高頻波??煽康淖龇ㄊ菍⒁淮笠恍蓚€(gè)電容并聯(lián),一般要求相差兩個(gè)數(shù)量級(jí)以上,以獲得更大的濾波頻段。(5)整流二極管整流二極管的參數(shù)應(yīng)滿足最大整流電流IF>Iomax(暫定);最大反向電壓VR>V2,其中V2為變壓器二次側(cè)電壓有效值。橋式的所有整流二極管可選IN4

42、001小功率二極管。3.4其它部分硬件電路3.4.1 LED顯示電路LED數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管,通過對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字??梢燥@示:時(shí)間、日期、溫度等可以用數(shù)字代替的參數(shù)。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的

43、陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,通過由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)的P0口輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)P2.0-P2.3位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在本設(shè)計(jì)中

44、采用了四位八段數(shù)碼管,用動(dòng)態(tài)驅(qū)動(dòng)來顯示溫度的值,如圖8所示: 圖8 LED顯示電路圖3.4.2按鍵電路除去復(fù)位按鍵及繼電器外,系統(tǒng)的鍵盤共有三個(gè)按鍵,判斷K3K5鍵是否按下,可采用軟件查詢和中斷的方法,當(dāng)某個(gè)鍵按下時(shí),低電平有效。3個(gè)鍵K3K5的功能定義如表所示:表2 K3K5鍵的定義按鍵鍵名功能K3功能轉(zhuǎn)換鍵地信號(hào)此鍵按下,顯示溫度設(shè)定值,按鍵松開,顯示當(dāng)前溫度開漏單總線接口引腳。K4加1鍵設(shè)定溫度值加1K5減1鍵設(shè)定溫度值減1圖9 按鍵電路3.4.3報(bào)警與控制電路在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對(duì)于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施

45、。其方法就是把計(jì)算機(jī)采集的數(shù)據(jù)或記過計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理、數(shù)字濾波、標(biāo)度變換之后,與該參數(shù)設(shè)定值進(jìn)行比較。如果高于設(shè)置值1度則進(jìn)行報(bào)警,否則就作為采樣的正常值,進(jìn)行顯示和控制。同樣水箱內(nèi)的溫度超出低高設(shè)定的溫度范圍內(nèi)時(shí)P1.4輸出高電平“0”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫,出報(bào)警聲音;單片機(jī)的P1.1輸出低電平,此時(shí)紅色指示燈滅,直到低于設(shè)定的最高溫度時(shí),P1.4輸出高時(shí),三極管截止,蜂鳴器停止發(fā)聲,P1.1輸出電平高電平,發(fā)光二極管亮。低于設(shè)置數(shù)1度時(shí),具體操作類似。報(bào)警和控制電路如圖10所示:圖10 報(bào)警與控制電路與單片機(jī)的連接3.4.4繼電器控制電路控制P10的高低電

46、平來控制繼電器的斷開和閉合,當(dāng)P10口為低電平時(shí),三極管導(dǎo)通,控制繼電器開始加熱,當(dāng)P10為高電平時(shí),三極管截止,繼電器斷開,停止加熱,綠燈亮。光電耦合器以光為媒介來傳輸電信號(hào)的器件,受光器接受光線之后就產(chǎn)生光電流,從輸出端流出,從而實(shí)現(xiàn)了“電光電”轉(zhuǎn)換。本設(shè)計(jì)采用TOSHIBA公司生產(chǎn)的TLP627-1。它包含一個(gè)砷化鎵紅外發(fā)光二極管,該二極管光耦合到一個(gè)達(dá)林頓光電晶體管。晶體管集成了基極-集電極內(nèi)阻,使TLP627系列的轉(zhuǎn)換速度和高溫特性得到優(yōu)化。加熱器由繼電器控制,連接220V電源,用于對(duì)水溫的控制,即對(duì)進(jìn)行水溫加熱或不加熱。圖11 繼電器控制電路 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 軟件

47、設(shè)計(jì)部分4 軟件設(shè)計(jì)部分4.1程序設(shè)計(jì)方案根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。本部分詳細(xì)介紹了基于AT89C51單片機(jī)的多路溫度采集控制系統(tǒng)的軟件設(shè)計(jì)。根據(jù)系統(tǒng)功能,可以將系統(tǒng)設(shè)計(jì)分為若干個(gè)子程序進(jìn)行設(shè)計(jì),如溫度采集子程序,數(shù)據(jù)處理子程序、顯示子程序、執(zhí)行子程序。采用Keil uVision3集成編譯環(huán)境和C語言來進(jìn)行系統(tǒng)軟件的設(shè)計(jì)。本章從設(shè)計(jì)思路、軟件系統(tǒng)框圖出發(fā),先介紹整體的思路后,再逐一分析各模塊程序算法的實(shí)現(xiàn),最終編寫出滿足任務(wù)需求的程序。采集到當(dāng)前的溫度,通過LED數(shù)碼管實(shí)現(xiàn)溫度顯示。通過按鍵任

48、意設(shè)定一個(gè)恒定的溫度將水環(huán)境數(shù)據(jù)與所設(shè)置的數(shù)據(jù)進(jìn)行比較。當(dāng)水溫低于設(shè)定值時(shí),開啟加熱設(shè)備,進(jìn)行加熱;當(dāng)水溫高于設(shè)定溫度時(shí),停止加熱。當(dāng)系統(tǒng)出現(xiàn)故障,超出控制溫度范圍時(shí),自動(dòng)蜂鳴報(bào)警并對(duì)溫度進(jìn)行實(shí)時(shí)顯示。采用C語言編寫代碼,鑒于篇幅限制及DS18B20的應(yīng)用已經(jīng)規(guī)范和成熟,本文僅就主程序流程圖和顯示子程序流程圖及其代碼進(jìn)行說明。通過定時(shí)器T0 P3.4口的定時(shí)來實(shí)現(xiàn),在此不再贅述。有關(guān)DS18B20的讀寫程序,編程時(shí)序分析等請(qǐng)見附錄三。功能主程序流程圖主程序通過調(diào)用溫度采集子程序完成溫度數(shù)據(jù)采集,然后調(diào)用溫度轉(zhuǎn)換子程序轉(zhuǎn)換讀取溫度數(shù)據(jù),調(diào)用顯示子程序進(jìn)行溫度顯示和判斷溫度數(shù)據(jù)。主程序(見附錄二)

49、調(diào)用四個(gè)子程序,分別是溫度采集程序、數(shù)碼管顯示程序、溫度處理程序和數(shù)據(jù)存儲(chǔ)程序。溫度采集程序:對(duì)溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。溫度處理程序:對(duì)采集到的溫度和設(shè)置的上、下限進(jìn)行比較,做出判斷,向繼電器輸出關(guān)斷或閉合指令。數(shù)據(jù)存儲(chǔ)程序:對(duì)鍵盤的設(shè)置的數(shù)據(jù)進(jìn)行存儲(chǔ)。設(shè)定溫度值顯示當(dāng)前溫度判斷當(dāng)前溫度值超過設(shè)定1低于設(shè)定1報(bào)警報(bào)警是否否是圖12 系統(tǒng)總流程圖4.2各模塊子程序設(shè)計(jì)4.2.1主程序設(shè)計(jì)主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測

50、溫度,其程序流程見圖13所示。通過調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個(gè)單元中,然后通過調(diào)用顯示子程序顯示出來。開始調(diào)用讀溫度子程序數(shù)字變換程序顯示子程序圖13 主程序流程圖4.2.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。DS18B20的各個(gè)命令對(duì)時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號(hào)位。DS18B20的數(shù)據(jù)讀寫是通過時(shí)序處理位來確認(rèn)信息交換的。當(dāng)總線控制器發(fā)起讀時(shí)序時(shí),

51、DS18B20僅被用來傳輸數(shù)據(jù)給控制器。因此,總線控制器在發(fā)出讀暫存器指令BEh或讀電源模式指令B4H后必須立刻開始讀時(shí)序,DS18B20可以提供請(qǐng)求信息。所有讀時(shí)序必須最少60us,包括兩個(gè)讀周期間至少1us的恢復(fù)時(shí)間。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低電平時(shí),讀時(shí)序開始,數(shù)據(jù)線必須至少保持1us,然后總線被釋放在總線控制器發(fā)出讀時(shí)序后,DS18B20通過拉高或拉低總線上來傳輸1或0。當(dāng)傳輸邏輯0結(jié)束后,總線將被釋放,通過上拉電阻回到上升沿狀態(tài)。從DS18B20輸出的數(shù)據(jù)在讀時(shí)序的下降沿出現(xiàn)后15us內(nèi)有效。因此,總線控制器在讀時(shí)序開始后必須停止把I/O腳驅(qū)動(dòng)為低電平15us,以讀取I/O腳

52、狀態(tài)。DS18B20復(fù)位、應(yīng)答子程序跳過ROM匹配命令寫入子程序溫度轉(zhuǎn)移命令寫入子程序延時(shí)顯示子程序DS18B20復(fù)位、應(yīng)答子程序跳過ROM匹配命令寫入子程序讀溫度命令子程序終止圖14 讀出溫度子程序4.2.3數(shù)碼管顯示模塊 本系統(tǒng)采用八位共陽極數(shù)碼管,用模擬串口的動(dòng)態(tài)顯示數(shù)據(jù)。其流程圖如圖16所示:子程序入口初始化查表取段碼位碼送譯碼器選通低位數(shù)碼管數(shù)字是否顯示亮關(guān)顯示返回段碼送驅(qū)動(dòng)顯示顯示緩沖區(qū)左移YN圖15 數(shù)碼管顯示流程圖4.2.4溫度處理程序基于單片機(jī)水溫控制系統(tǒng)通過DS18B20溫度傳感器采集到的溫度和設(shè)置的溫度上、下限進(jìn)行比較得出結(jié)果。如果低于下限溫度或是高于上限溫度,則報(bào)警器進(jìn)

53、行進(jìn)行報(bào)警。河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)調(diào)試部分5 系統(tǒng)調(diào)試部分1、測試環(huán)境:測試時(shí)如不能外設(shè)小型制冷設(shè)備,則室溫不應(yīng)超過40。2、測試注意事項(xiàng):(1)應(yīng)保證DS18B20傳感器位于容器內(nèi)水的中央部位且不能與加熱器接觸,否則會(huì)造成溫度測量不準(zhǔn)確甚至元器件的損害。(2)系統(tǒng)復(fù)位初始設(shè)定寫入溫度為上限H30,下限L10。(3)測試不同溫度時(shí),所測試溫度應(yīng)由低到高。3、測試溫度范圍:2060之間(模擬設(shè)計(jì)要求范圍內(nèi)的不同溫度值環(huán)境)。4、測試儀器:數(shù)字萬用表、溫度計(jì)(可測量0.0100.0)、盛有清水的器皿、220V電源,秒表等。5、測試方法:(1)使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測是否正常(包

54、括單片機(jī)控制系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等)。(2)接通電后,系統(tǒng)可實(shí)時(shí)顯示當(dāng)前水溫溫度。可分別通過按鍵設(shè)定系統(tǒng)上限溫度為20、25、30、35、40、45,50、55、60、等不同溫度,測試下限溫度時(shí)方法同上。(3)利用測試表格數(shù)據(jù),觀察顯示數(shù)據(jù)是否相符合即可。采用溫度傳感器和溫度計(jì)同時(shí)測量水溫變化情況,目測顯示電路是否正常。(4)待溫度穩(wěn)定后,在單位時(shí)間內(nèi)采樣記錄顯示屏溫度值,與溫度計(jì)實(shí)際溫度值比較,計(jì)算出選定度數(shù)的誤差百分比精確度,得出系統(tǒng)的溫度指標(biāo)。6、測試結(jié)果分析:系統(tǒng)自檢正常,溫度顯示正常。因?yàn)樾酒撬芰戏庋b,所以對(duì)溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個(gè)很短的時(shí)間達(dá)到穩(wěn)定。經(jīng)反復(fù)測試驗(yàn)證,本系統(tǒng)滿足要求。用單片機(jī)控制水溫可以在一定范圍內(nèi)設(shè)定,并能在環(huán)境溫度變化時(shí)保持溫度不變。河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 結(jié)論結(jié)論本設(shè)計(jì)敘述了基于單片機(jī)單片機(jī)水溫控制系統(tǒng),包括硬件組成和軟件的設(shè)計(jì)。該系統(tǒng)在硬件設(shè)計(jì)上主要是通過DS18B20溫度傳感器對(duì)溫度進(jìn)行采集。硬件設(shè)計(jì)中最核心的器件是單片機(jī)AT89C51。一方面,將采集到的數(shù)字溫度信號(hào)經(jīng)數(shù)據(jù)處理得到相應(yīng)的溫度值,送至LED顯

溫馨提示

  • 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)論