單片機溫度控制系統(tǒng)的畢業(yè)設(shè)計_第1頁
單片機溫度控制系統(tǒng)的畢業(yè)設(shè)計_第2頁
單片機溫度控制系統(tǒng)的畢業(yè)設(shè)計_第3頁
單片機溫度控制系統(tǒng)的畢業(yè)設(shè)計_第4頁
單片機溫度控制系統(tǒng)的畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 西安科技大學畢業(yè)設(shè)計(論文)題 目 單片機溫度控制系統(tǒng) 院(系、部) _電氣與控制工程學院_ 專業(yè)及班級 _ 姓 名 _ 指 導 教 師 _ _ 日 期 _ 論文題目:單片機溫度控制系統(tǒng)的設(shè)計 摘 要在工業(yè)生產(chǎn)過程中,人們需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制。因為單片機具有低功耗、高性能、可靠性好、易于產(chǎn)品化等特點,因此采用單片機對溫度進行控制不僅控制方便、簡單和靈活,而且可以提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量。本論文介紹“單片機溫度控制系統(tǒng)”的設(shè)計。單片機溫度控制系統(tǒng)作為控制系統(tǒng)中的一個典型實驗設(shè)計,綜合運用了微機原理、自動控制原理、模擬電子技術(shù)、

2、數(shù)字控制技術(shù)、鍵盤顯示技術(shù)等諸多方面的知識。設(shè)計過程中,首先進行硬件的設(shè)計,其次進行軟件設(shè)計和綜合調(diào)試,最終使得此系統(tǒng)實現(xiàn)了溫度的恒溫控制智能化。關(guān)鍵詞:mcs-51單片機,溫度傳感器,可控硅,溫度控制subject: mcu temperature control system design (hardware)specialty: automationabstractin industrial production progress, people need to heating furnace, heat-treatment furnace and all kinds of respon

3、se stove and boiler temperature measure and control. adopt single-chip microcomputer is it control convenient, simple, flexibility advantage such as being heavy to have not merely to control to go on to temperature to come, and can raise by technical indicator not to accuse of temperature by a large

4、 margin, thus can big improvement quality and the quantity of products. this thesis introduces the design and debugging of “the temperature control system by microcomputer”. as a typical experimental design in control system, it uses much control knowledge and comprehensively tests students ability

5、in control system.the content of this thesis mainly includes: introduces, filtering ware, keyboard, man-computer dialogue supported by led indication, heat control method, the development of micro-computer mcs-51 and systemic applied software.key words:mcs-51, temperature sensor, silicon control ,te

6、mperature control目 錄第一章 前言51.1課題背景51.1.1研究意義61.1.2研究現(xiàn)狀61.1.3研究內(nèi)容7第二章 溫度傳感器72.1溫度傳感器的選擇72.1.1根據(jù)測量對象與測量環(huán)境確定傳感器的類型82.1.2 靈敏度的選擇82.1.3 頻率響應(yīng)特性82.1.4線性范圍82.1.5 穩(wěn)定性82.1.6 精度8第三章 系統(tǒng)硬件設(shè)計173.1溫度控制系統(tǒng)的整體設(shè)計173.2 溫度控制系統(tǒng)的基本組成183.3 整體電路圖183.4單片機at89s52介紹193.4.1單片機的發(fā)展方向193.4.2 at89s52主要性能參數(shù)193.4.3 at89s52方框圖203.4.4

7、at89s52存儲器配置223.5 溫度采集模塊錯誤!未定義書簽。3.5.1溫度傳感器ds18b20概述錯誤!未定義書簽。3.5.2 ds18b20封裝形式及引腳功能93.5.3 ds18b20內(nèi)部結(jié)構(gòu)93.5.4 ds18b20供電方式123.5.5 ds18b20的測溫原理123.5.6 ds18b20的rom命令143.5.7 ds18b20時序圖153.6 溫度顯示模塊253.7溫度控制模塊273.7.1可控硅bta16283.7.2光電偶合器moc3021303.8溫度報警模塊31第四章 系統(tǒng)軟件設(shè)計324.1 系統(tǒng)主程序324.2 溫度采集子程序324.3 顯示子程序334.4 溫

8、度設(shè)定子程序334.5 pid控制算法344.6 在線編程使用說明35第五章 系統(tǒng)調(diào)試36結(jié)束語37致 謝38參考文獻39附錄140附錄241附錄342第一章 前言1.1課題背景溫度是工業(yè)對象中主要的被控參數(shù)之一,如冶金、機械、食品、化工各類工業(yè)生產(chǎn)中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對工件的溫度處理要求嚴格控制,單片機溫度控制系統(tǒng)使溫度控制指標得到了大幅度提高。溫度控制無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用。在水溫控制系統(tǒng)中,過低的溫度或過高的溫度都會使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費。特別是在當前全球水資源極度缺乏的情況下,更應(yīng)該掌握好對水溫的

9、控制,把身邊的水資源好好地利用起來?;赼t89s52單片機溫度控制器的設(shè)計是實踐教學的重要部分,國內(nèi)外部分公司已研制出了少量的實訓系統(tǒng),但都存在共同的缺點:針對電類設(shè)計,模塊化和程序的可移植性、可擴展性較差。而且因在設(shè)計中考慮到普遍性問題,所以成型產(chǎn)品不利于應(yīng)用型本科人才培養(yǎng)方案的實施。本系統(tǒng)采用模塊化思想,從簡單到復雜,從零件到整機的設(shè)計思路,將實際工業(yè)生產(chǎn)中電氣控制部分、各種傳感器和現(xiàn)代化生產(chǎn)中的溫度控制、單片機技術(shù)充分展示于該系統(tǒng)中。提高了系統(tǒng)的可移植性、擴展性,利于現(xiàn)代測控、自動化、電氣技術(shù)等專業(yè)實訓要求。以單片機為核心設(shè)計的溫度控制系統(tǒng),可以同時采集多個數(shù)據(jù),并根據(jù)實際要求進行相應(yīng)

10、的控制。那么無論是哪種控制,都希望水溫控制系統(tǒng)能夠有較高的精確度(起碼在滿足要求的范圍內(nèi)),從而實現(xiàn)了高精度的控制,解決身邊的問題。溫度對于工業(yè)生產(chǎn)如此重要,由此推進了溫度傳感器的發(fā)展。溫度傳感器主要經(jīng)過了三個發(fā)展階段:(1)模擬集成溫度傳感器。該傳感器是采用硅半導體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠、體積小、微功耗等特點,適合遠距離測溫、控溫,不需要進行非線性校準,外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有ad590、ad592、tmp17、lm135等;(2)模擬集

11、成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有l(wèi)m56、ad22105和max6509。某些增強型集成溫度控制器(例如tc652/653)中還包含了a/d轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;(3)智能溫度傳感器 (亦稱數(shù)字溫度傳感器)。智能溫度傳感器是在20世紀90年代中期問世的,其內(nèi)部都包含溫度傳感器、a/d轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(cpu)、隨機存取存儲器(ram)和只讀存儲器(rom)。智能溫度傳感器的特點是能輸出

12、溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(mcu);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。1.1.1研究意義溫度是一種最基本的環(huán)境參數(shù),它是與人類的生活、工作關(guān)系最密切的物理量,也是各門學科與工程研究設(shè)計中經(jīng)常遇到和必須精確測量的物理量。從工業(yè)爐溫、環(huán)境氣溫到人體溫度;從空間、海洋到家用電器,各個技術(shù)領(lǐng)域都離不開測溫和控溫。因此,研究溫度的測量和控制方法具有重要的意義。1.1.2研究現(xiàn)狀現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計算機技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)

13、業(yè)生產(chǎn)、科學研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。數(shù)字溫度傳感器可以直接將被檢測的溫度信息以數(shù)字化形式輸出,與傳統(tǒng)的模擬式溫度傳感器相比,具有測量精度高、功耗低、穩(wěn)定性好、外圍接口電路簡單特點。而單片機微處理器越來越豐富的外圍功能模塊,更加方便了數(shù)字式溫度傳感器輸出信號的處理。智能溫度傳感器內(nèi)部都包含溫度傳感器、a/d轉(zhuǎn)化器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央處理器(cpu)、隨機存取存儲器(ram)和只讀存儲器(rom)。并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。進入21世紀后,智能溫度傳感器正朝著高精度、多功

14、能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片機測溫系統(tǒng)等的方向發(fā)展。數(shù)字化溫度傳感器可以直接將溫度量以數(shù)字脈沖信號形式輸出,具有測量精度高、抗干擾能力強、傳輸距離遠、外圍接口電路簡單等諸多優(yōu)點。同時數(shù)字溫度傳感器還可直接與微處理器進行接口,大大方便了傳感器輸出信號的處理.數(shù)字單總線溫度傳感器是目前最新的測溫器件,它集溫度測量,a/d轉(zhuǎn)換于一體,具有單總線結(jié)構(gòu),數(shù)字量輸出,直接與微機接口等優(yōu)點。1.1.3研究內(nèi)容本溫度控制系統(tǒng)以at89s52單片機為控制核心,由一數(shù)字溫度傳感器ds18b20測量被控溫度,電熱爐執(zhí)行水溫上升環(huán)節(jié),從而構(gòu)成一個單閉環(huán)反饋控制系統(tǒng)。單片機外圍

15、電路包括人機接口按鍵與數(shù)碼顯示電路、溫度讀取與控制電路。用戶通過按鍵設(shè)定欲加熱溫度后, 啟動400w電熱爐進行燒水。當前水溫經(jīng)過ds18b20測量并送給單片機, 單片機經(jīng)過pid算法校正后輸出信號控制可控硅進行熱電爐燒水, 最終使水溫保持在用戶的設(shè)定值上。第二章 溫度傳感器溫度是工農(nóng)業(yè)生產(chǎn)和日常生活中經(jīng)常要測量的一個物理量,科學家根據(jù)不同的測溫要求研制出多種溫度傳感器,但多數(shù)溫度傳感器的輸出都是一個變化的模擬電壓量,不能與單片機采集系統(tǒng)直接接口,需要先進行轉(zhuǎn)換,才能送入單片機。 2.1溫度傳感器的選擇現(xiàn)代傳感器在原理與結(jié)構(gòu)上千差萬別,如何根據(jù)具體的測量目的、測量對象以及測量環(huán)境合理地選用傳感器

16、,是在進行某個量的測量時首先要解決的問題。當傳感器確定之后,與之相配套的測量方法和測量設(shè)備也就可以確定了。測量結(jié)果的成敗,在很大程度上取決于傳感器的選用是否合理。2.1.1根據(jù)測量對象與測量環(huán)境確定傳感器的類型要進行個具體的測量工作,首先要考慮采用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因為,即使是測量同一物理量,也有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測量的特點和傳感器的使用條件考慮以下一些具體問題:量程的大?。槐粶y位置對傳感器體積的要求;測量方式為接觸式還是非接觸式;信號的引出方法,有線或是非接觸測量;傳感器的來源,國產(chǎn)還是進口,價格能否承受,還

17、是自行研制。2.1.2 靈敏度的選擇通常,在傳感器的線性范圍內(nèi),希望傳感器的靈敏度越高越好。因為只有靈敏度高時,與被測量變化對應(yīng)的輸出信號的值才比較大,有利于信號處理。但要注意的是,傳感器的靈敏度高,與被測量無關(guān)的外界噪聲也容易混入,也會被放大系統(tǒng)放大,影響測量精度。因此,要求傳感器本身應(yīng)具有較高的信噪比,盡量減少從外界引入的串擾信號。2.1.3 頻率響應(yīng)特性傳感器的頻率響應(yīng)特性決定了被測量的頻率范圍,必須在允許頻率范圍內(nèi)保持不失真的測量條件,實際上傳感器的響應(yīng)總有定延遲,希望延遲時間越短越好。傳感器的頻率響應(yīng)高,可測的信號頻率范圍就寬,而由于受到結(jié)構(gòu)特性的影響,機械系統(tǒng)的慣性較大,因有頻率低

18、的傳感器可測信號的頻率較低。2.1.4線性范圍傳感器的線形范圍是指輸出與輸入成正比的范圍。以理論上講,在此范圍內(nèi),靈敏度保持定值。傳感器的線性范圍越寬,則其量程越大,并且能保證一定的測量精度。在選擇傳感器時,當傳感器的種類確定以后首先要看其量程是否滿足要求。但實際上,任何傳感器都不能保證絕對的線性,其線性度也是相對的。當所要求測量精度比較低時,在一定的范圍內(nèi),可將非線性誤差較小的傳感器近似看作線性的,這會給測量帶來極大的方便。2.1.5 穩(wěn)定性傳感器使用一段時間后,其性能保持不變化的能力稱為穩(wěn)定性。影響傳感器長期穩(wěn)定性的因素除傳感器本身結(jié)構(gòu)外,主要是傳感器的使用環(huán)境。因此,要使傳感器具有良好的

19、穩(wěn)定性,傳感器必須要有較強的環(huán)境適應(yīng)能力。在選擇傳感器之前,應(yīng)對其使用環(huán)境進行調(diào)查,并根據(jù)具體的使用環(huán)境選擇合適的傳感器,或采取適當?shù)拇胧瑴p小環(huán)境的影響。2.1.6 精度精度是傳感器的一個重要的性能指標,它是關(guān)系到整個測量系統(tǒng)測量精度的一個重要環(huán)節(jié)。傳感器的精度越高,其價格越昂貴,因此,傳感器的精度只要滿足整個測量系統(tǒng)的精度要求就可以,不必選得過高。這樣就可以在滿足同一測量目的的諸多傳感器中選擇比較便宜和簡單的傳感器。如果測量目的是定性分析的,選用重復精度高的傳感器即可,不宜選用絕對量值精度高的;如果是為了定量分析,必須獲得精確的測量值,就需選用精度等級能滿足要求的傳感器。對某些特殊使用場合

20、,無法選到合適的傳感器,則需自行設(shè)計制造傳感器。2.2 ds18b20概述ds18b20是dallas公司繼ds1820后推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)的熱敏電阻相比,只需一根線就能直接讀出被測溫度值,并可根據(jù)實際需求來編程實現(xiàn)912位數(shù)字值的讀數(shù)方式。2.2.1 ds18b20封裝形式及引腳功能 圖2.1 ds18b20封裝形式和引腳功能如圖2.1所示,ds18b20的外形如一只三極管,引腳名稱及作用如下:gnd:接地端。dq:數(shù)據(jù)輸入/輸出腳,與ttl電平兼容。vdd:可接電源,也可接地。因為每只ds18b20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采用數(shù)據(jù)

21、總線供電方式時vdd接地,可以節(jié)省一根傳輸線,但完成數(shù)據(jù)測量的時間較長;采用外部供電方式則vdd接+5v,多用一根導線,但測量速度較快。2.2.2 ds18b20內(nèi)部結(jié)構(gòu)64位rom和單線接口存儲和控制邏輯 高速緩存器溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl匹配寄存器8位crc發(fā)生器電源檢 測cdqvdd內(nèi)部電源vdd圖2.2 ds18b20內(nèi)部結(jié)構(gòu)圖2.2中出示了ds18b20 的主要內(nèi)部部件,下面對ds18b20內(nèi)部部分進行簡單的描述:(1)64位rom。64位rom是由廠家使用激光刻錄的一個64位二進制rom代碼,是該芯片的標識號,如表2.1所示:表2.1 64位rom標識8位循環(huán)冗余檢驗

22、48位序列號8位分類編號(10h)msblsbmsblsbmsblsb第1個8位表示產(chǎn)品分類編號,ds18b20的分類號為10h;接著為48位序列號。它是一個大于281*1012的十進制編碼,作為該芯片的唯一標示代碼;最后8位為前56位的crc循環(huán)冗余校驗碼,由于每個芯片的64位rom代碼不同,因此在單總線上能夠并接多個ds18b20進行多點溫度實習檢驗。(2)溫度傳感器。溫度傳感器是ds18b20大的核心部分,該功能部件可完成對溫度的測量通過軟件編程可將-55125范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進行量化,以上的分辨率都包括一個符號位,因此對應(yīng)的溫度量化值分別為0.5、0

23、.25、0.125、0.0625,即最高分辨率為0.0625。芯片出廠時默認為12位的轉(zhuǎn)換精度。當接收到溫度轉(zhuǎn)換命令(44h)后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號擴展的的二進制補碼形式表示,存儲在高速緩存器ram的第0,1字節(jié)中,二進制數(shù)的前5位是符號位。如果測得的溫度大于0,這5位為0,只要將測得的數(shù)值乘上0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測得的數(shù)值需要取反加1再乘上0.0625即可得到實際溫度。(3)高速緩存器。ds18b20內(nèi)部的高速緩存器包括一個高速暫存器ram和一個非易失性可電擦除的eeprom。非易失性可點擦除eeprom用來存放高溫觸發(fā)器th、低溫

24、觸發(fā)器tl和配置寄存器中的信息。(4)配置寄存器。配置寄存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換率。ds18b20工作是按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個字節(jié),該字節(jié)定義如表2.2所示:表2.2 匹配寄存器tmr0r111111tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式,在ds18b20出廠時該位被設(shè)置為0,用戶不要去改動;r1和r0用來設(shè)置分辨率;其余5位均固定為1。ds18b20分辨率的設(shè)置如表2.3所示:表2.3 ds18b20分辨率的設(shè)置r10011r00101分辨率9位10位11位12位最大轉(zhuǎn)換時間/ms93.75187.537575

25、0ds18b20依靠一個單線端口通訊。在單線端口條件下,必須先建立rom 操作協(xié)議,才能進行存儲器和控制操作。因此,控制器必須首先提供下面5個rom 操作命令之一:1)讀rom;2)匹配rom;3)搜索rom;4)跳過rom;5)報警搜索。這些命令對每個器件的激光rom 部分進行操作,在單線總線上掛有多個器件時,可以區(qū)分出單個器件,同時可以向總線控制器指明有多少器件或是什么型號的器件。成功執(zhí)行完一條rom 操作序列后,即可進行存儲器和控制操作,控制器可以提供6 條存儲器和控制操作指令中的任一條。一條控制操作命令指示ds18b20完成一次溫度測量。測量結(jié)果放在ds18b20的暫存器里,用一條讀暫

26、存器內(nèi)容的存儲器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報警觸發(fā)器th 和tl 各由一個eeprom字節(jié)構(gòu)成。如果沒有對ds18b20使用報警搜索命令,這些寄存器可以做為一般用途的用戶存儲器使用??梢杂靡粭l存儲器操作命令對th 和tl 進行寫入,對這些寄存器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進行讀寫。2.2.3 ds18b20供電方式ds18b20可以采用外部電源供電和寄生電源供電兩種模式。外部電源供電模式是將ds18b20的gnd直接接地,dq與但單總線相連作為信號線,vdd與外部電源正極相連。如圖2.3所示:單片機ds18b20外部+5v電源vdddq4.7kvcc其它單

27、線器件圖2.3 ds18b20外部供電方式圖中ds18b20的dq端口通過接入一個4.7k的上拉電阻到vcc,從而實現(xiàn)外部電源供電方式。寄生電源供電模式如圖2.4所示:從圖中可知,ds18b20的gnd和vdd均直接接地,dq與單總線相連,單片機其中一個i/o口與ds18b20的dq端相連。vcc單片機ds18b20gnd4.7k圖2.4 ds18b20寄生電源供電方式+5v2.2.4 ds18b20的測溫原理ds18b20的測溫原理如圖4所示:其主要由斜率累加器、溫度系數(shù)振蕩器、減法計數(shù)器、溫度存儲器等功能部件組成。ds1820 是這樣測溫的:用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)

28、器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于-55的一個值。如果計數(shù)器在門周期結(jié)束前到達0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明所測溫度大于-55。同時,計數(shù)器被復位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)束,將重復這一過程。斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比較高的分辨率。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的的值來實現(xiàn)的。因此,要想獲得所需的分辨力,必須同時知道在給定溫度下計數(shù)器的值和每一度的計數(shù)值。圖?ds18b2

29、0內(nèi)部對此計算的結(jié)果可提供0.5的分辨率。溫度以16bit帶符號位擴展的二進制補碼形式讀出,表1 給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過單線接口以串行方式傳輸。ds18b20測溫范圍-55+125,以0.5遞增。溫度/數(shù)據(jù)關(guān)系(表1)表?-?數(shù)據(jù)輸出(十六進制)溫度數(shù)據(jù)輸出(二進制)+125+25+0.5 0 -0.5 -25 -5500000000 1111101000000000 0011001000000000 0000000100000000 0000000011111111 1111111111111111 1100111011111111 1001001000fa003200010

30、000ffffffceff92ds18b20遵循單總線協(xié)議,每次測溫時都必須有4個過程: 初始化; 傳送rom 操作命令; 傳送rom操作命令; 數(shù)據(jù)交換;2.2.5 ds18b20的rom命令(1) read rom(讀rom).命令代碼為33h,允許主設(shè)備讀出ds18b20的64位二進制rom代碼。該命令只適用于總線上存在單個ds18b20.(2) match rom(匹配rom)。命令代碼為55h,若總線上有多個從設(shè)備時,適用該命令可選中某一指定的ds18b20,即只有和64位二進制rom代碼完全匹配的ds18b20才能響應(yīng)其操作。(3) skip rom(跳過rom)。命令代碼為cch

31、,在啟動所有ds18b20轉(zhuǎn)換之前或系統(tǒng)只有一個ds18b20時,該命令將允許主設(shè)備不提供64位二進制rom代碼就適用存儲器操作命令。(4) search rom(搜索rom)。命令代碼為f0h,當系統(tǒng)初次啟動時,主設(shè)備可能不知縱向上有多少個從設(shè)備或者它們的rom代碼,適用該命令可確定系統(tǒng)中的從設(shè)備個數(shù)及其ron代碼。(5) alarm rom(報警搜索rom)。命令代碼為ech,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報警溫度值。(6) write scratchpad(寫暫存器)。命令代碼為4eh,允許主設(shè)備向ds18b20的暫存器寫入兩個字節(jié)的數(shù)據(jù),其中第一個字節(jié)寫入th中,第二個字節(jié)寫

32、入tl中??梢栽谌魏螘r刻發(fā)出復位命令終止數(shù)據(jù)的寫入。(7) read scratchpad(讀暫存器)。命令代碼為beh,允許主設(shè)備讀取暫存器中的內(nèi)容。從第一個字節(jié)開始直到讀完第九個字節(jié)crc讀完。也可以在任何時刻發(fā)出復位命令中止數(shù)據(jù)的讀取操作。(8) copy scratchpad(復制暫存器)。命令代碼為48h,將溫度報警觸發(fā)器th和tl中的字節(jié)復制到非易失性eeprom。若主機在該命令之后又發(fā)出讀操作,而ds18b20又忙于將暫存器中的內(nèi)容復制到eeprom時,ds18b20就會輸出一個“0”,若復制結(jié)束,則ds18b20輸出一個“1”。(9) convert t(溫度轉(zhuǎn)換)。命令代碼為

33、44h,啟動一次溫度轉(zhuǎn)換,若主機在該命令之后又發(fā)出其它操作,而ds18b20又忙于溫度轉(zhuǎn)換,ds18b20就會輸出一個“0”,若轉(zhuǎn)換結(jié)束,則ds18b20輸出一個“1”。(10) recall e2(拷回暫存器)。命令代碼為b8h。將溫度報警觸發(fā)器th和tl中的字節(jié)從eeprom中拷回到暫存器中。該操作是在ds18b20上電時自動執(zhí)行,若執(zhí)行該命令后又發(fā)出讀操作,ds18b20會輸出溫度轉(zhuǎn)換忙標識:0為忙,1完成。(11) read power supply(讀電源使用模式)。命令代碼為b4h。主設(shè)備將該命令發(fā)給ds18b20后發(fā)出讀操作,ds18b20會返回它的電源使用模式:0為寄生電源,1

34、為外部電源。2.2.6 ds18b20時序圖:初始化過程時序:時序如圖3-5-1所示。主機總線t0時刻發(fā)送一復位脈沖(最短為480us的低電平信號),接著在t1時刻釋放總線并進入接收狀態(tài),ds18b20在檢測到總線的上升沿之后,等待1560us,接著ds1820在t2時刻發(fā)出存在脈沖(低電平,持續(xù)60240us),如圖中虛線所示。圖3-5-1 ds18b20初始化時序圖讀時間隙時序圖:如圖3-5-2所示,主機總線t0時刻從高拉至低電平時,總線只須保持低電平10us。之后在t1時刻將總線拉高,產(chǎn)生讀時間隙,讀時間隙在t1時刻后t2時刻前有效。t2距t0為15us,也就是說,t2時刻前主機必須完成

35、讀位,并在t0后的60us120us內(nèi)釋放總線。圖3-5-2 讀時序?qū)憰r間隙時序圖:當主機總線t0時刻從高拉至低電平時,就產(chǎn)生寫時間隙。從t0時刻開始15us之內(nèi)應(yīng)將所需寫的位送到總線上,ds1820在t0后1560us間對總線采樣。若低電平,寫入的位是0,如圖3-5-3;若高電平,寫入的位是1,如圖3-5-4。連續(xù)寫2位間的間隙應(yīng)大于1us。圖3-5-3 寫0時序 圖3-5-4 寫1時序第三章 系統(tǒng)硬件設(shè)計硬件是一個工程設(shè)計項目的主要組成部分,它支撐并構(gòu)成一個完整的系統(tǒng)骨架,缺少這一骨架,就智只能紙上談兵,虛無縹緲。因此,系統(tǒng)的硬件設(shè)計是設(shè)計中的首要考慮對象。3.1溫度控制系統(tǒng)的整體設(shè)計對于

36、溫度控制,采用單片機at89s52組成的自動控制系統(tǒng),其系統(tǒng)硬件總體方框圖如圖3.1所示: at89s52溫度傳感器人機按鍵設(shè)定數(shù)碼顯示水箱光耦雙向可控硅電熱爐超溫聲光報警圖3.1系統(tǒng)總體方框圖在圖3.1中,溫度傳感器采用單總線數(shù)字溫度傳感器ds18b20;數(shù)碼顯示采用三位共陽led,使用其動態(tài)顯示方式,實時顯示ds18b20采集到的水溫溫度。水箱的水大約為1升,電熱爐功率為400w;按鍵設(shè)定分為設(shè)置按鍵(set),+1(up),-1(down)功能,其特點是:按下set鍵可進行水箱溫度預(yù)設(shè),預(yù)設(shè)值為所期望水箱水溫值,按下set鍵后,可通過up和down鍵進行溫度閃爍加減設(shè)定;光耦采用moc3

37、021,可控硅采用bta16;還有超溫報警功能,鑒于使用蜂鳴器聲音太小等原因,本功能采用市場上常用的音樂芯片進行設(shè)計,超溫將會發(fā)出聲光警聲報警。3.2 溫度控制系統(tǒng)的基本組成主要由單片機、溫度采集模塊、溫度顯示模塊、升溫控制模塊、按鍵設(shè)定模塊和超溫聲光報警模塊組成。3.3 整體電路圖在。系統(tǒng)主要組成部分:主要由單總線數(shù)字溫度傳感器ds18b20組成的溫度采集模塊,它通過溫度信號采集并經(jīng)溫度轉(zhuǎn)換后把信號輸入單片機,然后送led進行顯示。led是三位一體共陽型,并采用動態(tài)掃描顯示方式進行顯示。然后是溫度控制模塊,升溫部分是通過光耦moc3021控制可控硅bta16的導通角來控制電熱爐功率加熱水箱內(nèi)

38、部水單片機是at89s52。 3.4單片機at89s52介紹3.4.1單片機的發(fā)展方向未來單片機的發(fā)展趨勢主要有:主流型機發(fā)展趨勢,8位單片機為主流,少量32位機,16位可能被淘汰;全盤cmos化趨勢;risc體系結(jié)構(gòu)的發(fā)展;大力發(fā)展專用單片機;otprom、flashrom成為主流供應(yīng)狀態(tài);isp及基于isp的開發(fā)環(huán)境;單片機的軟件嵌入;實現(xiàn)全面功耗管理;推行串行擴展總線;asmic技術(shù)的發(fā)展。單片機以其卓越地性能,得到了廣泛地應(yīng)用,以深入到各個領(lǐng)域。單片機應(yīng)用在檢測、控制領(lǐng)域中,具有如下特點。小巧靈活、成本低、易于產(chǎn)品化。它能方便地組裝成各種智能式測控設(shè)備及各種智能儀器儀表;可靠性好,適應(yīng)

39、溫度范圍寬。單片機芯片本身是按工業(yè)測控環(huán)境要求設(shè)計的,能適應(yīng)各種惡劣的環(huán)境,這是其它機種無法比擬的;以擴展,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),控制能力強。單片機的邏輯控制功能很強,指令系統(tǒng)有各種控制功能用指令;可以方便地實現(xiàn)多機和分布式控制。3.4.2 at89s52主要性能參數(shù)l 與mcs-51單片機產(chǎn)品兼容l 8k字節(jié)在系統(tǒng)可編程flash存儲器l 1000次擦寫周期l 全靜態(tài)操作:0hz33hzl 三級加密程序存儲器l 32個可編程i/o口線l 三個16位定時器/計數(shù)器l 八個中斷源l 全雙工uart串行通道l 低功耗空閑和掉電模式l 掉電后中斷可喚醒l 看門狗定時器l 雙數(shù)據(jù)指針l 掉電標

40、識符at89s52是一種低功耗,高性能cmos微控制器,具有8k在系統(tǒng)可編程flash存儲器。使用armel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89s52眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52可提供以下標準功能:8k字節(jié)flash閃存器,256字節(jié)內(nèi)部ram,32個i/o口線,看門狗定時器,2個數(shù)據(jù)指針,3個16位定時/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,at89

41、s51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計數(shù)器,串性通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個中斷或硬件復位為止。3.4.3 at89s52方框圖 vcc:供電電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須

42、被拉高。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址

43、“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為一些特殊功能口,如下表所示:引腳第2功能p3.0rxd(串行口輸入端)p3.1txd(串行口輸出端)p3.2int0(外部中斷0請求輸入端,低電平有效)p3.3int1(外部中斷1請求輸入端,低電平有效

44、)p3.4t0(定時器/記時器0計數(shù)脈沖輸入端)p3.5t1(定時器/記時器1計數(shù)脈沖輸入端)p3.6wr(外部數(shù)據(jù)存儲器寫選通信號輸出端,低電平有效)p3.7rd(外部數(shù)據(jù)存儲器讀選通信號輸出端,低電平有效) 表3.1 p3口第2功能表 rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。 ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低8位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部

45、數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時,ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的psen信號將不出現(xiàn)。 /ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程

46、期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。3.4.4 at89s52存儲器配置1.存儲器結(jié)構(gòu)程序存儲器:如果ea引腳接地,程序讀取只從外部存儲器開始。對于89s52,如果ea 接vcc,程序讀寫先從內(nèi)部存儲器(地址為0000h1fffh)開始,接著從外部尋址,尋址地址為:2000hffffh。數(shù)據(jù)存儲器:at89s52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7fh 的地址時,尋址方

47、式?jīng)Q定cpu 訪問高128 字ram 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)。2.看門狗定時器wdt是一種需要軟件控制的復位方式。wdt 由13位計數(shù)器和特殊功能寄存器中的看門狗定時器復位存儲器(wdtrst)構(gòu)成。wdt 在默認情況下無法工作;為了激活wdt,用戶必須往wdtrst 寄存器(地址:0a6h)中依次寫入01eh 和0e1h。當wdt激活后,晶振工作,wdt在每個機器周期都會增加。wdt計時周期依賴于外部時鐘頻率。除了復位(硬件復位或wdt溢出復位),沒有辦法停止wdt工作。當wdt溢出,它將驅(qū)動rsr引腳一個高個電平輸出。wdt的使用:為了激活wdt,

48、用戶必須向wdtrst寄存器(地址為0a6h的sfr)依次寫入0e1h和0e1h。當wdt激活后,用戶必須向wdtrst寫入01eh和0e1h喂狗來避免wdt溢出。當計數(shù)達到8191(1fffh)時,13 位計數(shù)器將會溢出,這將會復位器件。晶振正常工作、wdt激活后,每一個機器周期wdt 都會增加。為了復位wdt,用戶必須向wdtrst 寫入01eh 和0e1h(wdtrst 是只讀寄存器)。wdt 計數(shù)器不能讀或?qū)?。當wdt 計數(shù)器溢出時,將給rst 引腳產(chǎn)生一個復位脈沖輸出,這個復位脈沖持續(xù)96個晶振周期(tosc),其中tosc=1/fosc。為了很好地使用wdt,應(yīng)該在一定時間內(nèi)周期性

49、寫入那部分代碼,以避免wdt復位。掉電和空閑方式下的wdt:在掉電模式下,晶振停止工作,這意味這wdt也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復位或通過一個激活的外部中斷。通過硬件復位退出掉電模式后,用戶就應(yīng)該給wdt 喂狗,就如同通常at89s52 復位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止wdt在中斷保持低電平的時候復位器件,wdt 直到中斷拉低后才開始工作。這就意味著wdt 應(yīng)該在中斷服務(wù)程序中復位。為了確保在離開掉電模式最初的幾個狀態(tài)wdt不被溢出,最好在進入掉電

50、模式前就復位wdt。在進入待機模式前,特殊寄存器auxr的wdidle位用來決定wdt是否繼續(xù)計數(shù)。默認狀態(tài)下,在待機模式下,wdidle0,wdt繼續(xù)計數(shù)。為了式下復位at89s52,用戶應(yīng)該建立一個定時器,定時離開待機模式,喂狗,再重新進入待機模式。3.定時器定時器0和定時器1:定時器0和定時器1與at89c21和at89c52一樣.定時器2: 定時器2是一個16位定時/計數(shù)器,它既可以做定時器,又可以做事件計數(shù)器。其工作方式由特殊寄存器t2con中的c/t2位選擇(如表2所示)。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數(shù))和波特率發(fā)生器。如表3 所示,工作模式由t2con

51、中的相關(guān)位選擇。定時器2 有2 個8位寄存器:th2和tl2。在定時工作方式中,每個機器周期,tl2 寄存器都會加1。由于一個機器周期由12 個晶振周期構(gòu)成,因此,計數(shù)頻率就是晶振頻率的1/12。tf2exf2rclktclkexen2tr2c/t2cp/rl276543210表3.2 t2con:定時器/計數(shù)器2控制寄存器符號功能tf2定時器2溢出標志位,必須軟件清0,rclk=1或tclk=1,tf2不用置位exf2定時器2外部標志位,exen2=1時,t2ex上的負跳變出現(xiàn)或者重載時,exef2會被硬件置位。定時器2打開。exf2=1,將引導cpu執(zhí)行定時器2中斷程序。rclk串行口接收

52、數(shù)據(jù)時鐘標志位,若rclk=1,串行口將使用定時器2溢出脈沖作為串行口工作方式1和工作方式3 的串口接收時鐘。tclk=0將使用定時器1計數(shù)溢出作為串口接收時鐘tclk串行口發(fā)送數(shù)據(jù)時鐘標志位。當exen2=1時,如果定時器2沒有作為串行時鐘,t2ex的負跳變引起定時器2捕捉和重載,若exen2=0,定時器2將視t2ex為無效。exen2定時器2外部允許標志位,當exen2=1時,如果定時器2沒有用作t2ex的負跳變引起定時器2捕捉和重載,若exen2=0,定時器2將視t2ex為無效。tr2開始/停止控制定時器2,若tr2=1,定時器2開始工作c/t2定時器2定時/計數(shù)選擇標志位,c/t2=0

53、開始計時,c/t2=1外部事件計數(shù)。(下降沿觸發(fā))cp/rl2捕捉重載標志位,當exen2=1時,如果定時器2沒有作為串行時鐘,t2ex的負跳變引起定時器2捕捉和重載,若exen2=0,定時器2將視t2ex為無效。定時器2強制自動重載。表3.3 定時器2的工作模式 rclk+tclkcp/rl2tr2mode00116位自動重載01116位捕捉1x1波特率發(fā)生器xx0(不用)表3.4定時器2的工作模式在計數(shù)工作方式下,寄存器在相關(guān)外部輸入角t2 發(fā)生1 至0 的下降沿時增加1。在這種方式下,每個機器周期的s5p2期間采樣外部輸入。一個機器周期采樣到高電平,而下一個周期采樣到低電平,計數(shù)器將加1

54、。在檢測到跳變的這個周期的s3p1 期間,新的計數(shù)值出現(xiàn)在寄存器中。因為識別10的跳變需要2個機器周期(24個晶振周期),所以,最大的計數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個完整的機器周期內(nèi)保持不變。4. 中斷at89s52 有6個中斷源:兩個外部中斷(int0 和int1),三個定時中斷(定時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器ie 中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。ie還包括一個中斷允許總控制位ea,它能一次禁止所有中斷。如表5所示,ie.6位是不可用的。對于at89s52,ie.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)閍t89系列新產(chǎn)品預(yù)留定時器2可以被寄存器t2con中的tf2和exf2的或邏輯觸發(fā)。程序進入中斷服務(wù)后,這些標志位都可以由硬件清0。實際上,中斷服務(wù)程序必須判定是否是tf2 或exf2激活中斷,標志位也必須由軟件清0。定時器0和定時器1標志位tf0 和tf1在計數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論