智能溫度傳感器設(shè)計(jì)硬件_第1頁
智能溫度傳感器設(shè)計(jì)硬件_第2頁
智能溫度傳感器設(shè)計(jì)硬件_第3頁
智能溫度傳感器設(shè)計(jì)硬件_第4頁
智能溫度傳感器設(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)

文檔簡(jiǎn)介

論文題目:智能溫度傳感器設(shè)計(jì)〔硬件〕摘要溫度傳感器在工業(yè),農(nóng)業(yè)以及人們的日常生活都有著廣泛的應(yīng)用。本文主要討論了應(yīng)用于煤炭礦井中的溫度傳感器的設(shè)計(jì)。溫度傳感器的技術(shù)是在不斷進(jìn)步的。在滿足根本要求的同時(shí),向著人性化智能化的方向開展。本文所設(shè)計(jì)的溫度傳感器是以AT89S52為核心,以DS18B20為敏感器件的智能溫度傳感器。此傳感器能應(yīng)用于煤礦平安生產(chǎn)的多個(gè)環(huán)節(jié),實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)顯示,報(bào)警以及將溫度數(shù)據(jù)用過串行接口傳送到上位機(jī)。通過實(shí)踐檢測(cè),說明本文所設(shè)計(jì)的溫度傳感器結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)穩(wěn)定,本錢較低,各個(gè)功能實(shí)現(xiàn)正常,到達(dá)設(shè)計(jì)要求。關(guān)鍵詞:溫度傳感器,DS18B20,串行通信,液晶顯示器Subject:DesignofIntelligentTemperatureSensor(Hardware)ABSTRACTThetemperaturesensorhasawideuseintheindustry,agricultureandoureverydaylife.Inthispaper,wemainlydiscussedthetemperaturesensorusedincoalmineproduction.TheTemperatureSensorTechnologykeepsdevelopingveryquicklyinrecentyears.IthasbecamemoreandmoreIntelligentanduser-Friendlywhilefulfillingitsbasicrequirements.ThesensorwedesignedinthispaperwasanIntelligentTemperatureSensorbasedonAT89S52andusingDS18B20assensitivedevice.Thissensorcanbeusedinmanysituationsinthecoalminesafetyproduction.ItcancompletethetaskofdisplayingthetemperaturedataanddeliveringittothePCandgiveanalarmwhenneeded.Thissensorhasbeenprovedtohavetheadvantageofsimple,stableandmeanwhilecheapinprice.Everyperformanceindicatorshasreachedtherequirement.KEYWORDS:temperaturesensor,DS18B20,serialcommunication,LCD目錄第一章緒論11.1課題的提出與國(guó)內(nèi)外現(xiàn)狀11.2煤礦的溫度監(jiān)測(cè)系統(tǒng)21.3本文研究的目的和意義2第二章溫度傳感器42.1溫度傳感器簡(jiǎn)介42.2測(cè)量對(duì)象與環(huán)境確定傳感器的類型42.3溫度傳感器的分類42.4溫度傳感器DS18B20介紹6溫度傳感器DS18B20主要性能62.4.2DS18B20的外部結(jié)構(gòu)72.4.3DS18B20內(nèi)部結(jié)構(gòu)82.4.4DS18B20供電方式102.4.5DS18B20的ROM命令112.4.6DS18B20的測(cè)溫原理12第三章智能溫度傳感器的硬件設(shè)計(jì)153.1智能溫度傳感器的整體設(shè)計(jì)及工作原理153.2硬件系統(tǒng)電路圖163.3單片機(jī)AT89S52介紹17單片機(jī)AT89S52的主要性能17AT89S52封裝圖及方框圖173.3.3AT89S52存儲(chǔ)器配置213.4多路DS18B20測(cè)溫253.5LCM1602B液晶顯示介紹253.5.1LCM1602B技術(shù)參數(shù)263.5.21602B引腳說明263.5.3針腳引線273.5.4LCD的連接273.5.5液晶LCD顯示電路273.6串行通信電路的設(shè)計(jì)283.7報(bào)警電路設(shè)計(jì)29第四章智能溫度傳感器軟件設(shè)計(jì)314.1主程序流程圖314.2測(cè)溫子程序流程圖324.3顯示子程序流程圖33第五章智能溫度傳感器系統(tǒng)調(diào)試345.1智能溫度傳感器靜態(tài)調(diào)試345.2智能溫度傳感器動(dòng)態(tài)調(diào)試345.3智能溫度傳感器系統(tǒng)調(diào)試情況35第六章結(jié)束語36致謝37參考文獻(xiàn)38附錄一:實(shí)物照片39附錄二:溫度傳感器總電路圖40第一章緒論1.1課題的提出與國(guó)內(nèi)外現(xiàn)狀溫度是工業(yè),農(nóng)業(yè)以及許多日常生活中最重要的和最常見的參數(shù)指標(biāo)。在工業(yè)中,如冶金,汽車業(yè),機(jī)械,各種化工業(yè)等行業(yè),溫度都有著至關(guān)重要的作用。在農(nóng)業(yè)中,大棚蔬菜的恒溫,新品種的培育都離不開溫度的控制。生活中更是如此,每天人們都根據(jù)不同的溫度,協(xié)調(diào)自己的衣食住行??梢姕囟仍谌祟惿鐣?huì)的重要程度了。煤礦監(jiān)測(cè)監(jiān)控系統(tǒng)包括輸送機(jī)監(jiān)控系統(tǒng),工作面生產(chǎn)監(jiān)控系統(tǒng),膠輪車運(yùn)輸監(jiān)測(cè)系統(tǒng),環(huán)境平安監(jiān)測(cè)系統(tǒng),電力監(jiān)測(cè)系統(tǒng),通風(fēng)檢測(cè)系統(tǒng),洗煤檢測(cè)系統(tǒng)及工業(yè)電視現(xiàn)場(chǎng)監(jiān)測(cè)系統(tǒng)8個(gè)子系統(tǒng)[1]。本文所設(shè)計(jì)的溫度傳感器是用于煤礦的平安生產(chǎn)的。煤礦對(duì)于我國(guó)而言是目前最重要的能源,也是本國(guó)儲(chǔ)量最多的能源。因此,保證煤礦的平安生產(chǎn)關(guān)系著過的命運(yùn),做為保證煤礦平安生產(chǎn)的一局部。溫度的控制是極為重要的。溫度的采集就由溫度傳感器來完全。溫度傳感器將溫度這個(gè)模擬量變成數(shù)字量和,傳送給處理器,再由處理器運(yùn)算,發(fā)指令給執(zhí)行器,借此完成溫度的檢測(cè)與控制。因此溫度傳感器作為第一步是至關(guān)重要的。這和當(dāng)今的現(xiàn)代化信息技術(shù)是相統(tǒng)一的?,F(xiàn)代信息技術(shù)的三大根底是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。近百年來,溫度傳感器的開展大致經(jīng)歷了以下三個(gè)階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向開展。本文設(shè)計(jì)的智能溫度傳感器屬于第3階段。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE)的結(jié)晶。目前,國(guó)際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或存放器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(cpu)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的根底上通過軟件來實(shí)現(xiàn)測(cè)試功能的,其智能化程度也取決于軟件的開發(fā)水平。1.2煤礦的溫度監(jiān)測(cè)系統(tǒng)在煤礦的生產(chǎn)過程中,有多個(gè)局部需要對(duì)溫度進(jìn)行采集和控制。第一,溫度對(duì)爆炸極限的影響。混合氣體的初始溫度越高,爆炸極限范圍越寬,爆炸下限減低,上限增高,爆炸危險(xiǎn)性增加。這是因?yàn)?,在溫度增高的情況下,活化分子數(shù)量增加,分子和原子的動(dòng)能也增加,使活化分子具有更大的沖擊能量,爆炸反響容易進(jìn)行,使原來含有過量空氣〔低于爆炸下限〕或可燃物〔高于爆炸上限〕而不能使火焰蔓延的混合物濃度變?yōu)榭梢允够鹧媛拥臐舛?,從而擴(kuò)大了爆炸范圍。溫度降低,爆炸極限范圍亦減小。因此,工程設(shè)計(jì)中,可在保證輸氣工藝需要的前提下,盡可能在壓縮機(jī)后設(shè)置后冷卻器,采用人工冷卻的方法減低輸氣溫度。第二,溫度對(duì)井下工人工作的影響?;夭晒ぷ髅鏈囟扰c風(fēng)速要求如表表1.1所示。表1.1回采工作面溫度與對(duì)應(yīng)風(fēng)速調(diào)整系數(shù)回采工作面空氣溫度〔℃〕采煤工作面風(fēng)速〔m/s〕<180.3~0.818~200.8~1.020~231.0~1.523~261.5~1.826~281.8~2.528~302.5~3.0煤炭埋深在1000m以下的儲(chǔ)量就有2.95萬億噸。占我國(guó)煤炭資源總量的53%。我國(guó)深部資源開采的深度定界為:煤礦800~1500米。我國(guó)煤礦正在逐步進(jìn)入深部開采階段,溫度因子在深部礦井開采中的影響權(quán)重較淺部開采時(shí)明顯增大,因高溫帶來的問題已經(jīng)成為深部礦井開采中的主要難題之一。1.3本文研究的目的和意義本文智能溫度傳感器以AT89S52單片機(jī)為控制核心,由一數(shù)字溫度傳感器DS18B20測(cè)量被控溫度。單片機(jī)外圍電路包括上位機(jī)通信與數(shù)碼顯示電路、多路溫度采集,輸出控制電位。設(shè)計(jì)出一種新型的煤礦平安溫度監(jiān)測(cè)儀器,很好地解決了煤礦平安監(jiān)測(cè)系統(tǒng)設(shè)備整體價(jià)格比擬昂貴這個(gè)問題。同時(shí)進(jìn)一步熟悉了AT89S52單片機(jī)以及一數(shù)字溫度傳感器DS18B20的原理和使用方法。在整個(gè)設(shè)計(jì)過程中,學(xué)習(xí)到了許多新的知識(shí),增加的自己對(duì)設(shè)計(jì)熱情,使自己對(duì)一個(gè)整體的設(shè)計(jì)過程有了體會(huì)和認(rèn)識(shí)。為以后做進(jìn)一步的設(shè)計(jì)打下根底。第二章溫度傳感器2.1溫度傳感器簡(jiǎn)介溫度傳感器使將溫度這個(gè)模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的器件。溫度傳感器的開展大致經(jīng)歷了以下三個(gè)階段;(1)傳統(tǒng)的分立式溫度傳感器;(2)模擬集成溫度傳感器及控制器;(3)智能溫度傳感器。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向開展[2]。2.2測(cè)量對(duì)象與環(huán)境確定傳感器的類型測(cè)量的對(duì)象和環(huán)境決定使用何種溫度傳感器。主要有幾個(gè)因素決定:1.被測(cè)溫度的范圍,不同的溫度傳感器測(cè)量的溫度范圍是不同的,所以只有根據(jù)被測(cè)溫度范圍,來決定使用何種溫度范圍的溫度傳感器。2.被測(cè)量的頻率范圍,傳感器的頻率響應(yīng)特性決定了被測(cè)量的頻率范圍,傳感器的響應(yīng)必然是滯后的,作為設(shè)計(jì)者業(yè)希望這個(gè)滯后時(shí)間越短越好。3.對(duì)靈敏度的要求,一般情況下,在傳感器的線性范圍內(nèi),傳感器的靈敏度越高越好。但同時(shí)要考慮到,靈敏度越高,受外界的干擾就會(huì)越大,從而導(dǎo)致結(jié)果誤差較大。4傳感器的穩(wěn)定性,穩(wěn)定性就是傳感器在使用一段時(shí)間后,其工作性能是否出現(xiàn)變化的特性。這主要取決于傳感器的內(nèi)部結(jié)構(gòu)和使用環(huán)境。5.傳感器的測(cè)量精度,一般只要滿足設(shè)計(jì)要求即可。隨著精度的增高,傳感器的價(jià)格也月昂貴。所以精度一般以滿足設(shè)計(jì)要求為準(zhǔn)。2.3溫度傳感器的分類本文主要涉及以半導(dǎo)體溫度傳感器為主。半導(dǎo)體溫度傳感器主要分為四類:電流輸出溫度傳感器、電壓輸出溫度傳感器、比率輸出溫度傳感器、數(shù)字輸出溫度傳感器[2]。電流輸出溫度傳感器的主要特點(diǎn)是輸出阻抗高,輸出電流不受傳輸線路電壓降和電壓噪聲的影響,且對(duì)電源電壓的脈動(dòng)和漂移具有很強(qiáng)的抑制能力,常用的有AD592和TMP17。AD592測(cè)溫范圍-25~+105℃,封裝形式為TO-92,AD592CN線性誤差典型值±0.1℃。TMP17測(cè)溫范圍-40~+105℃,封裝形式為SO-8,TMP17F線性誤差典型值±0.5℃。電壓輸出溫度傳感器的主要特點(diǎn)是電源電壓和電流比擬低,在傳輸線路電壓降和電壓噪聲不是主要考慮因素時(shí),電壓輸出溫度傳感器的輸出可直接成為控制系統(tǒng)和數(shù)據(jù)采集系統(tǒng)的輸入信號(hào),常用的有TMP35/36/37,線性誤差典型值±0.5℃。TMP35測(cè)溫范圍+10~+125℃,可用作熱電偶冷端補(bǔ)償;TMP36測(cè)溫范圍-40~+125℃;TMP37測(cè)溫范圍+5~+100℃。比率輸出溫度傳感器特別適合與基準(zhǔn)電壓相關(guān)的比率測(cè)量或數(shù)據(jù)轉(zhuǎn)換。常用的有AD22100和AD22103,主要應(yīng)用于加熱通風(fēng)與空調(diào)系統(tǒng)、儀器儀表、汽車中的溫度監(jiān)測(cè)與控制。AD22100線性誤差1%FS,精度2%FS,AD22100S測(cè)溫范圍-50~+150℃。AD22103線性誤差0.5%FS,精度2.5%FS,測(cè)溫范圍-50~+150℃。數(shù)字輸出溫度傳感器較模擬輸出溫度傳感器有許多優(yōu)點(diǎn),可采用光隔離使遠(yuǎn)端傳感器與測(cè)量系統(tǒng)之間實(shí)現(xiàn)電隔離,這對(duì)于工作環(huán)境惡劣的工控現(xiàn)場(chǎng)十分必要。數(shù)字輸出溫度傳感器有兩種類型,一類是串行數(shù)字輸出溫度傳感器TMP03/04,由溫度傳感器和數(shù)字調(diào)制器組成,可以克服時(shí)鐘漂移問題。TMP03/04測(cè)溫范圍-40~+100℃,線性誤差±1℃,直接與微控制器相連,配適宜當(dāng)計(jì)算軟件很容易解碼。TMP04適用于工業(yè)過程控制、過程監(jiān)控、電源系統(tǒng)監(jiān)測(cè)和要求隔離的測(cè)溫系統(tǒng)和電子設(shè)備溫度監(jiān)測(cè)。另一類數(shù)字輸出溫度傳感器是將溫度傳感器與ADC集成在一起,如AD7416、AD7816(10位)和ADM1021(8位)。

Dallas的半導(dǎo)體溫度傳感器主要分為數(shù)字輸出和模擬輸出兩大類。數(shù)字輸出半導(dǎo)體溫度傳感器輸出直接數(shù)字化,可直接讀出溫度數(shù)值,不需要A/D轉(zhuǎn)換器。測(cè)溫范圍-55~+125℃,分辨率為0.03125~1.0℃,出廠前已進(jìn)行線性化和校準(zhǔn),這樣可減小電路的復(fù)雜程度,簡(jiǎn)化設(shè)計(jì)和降低本錢。數(shù)字輸出傳感器主要有DS1620、DS1720、DS1820和DS1821等。DS1620校準(zhǔn)精度為±0.5℃,采用3-wire接口,封裝形式有8腳PDIP和8腳SOIC兩種;DS1720校準(zhǔn)精度為±2.5℃,采用3-wire接口,封裝形式為8腳SOIC;DS1820校準(zhǔn)精度為±0.5℃,采用1-WireTM接口,封裝形式有PR-35和16腳SSOP兩種;DS1821校準(zhǔn)精度為±1.0℃,采用1-WireTM接口,封裝形式有PR-35、8腳SOIC和TO-220三種。Dallas的模擬輸出溫度傳感器測(cè)溫范圍-40~+125℃,分辨率為6.2mV/℃。模擬輸出傳感器也在出廠前進(jìn)行過校準(zhǔn)。這類傳感器主要有DS56和DS60兩種型號(hào),校準(zhǔn)精度均為±2.0℃。DS56具有兩個(gè)溫度設(shè)定點(diǎn),封裝形式為8腳SOICCSP;DS60是線性輸出傳感器,封裝形式為3腳SOT-23。

Maxim提供多種半導(dǎo)體溫度傳感器以滿足不同的應(yīng)用需要。主要有MAX6501、MAX1617、MAX1618、MAX1619和MAX6575。MAX6501是恒溫開關(guān),集成了溫度傳感器和比擬器。應(yīng)用于電腦、儀器、充電器和工業(yè)設(shè)備中,當(dāng)溫度超過設(shè)定值時(shí)可發(fā)出報(bào)警信號(hào),觸發(fā)系統(tǒng)關(guān)機(jī)和啟動(dòng)風(fēng)扇散熱。MAX6501測(cè)溫范圍-45~+115℃,封裝形式為5腳SOT-23。MAX1617是“遠(yuǎn)端結(jié)”溫度傳感器,適用于高性能(Pentium以上)CPU的溫度監(jiān)測(cè)。MAX1617采用SMBusTM2-wire串行接口,封裝形式為16腳QSOP。MAX1618也是遠(yuǎn)端結(jié)溫度傳感器,Maxim溫度傳感器部產(chǎn)品經(jīng)理PatriciaSmith介紹說:“MAX1618是世界上最小的遠(yuǎn)端結(jié)溫度傳感器,其封裝形式為10腳MICROMAX外表貼裝,非常適合于有小體積需求的場(chǎng)合?!?/p>

NationalSemiconductor的溫度傳感器分為數(shù)字和模擬兩類。其數(shù)字溫度傳感器主要有LM75、LM84、LM77、LM74和LM76等,應(yīng)用于PC、外設(shè)、無線應(yīng)用設(shè)備、HVAC、系統(tǒng)溫度管理、測(cè)試設(shè)備和生物統(tǒng)計(jì)儀器,具有1~3℃的精確度,9位到13位的分辨率,內(nèi)部和遠(yuǎn)程二極管溫度感測(cè),SO8、SOT23及更小的封裝,I2C和SPI接口。NationalSemiconductor的模擬溫度傳感器主要有LM20、LM34、LM45和LM66等,應(yīng)用于HDD、PC外設(shè)、蜂窩式移動(dòng)和電源管理器、尋呼系統(tǒng)、HVAC、打印機(jī)、機(jī)以及Write-Goods裝置等,有微型SMD、SC70、SOT23和SO8等多種封裝形式可供選擇。

TelComSemiconductor生產(chǎn)的半導(dǎo)體溫度傳感器主要有TC74、TCN75、TC1066和TC622。TC74是高集成度、小封裝的串行數(shù)字輸出溫度傳感器,封裝形式為5腳SOT-23。TCN75是采用2-wire串行接口的溫度傳感器,工作溫度范圍-55~+125℃,封裝形式有8腳的SOIC和MSOP兩種;TC1066是采用符合ACPI標(biāo)準(zhǔn)的SMBus2-wire串行接口的溫度傳感器,外接二極管輸入,用硬件方式實(shí)現(xiàn)過熱保護(hù),工作溫度范圍-55~+125℃,封裝形式為16腳QSOP。該溫度傳感器后向兼容Maxim的MAX1617,在未用的管腳上增加硬件方式實(shí)現(xiàn)的過熱保護(hù)功能。TC622是低價(jià)溫度傳感器,只需一個(gè)外接電阻,便可設(shè)定控制溫度,工作溫度范圍-40~+125℃,最高結(jié)溫+150℃,封裝有8腳PDIP、8腳SOIC和5腳TO-220三種形式[3]。2.4溫度傳感器DS18B20介紹溫度傳感器DS18B20主要性能溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改良型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:

●獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;

●多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;

●無須外部器件;

●可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;

●零待機(jī)功耗;

●溫度以9或12位數(shù)字;

●用戶可定義報(bào)警設(shè)置;

●報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度〔溫度報(bào)警條件〕的器件;

●負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;2.4.2DS18B20的外部結(jié)構(gòu)圖2.1DS18B20的外部結(jié)構(gòu)DS18B20的外形如一只三極管,引腳名稱及作用如下:GND:接地端。DQ:數(shù)據(jù)輸入輸出腳,與TTL電平兼容。VDD:可接電源,也可以接地。因?yàn)镈S18B20可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時(shí)VDD接地,可以節(jié)省一根傳輸線,但完成數(shù)據(jù)測(cè)量的時(shí)間會(huì)因此而延長(zhǎng);采用外部供電方式那么VDD接+5V,多用一根導(dǎo)線,但測(cè)量速度比擬快。2.4.3DS18B20內(nèi)部結(jié)構(gòu)64位ROM和單線接口64位ROM和單線接口存儲(chǔ)和控制邏輯高速緩存器溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL匹配存放器8位CRC發(fā)生器電源檢測(cè)CDQVDD內(nèi)部電源VDD圖2.2上圖出示了DS18B20的主要內(nèi)部部件,下面對(duì)DS18B20內(nèi)部局部進(jìn)行的描述:2.4.3.164位ROM。64位ROM是由廠家使用激光刻錄的一個(gè)64位二進(jìn)制ROM代碼,是該芯片的標(biāo)識(shí)號(hào),如下所示。8位循環(huán)冗余檢驗(yàn)8位循環(huán)冗余檢驗(yàn)48位序列號(hào)8位分類編號(hào)〔10H〕MSBLSBMSBLSBMSBLSB第1個(gè)8位表示產(chǎn)品分類編號(hào),DS18B20的分類號(hào)為10H;接著為48位序列號(hào)。它是一個(gè)大于281*1012的十進(jìn)制編碼,作為該芯片的唯一標(biāo)示代碼;最后8位為前56位的CRC循環(huán)冗余校驗(yàn)碼,由于每個(gè)芯片的64位ROM代碼不同,因此在單總線上能夠并接多個(gè)DS18B20進(jìn)行多點(diǎn)溫度實(shí)習(xí)檢驗(yàn)。2.4.3.2溫度傳感器。溫度傳感器是DS18B20大的核心局部,該功能部件可完成對(duì)溫度的測(cè)量通過軟件編程可將-55~125℃范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進(jìn)行量化,以上的分辨率都包括一個(gè)符號(hào)位,因此對(duì)應(yīng)的溫度量化值分別為0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃。芯片出廠時(shí)默認(rèn)為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換命令〔44H〕后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號(hào)擴(kuò)展的的二進(jìn)制補(bǔ)碼形式表示,存儲(chǔ)在高速緩存器RAM的第0,1字節(jié)中,二進(jìn)制數(shù)的前5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)得的數(shù)值乘上0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)得的數(shù)值需要取反加1再乘上0.0625即可得到實(shí)際溫度。2.4.3.3高速緩存器。DS18B20內(nèi)部的高速緩存器包括一個(gè)高速暫存器RAM和一個(gè)非易失性可電擦除的EEPROM。非易失性可點(diǎn)擦除EEPROM用來存放高溫觸發(fā)器TH、低溫觸發(fā)器TL和配置存放器中的信息。2.4.3.4配置存放器。配置存放器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換率。DS18B20工作是按此存放器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個(gè)字節(jié),該字節(jié)定義如下。TMTMR0R111111TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng);R1和R0用來設(shè)置分辨率;其余5位均固定為1.DS18B20分辨率的設(shè)置如下表2.1所示。表2.1DS18B20分辨率R1R10011R00101分辨率9位10位11位12位最大轉(zhuǎn)換時(shí)間/ms93.75187.5375750DS18B20依靠一個(gè)單線端口通訊。在單線端口條件下,必須先建立ROM操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。因此,控制器必須首先提供下面5個(gè)ROM操作命令之一:1〕讀ROM;2〕匹配ROM;3〕搜索ROM;4〕跳過ROM;5〕報(bào)警搜索。這些命令對(duì)每個(gè)器件的激光ROM局部進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí),可以區(qū)分出單個(gè)器件,同時(shí)可以向總線控制器指明有多少器件或是什么型號(hào)的器件。成功執(zhí)行完一條ROM操作序列后,即可進(jìn)行存儲(chǔ)器和控制操作,控制器可以提供6條存儲(chǔ)器和控制操作指令中的任一條。一條控制操作命令指示DS18B20完成一次溫度測(cè)量。測(cè)量結(jié)果放在DS18B20的暫存器里,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報(bào)警觸發(fā)器TH和TL各由一個(gè)EEPROM字節(jié)構(gòu)成。如果沒有對(duì)DS18B20使用報(bào)警搜索命令,這些存放器可以做為一般用途的用戶存儲(chǔ)器使用??梢杂靡粭l存儲(chǔ)器操作命令對(duì)TH和TL進(jìn)行寫入,對(duì)這些存放器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進(jìn)行讀寫。2.4.4DS18B20供電方式DS18B20可以采用外部電源供電和寄生電源供電兩種模式。外部電源供電模式是將DS18B20的GND直接接地,DQ與但單總線相連作為信號(hào)線,VDD與外部電源正極相連。如圖2.3所示。單片機(jī)單片機(jī)DS18B20外部+5V電源VDDDQ4.7K+5V其它單線器件圖2.3DS18B20外部供電方式寄生電源供電模式如圖2.4所示。從圖中可知,DS18B20的GND和VDD均直接接地,DQ與單總線相連,單片機(jī)其中一個(gè)I/O口與DS18B20的DQ相連。+5V單片機(jī)+5V單片機(jī)DS18B20GND4.7K圖2.4DS18B20寄生電源供電方式+5V2.4.5DS18B20的ROM命令1.DeadROM〔讀ROM〕.命令代碼為33H,允許主設(shè)備讀出DS18B20的64位二進(jìn)制ROM代碼。該命令只適用于總線上存在單個(gè)DS18B20.2.MatchROM〔匹配ROM〕。命令代碼為55H,假設(shè)總線上有多個(gè)從設(shè)備時(shí),適用該命令可選中某一指定的DS18B20,即只有和64位二進(jìn)制ROM代碼完全匹配的DS18B20才能響應(yīng)其操作。3.SkipROM(跳過ROM)。命令代碼為CCH,在啟動(dòng)所有DS18B20轉(zhuǎn)換之前或系統(tǒng)只有一個(gè)DS18B20時(shí),該命令將允許主設(shè)備不提供64位二進(jìn)制ROM代碼就適用存儲(chǔ)器操作命令。4.SearchROM(搜索ROM)。命令代碼為F0H,當(dāng)系統(tǒng)初次啟動(dòng)時(shí),主設(shè)備可能不知縱向上有多少個(gè)從設(shè)備或者它們的ROM代碼,適用該命令可確定系統(tǒng)中的從設(shè)備個(gè)數(shù)及其RON代碼。5.AlarmROM〔報(bào)警搜索ROM〕。命令代碼為ECH,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報(bào)警溫度值。6.Writescratchpad(寫暫存器)。命令代碼為4EH,允許主設(shè)備向DS18B20的暫存器寫入兩個(gè)字節(jié)的數(shù)據(jù),其中第一個(gè)字節(jié)寫入TH中,第二個(gè)字節(jié)寫入TL中??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令終止數(shù)據(jù)的寫入。7.Readscratchpad(讀暫存器)。命令代碼為BEH,允許主設(shè)備讀取暫存器中的內(nèi)容。從第一個(gè)字節(jié)開始直到讀完第九個(gè)字節(jié)CRC讀完。也可以在任何時(shí)刻發(fā)出復(fù)位命令中止數(shù)據(jù)的讀取操作。8.Copyscratchpad(復(fù)制暫存器)。命令代碼為48H,將溫度報(bào)警觸發(fā)器TH和TL中的字節(jié)復(fù)制到非易失性EEPROM。假設(shè)主機(jī)在該命令之后又發(fā)出讀操作,而DS18B20又忙于將暫存器中的內(nèi)容復(fù)制到EEPROM時(shí),DS18B20就會(huì)輸出一個(gè)“0”,假設(shè)復(fù)制結(jié)束,那么DS18B20輸出一個(gè)“1”。9.ConvertT(溫度轉(zhuǎn)換)。命令代碼為44H,啟動(dòng)一次溫度轉(zhuǎn)換,假設(shè)主機(jī)在該命令之后又發(fā)出其它操作,而DS18B20又忙于溫度轉(zhuǎn)換,DS18B20就會(huì)輸出一個(gè)“0”,假設(shè)轉(zhuǎn)換結(jié)束,那么DS18B20輸出一個(gè)“1”。10.RecallE2(拷回暫存器)。命令代碼為B8H。將溫度報(bào)警觸發(fā)器TH和TL中的字節(jié)從EEPROM中拷回到暫存器中。該操作是在DS18B20上電時(shí)自動(dòng)執(zhí)行,假設(shè)執(zhí)行該命令后又發(fā)出讀操作,DS18B20會(huì)輸出溫度轉(zhuǎn)換忙標(biāo)識(shí):0為忙,1完成。11.Readpowersupply(讀電源使用模式)。命令代碼為B4H。主設(shè)備將該命令發(fā)給DS18B20后發(fā)出讀操作,DS18B20會(huì)返回它的電源使用模式:0為寄生電源,1為外部電源。2.4.6DS18B20的測(cè)溫原理DS18B20的測(cè)溫原理如圖2.5所示。其主要由斜率累加器、溫度系數(shù)振蕩器、減法計(jì)數(shù)器、溫度存儲(chǔ)器等功能部件組成。DS1820是這樣測(cè)溫的:用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得到溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于-55℃的一個(gè)值。如果計(jì)數(shù)器在門周期結(jié)束前到達(dá)0,那么溫度存放器〔同樣被預(yù)置到-55℃〕的值增加,說明所測(cè)溫度大于-55℃。同時(shí),計(jì)數(shù)器被復(fù)位到一個(gè)值,這個(gè)值由斜坡式累加器電路確定,斜坡式累加器電路用來補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開始計(jì)數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以期在測(cè)溫時(shí)獲得比擬高的分辨率。這是通過改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的值來實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值。圖2.5DS18B20的測(cè)溫原理DS18B20內(nèi)部對(duì)此計(jì)算的結(jié)果可提供0.5℃的分辨率。溫度以16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,表1給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過單線接口以串行方式傳輸。DS18B20測(cè)溫范圍-55℃~+125℃,以0.5℃遞增。溫度/數(shù)據(jù)關(guān)系〔見表2.2〕表2.2DS18B20溫度/數(shù)據(jù)關(guān)系溫度溫度℃數(shù)據(jù)輸出〔二進(jìn)制〕+125+25+0.50-0.5-25-55000000001111101000000000001100100000000000000001000000000000000011111111111111111111111111001110111111111001001000FA003200010000FFFFFFCEFF92數(shù)據(jù)輸出〔十六進(jìn)制〕DS18B20遵循單總線協(xié)議,每次測(cè)溫時(shí)都必須有4個(gè)過程:?初始化;?傳送ROM操作命令;?傳送ROM操作命令;?數(shù)據(jù)交換;第三章智能溫度傳感器的硬件設(shè)計(jì)3.1智能溫度傳感器的整體設(shè)計(jì)及工作原理智能溫度傳感器設(shè)計(jì)是由硬件和軟件兩局部組成。硬件局部主要由單片機(jī)AT89S52,多路溫度傳感器DS18B20,1602液晶顯示器,聲光報(bào)警電路,串行通信電路組成。其硬件總體結(jié)構(gòu)圖如圖3.1所示。AT89S52溫度傳感器按鍵設(shè)定溫度顯示超溫報(bào)警計(jì)算機(jī)圖3.1溫度傳感器結(jié)構(gòu)圖本設(shè)計(jì)主要由單片機(jī)、溫度采集模塊、溫度顯示模塊、按鍵設(shè)定模塊和超溫報(bào)警模塊組成。本系統(tǒng)能實(shí)現(xiàn)多路溫度實(shí)時(shí)測(cè)量,同時(shí)顯示在1602液晶顯示器上;能實(shí)現(xiàn)設(shè)定溫度,超溫報(bào)警;通過串行通信電路,將溫度采集數(shù)據(jù)傳送到上位機(jī)。3.2硬件系統(tǒng)電路圖圖3.2系統(tǒng)電路圖系統(tǒng)主要組成局部:主要由單總線數(shù)字溫度傳感器DS18B20組成的溫度采集模塊,它通過溫度信號(hào)采集并經(jīng)溫度轉(zhuǎn)換后把信號(hào)輸入單片機(jī),然后送1602進(jìn)行顯示。同時(shí)由單片機(jī)控制是否進(jìn)行報(bào)警。單片機(jī)同時(shí)可以將溫度采集數(shù)據(jù)通過串行通信電路傳送到上位機(jī)。也可以輸出控制點(diǎn)頻信號(hào)。3.3單片機(jī)AT89S52介紹3.3.1單片機(jī)AT89S52的主要性能〔1〕與MCS-51單片機(jī)產(chǎn)品兼容

〔2〕8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器

〔3〕1000次擦寫周期

〔4〕全靜態(tài)操作:0Hz~33MHz

〔5〕三級(jí)加密程序存儲(chǔ)器〔6〕32個(gè)可編程I/O口線

〔7〕三個(gè)16位定時(shí)器/計(jì)數(shù)器

〔8〕八個(gè)中斷源

〔9〕全雙工UART串行通道

〔10〕低功耗空閑和掉電模式

〔11〕掉電后中斷可喚醒

〔12〕看門狗定時(shí)器

〔13〕雙數(shù)據(jù)指針

〔14〕掉電標(biāo)識(shí)符

AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容[5]。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。3.3.2AT89S52封裝圖及方框圖圖3.3AT89S52封裝圖圖3.4AT89S52方框圖·GND:接地。

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

·P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收?!2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“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)行讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。

·P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。

P3口也可作為一些特殊功能口,如表3.1所示。表3.1P3口第2功能表引腳第2功能P3.0RXD〔串行口輸入端〕P3.1TXD〔串行口輸出端〕P3.2INT0〔外部中斷0請(qǐng)求輸入端,低電平有效〕P3.3INT1〔外部中斷1請(qǐng)求輸入端,低電平有效〕P3.4T0〔定時(shí)器/記時(shí)器0計(jì)數(shù)脈沖輸入端〕P3.5T1〔定時(shí)器/記時(shí)器1計(jì)數(shù)脈沖輸入端〕P3.6WR〔外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端,低電平有效〕P3.7RD〔外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效〕·RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。

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

·PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。

·/EA/VPP:當(dāng)/EA保持低電平時(shí),那么在此期間外部程序存儲(chǔ)器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕。

·XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。

·XTAL2:來自反向振蕩器的輸出。圖3.5為單片機(jī)復(fù)位參考電路。圖3.5單片機(jī)復(fù)位參考電路[4]圖3.6為MCS-51單片機(jī)時(shí)鐘參考電路圖3.6單片機(jī)時(shí)鐘參考電路[4]3.3.3AT89S52存儲(chǔ)器配置3.3.3.1存儲(chǔ)器結(jié)構(gòu)程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開始。對(duì)于89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器〔地址為0000H~1FFFH〕開始,接著從外部尋址,尋址地址為:2000H~FFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128字節(jié)與特殊功能存放器重疊。也就是說高128字節(jié)與特殊功能存放器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪問高128字RAM還是特殊功能存放器空間。直接尋址方式訪問特殊功能存放器〔SFR〕。3.3.3.2看門狗定時(shí)器WDT是一種需要軟件控制的復(fù)位方式。WDT由13位計(jì)數(shù)器和特殊功能存放器中的看門狗定時(shí)器復(fù)位存儲(chǔ)器〔WDTRST〕構(gòu)成。WDT在默認(rèn)情況下無法工作;為了激活WDT,用戶必須往WDTRST存放器〔地址:0A6H〕中依次寫入01EH和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個(gè)機(jī)器周期都會(huì)增加。WDT計(jì)時(shí)周期依賴于外部時(shí)鐘頻率。除了復(fù)位〔硬件復(fù)位或WDT溢出復(fù)位〕,沒有方法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高個(gè)電平輸出。WDT的使用:為了激活WDT,用戶必須向WDTRST存放器〔地址為0A6H的SFR〕依次寫入0E1H和0E1H。當(dāng)WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來防止WDT溢出。當(dāng)計(jì)數(shù)到達(dá)8191(1FFFH)時(shí),13位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、WDT激活后,每一個(gè)機(jī)器周期WDT都會(huì)增加。為了復(fù)位WDT,用戶必須向WDTRST寫入01EH和0E1H〔WDTRST是只讀存放器〕。WDT計(jì)數(shù)器不能讀或?qū)?。?dāng)WDT計(jì)數(shù)器溢出時(shí),將給RST引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期〔TOSC〕,其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間內(nèi)周期性寫入那局部代碼,以防止WDT復(fù)位。掉電和空閑方式下的WDT:在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個(gè)激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT喂狗,就如同通常AT89S52復(fù)位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷效勞程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT直到中斷拉低后才開始工作。這就意味著WDT應(yīng)該在中斷效勞程序中復(fù)位。為了確保在離開掉電模式最初的幾個(gè)狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。在進(jìn)入待機(jī)模式前,特殊存放器AUXR的WDIDLE位用來決定WDT是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE=0,WDT繼續(xù)計(jì)數(shù)。為了復(fù)位AT89S52,用戶應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。3.3.3.3定時(shí)器定時(shí)器0和定時(shí)器1:定時(shí)器0和定時(shí)器1與AT89C21和AT89C52一樣.定時(shí)器2:定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊存放器T2CON中的C/T2位選擇〔如表2所示〕。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載〔向下或向上計(jì)數(shù)〕和波特率發(fā)生器。如表3所示,工作模式由T2CON中的相關(guān)位進(jìn)行選擇。定時(shí)器2有2個(gè)8位存放器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2存放器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL276543210表3.2T2CON:定時(shí)器/計(jì)數(shù)器2控制存放器表3.3定時(shí)器2的工作模式符號(hào)功能TF2定時(shí)器2溢出標(biāo)志位,必須軟件清0,RCLK=1或TCLK=1,TF2不用置位EXF2定時(shí)器2外部標(biāo)志位,EXEN2=1時(shí),T2EX上的負(fù)跳變出現(xiàn)或者重載時(shí),EXEF2會(huì)被硬件置位。定時(shí)器2翻開。EXF2=1,將引導(dǎo)CPU執(zhí)行定時(shí)器2中斷程序。RCLK串行口接收數(shù)據(jù)時(shí)鐘標(biāo)志位,假設(shè)RCLK=1,串行口將使用定時(shí)器2溢出脈沖作為串行口工作方式1和工作方式3的串口接收時(shí)鐘。TCLK=0將使用定時(shí)器1計(jì)數(shù)溢出作為串口接收時(shí)鐘TCLK串行口發(fā)送數(shù)據(jù)時(shí)鐘標(biāo)志位。當(dāng)EXEN2=1時(shí),如果定時(shí)器2沒有作為串行時(shí)鐘,T2EX的負(fù)跳變引起定時(shí)器2捕捉和重載,假設(shè)EXEN2=0,定時(shí)器2將視T2EX為無效。EXEN2定時(shí)器2外部允許標(biāo)志位,當(dāng)EXEN2=1時(shí),如果定時(shí)器2沒有用作T2EX的負(fù)跳變引起定時(shí)器2捕捉和重載,假設(shè)EXEN2=0,定時(shí)器2將視T2EX為無效。TR2開始/停止控制定時(shí)器2,假設(shè)TR2=1,定時(shí)器2開始工作C/T2定時(shí)器2定時(shí)/計(jì)數(shù)選擇標(biāo)志位,C/T2=0開始計(jì)時(shí),C/T2=1外部事件計(jì)數(shù)?!蚕陆笛赜|發(fā)〕CP/RL2捕捉重載標(biāo)志位,當(dāng)EXEN2=1時(shí),如果定時(shí)器2沒有作為串行時(shí)鐘,T2EX的負(fù)跳變引起定時(shí)器2捕捉和重載,假設(shè)EXEN2=0,定時(shí)器2將視T2EX為無效。定時(shí)器2強(qiáng)制自動(dòng)重載。表3.4定時(shí)器2的工作模式RCLK+TCLKCP/RL2TR2MODE00116位自動(dòng)重載01116位捕捉1X1波特率發(fā)生器XX0〔不用〕在計(jì)數(shù)工作方式下,存放器在相關(guān)外部輸入角T2發(fā)生1至0的下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1期間,新的計(jì)數(shù)值出現(xiàn)在存放器中。因?yàn)樽R(shí)別1-0的跳變需要2個(gè)機(jī)器周期〔24個(gè)晶振周期〕,所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。3.3.3.4中斷AT89S52有6個(gè)中斷源:兩個(gè)外部中斷〔INT0和INT1〕,三個(gè)定時(shí)中斷〔定時(shí)器0、1、2〕和一個(gè)串行中斷。每個(gè)中斷源都可以通過置位或去除特殊存放器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷[5]。如表3.5所示,IE.6位是不可用的。對(duì)于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留定時(shí)器2可以被存放器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷效勞后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷效勞程序必須判定是否是TF2或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來。EA—ET2ESET1EX1ET0EX0中斷允許控制位=1允許中斷中斷允許控制位=0禁止中斷表3.5符號(hào)地址位功能EAIE.7中斷允許總控制位。EA=0,中斷總禁止:EA=1,各中斷由各自的控制位設(shè)定-IE.6預(yù)留ET2IE.5定時(shí)器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時(shí)器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時(shí)器0中斷允許控制位EX0IE.0外部中斷1允許控制位3.4多路DS18B20測(cè)溫本設(shè)計(jì)的溫度采集使用的是DS18B20,且是一個(gè)多路采集系統(tǒng)?!苍诒疚牡牡诙鹿?jié)已經(jīng)重點(diǎn)介紹DS18B20,在此就不重復(fù)介紹了〕采用外部供電的方式,只需在DS18B20的DQ數(shù)據(jù)輸入/輸出端接入4.7K的上拉電阻到VCC即可實(shí)現(xiàn)供電方式[5]。多路測(cè)溫電路圖如圖3.7所示。圖3.7多路DS18B20測(cè)溫電路圖3.5LCM1602B液晶顯示介紹液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。本設(shè)計(jì)以常見的LCM1602B字符型LCD模塊為例,介紹該模塊的簡(jiǎn)單使用。LCM1602B可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、EP三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址日斩日{(diào)節(jié)和背光。該模塊也可以只用D4-D7作為四位數(shù)據(jù)分兩次傳送,這樣的話可以節(jié)省MCU的I/O口資源。LCM1602B外觀如下列圖3.8所示。圖3.8LCM1602B液晶顯示模塊3.5.1LCM1602B技術(shù)參數(shù)顯示容量:32個(gè)字符,每個(gè)字符為5*7點(diǎn)陣,分2行,每行16列芯片工作電壓:4.5~5.5V工作電流:2mA〔5.0V〕模塊最正確工作電壓:5.0V字符尺寸:2.95*4.35〔W*H〕mm3.5.21602B引腳說明表3.61602B引腳說明編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2雙向數(shù)據(jù)口2VDD電源正極10D3雙向數(shù)據(jù)口3VL比照度調(diào)節(jié)11D4雙向數(shù)據(jù)口4RS數(shù)據(jù)/命令選擇12D5雙向數(shù)據(jù)口5R/W讀/寫選擇13D6雙向數(shù)據(jù)口6EP模塊使能端14D7雙向數(shù)據(jù)口7D0雙向數(shù)據(jù)口15BLA背光源正極8D1雙向數(shù)據(jù)口16BLK背光源地考前須知:從該模塊的正面看,引腳排列從右向左為:15腳、16腳,然后才是1~14腳(線路板上已經(jīng)標(biāo)明)。VDD:電源正極,4.5~5.5V,通常使用5V電壓;VL:LCD比照度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為0~5V。接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高,但比照度過高時(shí)會(huì)產(chǎn)生“鬼影”,因此通常使用一個(gè)10K的電位器來調(diào)整比照度,或者直接串接一個(gè)電阻到地;RS:MCU寫入數(shù)據(jù)或者指令選擇端。MCU要寫入指令時(shí),使RS為低電平;MCU要寫入數(shù)據(jù)時(shí),使RS為高電平;R/W:讀寫控制端。R/W為高電平時(shí),讀取數(shù)據(jù);R/W為低電平時(shí),寫入數(shù)據(jù);EP:LCD模塊使能信號(hào)控制端。寫數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊;D0~D7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4~D7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式;BLA:LED背光正極。需要背光時(shí),BLA串接一個(gè)限流電阻接VDD,BLK接地,實(shí)測(cè)該模塊的背光電流為50mA左右;BLK:LED背光地端。3.5.3針腳引線1,2,3針:根據(jù)上面的表格,把第一針(VSS),第二(VDD),第三(VL)叫做電源接線。第一根是地線,必須把它接到地上;第二根是+5V的電源線。第三根線(VL)是LCD比照對(duì)的調(diào)整,本設(shè)計(jì)使用一個(gè)電位器來調(diào)節(jié)LCD的比照度。4,5,6針:Pin4〔RS〕,Pin5〔R/W〕,Pin6〔EP〕是用來控制LCD的。Pin4是選擇存放器,如果該針是低電平,那么LCD通過發(fā)送命令可以感知到數(shù)據(jù);如果是高電平,那么LCD可以發(fā)送或者接收8/4位的字符數(shù)據(jù)。Pin5讀寫線,如果該針是低電平,可以向LCD寫字符,如果是高電平可以讀取字符數(shù)據(jù)或者狀態(tài)信息。7,8,9,10,11,12,13,14針:這8條線是數(shù)據(jù)線,可以從LCD傳輸或者獲取數(shù)據(jù),每次8位或者4位。15,16針:這兩根針是為了LCD的背光設(shè)計(jì)的,背光非常適合于用在昏暗的環(huán)境,我們經(jīng)??梢钥吹蕉喾N背光顏色的LCD。3.5.4LCD的連接大局部的LCD都有14根連線,他們是D0-D7(數(shù)據(jù)線),EP(使能信號(hào)),R/W(讀寫信號(hào)),RS(存放器選擇),VL(比照度),VDD或者VCC(+5伏電源),VSS(地線)。因此對(duì)于一個(gè)標(biāo)準(zhǔn)的無背光LCD有8條數(shù)據(jù)線,3條電源線和3條控制線。如果LCD擁有背光,那么需要附加2條線,分別是(BLA)和(BLK或者地線)。3.5.5液晶LCD顯示電路圖3.9液晶LCD顯示電路3.6串行通信電路的設(shè)計(jì)RS232C接口特性:MAX232具有驅(qū)動(dòng)能力,所以不需要外加驅(qū)動(dòng)電路。鑒于AT89S52單片機(jī)的串口采用TTL電平,與PC機(jī)串行接口的電氣標(biāo)準(zhǔn)不一致,通信中采用RS232C標(biāo)準(zhǔn)接口。該接口具有使用方便,連接線少等優(yōu)點(diǎn)[7]。RS232C接口電氣特性見表3.7。表3.7RS232C接口電氣特性驅(qū)動(dòng)器輸出電平(3~7kΩ)1:-5~-15V0:+5~+15V不帶負(fù)載時(shí)的驅(qū)動(dòng)器輸出電平-25~+25V驅(qū)動(dòng)器時(shí)的輸出阻抗>300Ω輸出短路電流<0.5A驅(qū)動(dòng)器轉(zhuǎn)換速率<30V/μs接收器輸入阻抗3~7kΩ接收器輸入電壓的允許范圍-25~+25V輸入開路時(shí)接收器的輸出邏輯1輸入經(jīng)3008接地時(shí)接收器的輸出邏輯1+3V輸入時(shí)接收器的輸出邏輯0-3V輸入時(shí)接收器的輸出邏輯1最大負(fù)載電容2500pFTTL與RS232C電平轉(zhuǎn)換:RS232C電平采用負(fù)邏輯,即邏輯1:-3~-15V,邏輯0:+3~+15V,而單片機(jī)使用的TTL電平中,高電平(3.5~5V)為邏輯1,低電平(0~0.8V)為邏輯0。單片機(jī)要外接電平轉(zhuǎn)換電路芯片把TTL高電平表示的1轉(zhuǎn)換成RS232C的負(fù)電壓信號(hào),把低電平表示的0轉(zhuǎn)換成RS232C的正電壓信號(hào)[8]。RS232C的邏輯電平與TTL的邏輯電平關(guān)系比擬見表3.8。表3.8RS232C的邏輯電平與TTL的邏輯電平比擬邏輯電平RS232CTTL0+3~+15V≤+0.4V1-3~-15V≥+2.4V可見,要使得AT89S52與RS232C正常通信的關(guān)鍵是要解決電平轉(zhuǎn)換問題,本系統(tǒng)采用MAXIM公司的單一+5V供電的MAX232C電平轉(zhuǎn)換芯片來實(shí)現(xiàn),傳輸速率為120kb/s。該芯片具有使用簡(jiǎn)單等優(yōu)點(diǎn),僅需外接幾個(gè)電容即可完成從TTL電平到RS232C電平的轉(zhuǎn)換,同時(shí)也防止了供電電源的復(fù)雜性[9]。硬件接線圖如下列圖3.9所示。圖3.10串行通信電路3.7報(bào)警電路設(shè)計(jì)在煤礦生產(chǎn)過程中,最重要的就是平安。本文所設(shè)計(jì)的溫度傳感器具有實(shí)時(shí)報(bào)警功能。本設(shè)計(jì)的報(bào)警功能是由蜂鳴器來實(shí)現(xiàn)的。當(dāng)溫度傳感器測(cè)得溫度高于設(shè)定的值,那么單片機(jī)P25就會(huì)輸出高電平,蜂鳴器就開始工作,進(jìn)行報(bào)警。本報(bào)警電路本錢十分低廉,且功能運(yùn)行十分穩(wěn)定。報(bào)警電路圖如圖3.10。圖3.11報(bào)警電路圖[10]第四章智能溫度傳感器的軟件設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)主要包括主程序以及各個(gè)模塊程序:溫度采集模塊、溫度顯示模塊、按鍵設(shè)定模塊、超溫報(bào)警模塊和上位機(jī)通信等,以及擴(kuò)展功能的假設(shè)干個(gè)控制子程序。主程序分別調(diào)用這些子程序?qū)崿F(xiàn)對(duì)液晶顯示器、溫度報(bào)警、按鍵控制和上位機(jī)通信的操作控制。4.1主程序流程圖開始開始初始化數(shù)據(jù)采集并進(jìn)行高精度A/D轉(zhuǎn)換CPU計(jì)算并得到溫度值輸入值大于設(shè)定值進(jìn)行鈴聲報(bào)警程序啟動(dòng)控制系統(tǒng)結(jié)束顯示當(dāng)前溫度值NY圖4.1主程序流程圖主程序開始運(yùn)行,先由DS18B20進(jìn)行溫度數(shù)據(jù)采集以及A\D轉(zhuǎn)換,然后將數(shù)據(jù)傳送給單片機(jī)。由單片機(jī)進(jìn)行處理,然后進(jìn)入循環(huán)程序,調(diào)用測(cè)溫函數(shù)進(jìn)行測(cè)溫,調(diào)用顯示函數(shù)實(shí)現(xiàn)顯示。并且在溫度到達(dá)設(shè)定的報(bào)警值時(shí)進(jìn)行蜂鳴器報(bào)警。4.2測(cè)溫子程序流程圖開始開始設(shè)置DQ為1初始化DS18B20是否成功寫DS18B20命令,跳過ROM命令設(shè)置長(zhǎng)時(shí)間延遲初始化DS18B20是否成功寫DS18B20命令,開始測(cè)溫循環(huán)取得溫度返回主程序YNYN圖4.2測(cè)溫子程序流程圖準(zhǔn)備測(cè)溫時(shí)首先要將DS18B20的DQ設(shè)置為高電平,接著初始化DS18B20,初始化成功后,DS18B20接收單片機(jī)的命令,然后再次初始化DS18B20在成功后啟動(dòng)測(cè)溫,然后將溫度保存起來,返回。在測(cè)得溫度后,DS18B20會(huì)將溫度數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)的溫度表示,然后再通過查表〔在C語言中是一個(gè)數(shù)組〕調(diào)用液晶1602顯示在液晶上,數(shù)據(jù)處理類似于由二進(jìn)制轉(zhuǎn)換為十進(jìn)制,再由十進(jìn)制轉(zhuǎn)換為ASCII碼。測(cè)溫子程序流程圖如圖4.2。4.3顯示子程序流程圖入口入口初始化1602延時(shí)5ms檢測(cè)忙信號(hào)SAT7=0?獲得顯示RAM地址延時(shí)5ms寫入相應(yīng)的數(shù)據(jù)數(shù)據(jù)顯示完畢返回主程序NYNY圖4.3顯示子程序第五章智能溫度傳感器系統(tǒng)調(diào)試系統(tǒng)調(diào)試是對(duì)所設(shè)計(jì)的系統(tǒng)進(jìn)行硬件調(diào)試,軟件調(diào)試以及綜合調(diào)試。系統(tǒng)調(diào)試可分靜態(tài)調(diào)試和動(dòng)態(tài)條是兩步進(jìn)行。5.1智能溫度傳感器靜態(tài)調(diào)試靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時(shí)的一種硬件檢查。在硬件的檢查過程中,一般分三個(gè)步驟:一,

溫馨提示

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