版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I基于AT89S52單片機(jī)的溫度檢測(cè)系統(tǒng)設(shè)計(jì)摘要:當(dāng)今時(shí)代,單片機(jī)技術(shù)已經(jīng)普及到我們的生活、工作等方方面面,已經(jīng)成為了一種比較成熟的技術(shù)。溫度是生產(chǎn)過(guò)程和日常生活中普遍而且很重要的影響因素,經(jīng)常要進(jìn)行溫度的檢測(cè)和控制,而利用單片機(jī)去進(jìn)行溫度檢測(cè)與控制則給我們提供了方便。溫度測(cè)量是溫度控制系統(tǒng)中的基礎(chǔ)。本文介紹了一個(gè)基于AT89S52單片機(jī)的溫度檢測(cè)系統(tǒng),該系統(tǒng)是以AT89S52單片機(jī)為核心元件,外加溫度采集電路、顯示電路和報(bào)警電路等。溫度采集電路采用單總線(xiàn)型數(shù)字式的溫度傳感器DS18B20,DS18B20與AT89S52單片機(jī)結(jié)合實(shí)現(xiàn)最簡(jiǎn)單的溫度檢測(cè)與報(bào)警系統(tǒng)。該系統(tǒng)可以方便的實(shí)現(xiàn)溫度采集、溫度顯示、報(bào)警,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度。該系統(tǒng)使用起來(lái)相當(dāng)方便,尤其是它的抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有著廣泛的應(yīng)用前景。關(guān)鍵詞:AT89S52單片機(jī);溫度采集;DS18B20;報(bào)警Abstract:Nowadays,microcontrollertechnologyhasbepopularinourlives,worksandsoon,whichhasbecomearelativelymaturetechnology.Temperatureisaverycommonandimportantelementduringtheproductionprocessandpeople'sdailylives,soweoftenneedtochecktemperatureandcontrolit,butitismoreconvenientforusthatusingmicrocontrollertocheckandcontroltemperature.Temperaturemeasurementisthebasisoftemperature-controlling.ThispaperdescribesamicrocontrollerAT89S52whichbasedontemperaturedetectionsystem.ThesystemisbasedonAT89S52microcontrollerwhichisacorecomponent,andincludingtemperaturecollectcircuit,displaycircuitandalarmcircuit.Thetemperaturecollectcircuitusesasingle-busdigitaltemperaturesensorDS18B20.DS18B20andAT89S52combinedtoachievethemostsimpletemperaturedetectionandalarmsystem.Thesystemcaneasilyachievetocollecttemperature,displytemperature,alarm,andalsocanarbitrarilysetupperandloweralarmtemperature.Thesystemisveryconvenienttouse,especiallyitsanti-interferenceabilityisverystrongsothatitsuittomeasuretemperatureinveryhardenvironments,whichhasawiderangeofapplications.Keywords:AT89S52microcontroller;Temperaturecollect;DS18B20;Alarm 1.1課題背景及意義 1.2國(guó)內(nèi)外研究的現(xiàn)狀 1.3研究設(shè)計(jì)的主要內(nèi)容 第2章系統(tǒng)方案論證與比較 42.1溫度傳感器的選擇 42.2顯示器的選擇 2.3單片機(jī)的選擇 52.3.1凌陽(yáng)單片機(jī) 5第3章溫度測(cè)量的基本原理 63.1溫度測(cè)量的幾種方法 6第4章主要芯片及技術(shù)介紹 4.1.1主要功能特性 94.1.2各引腳功能及管腳電壓 9 4.2.1單總線(xiàn)技術(shù)概述 4.2.2單總線(xiàn)接口的硬件結(jié)構(gòu) 4.2.3單總線(xiàn)芯片序列號(hào) 第5章溫度檢測(cè)系統(tǒng)的硬件設(shè)計(jì) 5.1系統(tǒng)總體構(gòu)成 5.2單片機(jī)復(fù)位電路 5.2.1常用的兩種復(fù)位電路 5.2.2單片機(jī)復(fù)位后的狀態(tài) 5.4溫度采集電路 5.6報(bào)警電路 5.7鍵盤(pán)電路 5.7.1鍵盤(pán)接口電路 5.7.2鍵盤(pán)使用說(shuō)明 第6章溫度檢測(cè)系統(tǒng)的軟件設(shè)計(jì) 6.1系統(tǒng)軟件的整體設(shè)計(jì) 6.2系統(tǒng)的主程序 6.3溫度采集程序 第7章系統(tǒng)軟件的匯編與調(diào)試 7.3仿真結(jié)果分析 7.4硬件焊接及系統(tǒng)調(diào)試 參考文獻(xiàn) 附錄1系統(tǒng)硬件電路圖 11.1課題背景及意義在科學(xué)技術(shù)突飛猛進(jìn)的今天,溫度檢測(cè)與控制起到不可忽視的作用。溫度控制不論是在醫(yī)療領(lǐng)域還是在工業(yè)控制領(lǐng)域應(yīng)用都非常廣泛。例如在電力工程、食品加工、冶金工業(yè)、化工生產(chǎn)造紙行業(yè)和機(jī)械制造等諸多領(lǐng)域中,需要對(duì)各類(lèi)反應(yīng)爐、加熱爐和熱處理爐的溫度進(jìn)行測(cè)量并進(jìn)行控制,尤其是在工業(yè)生產(chǎn)過(guò)程中,很多時(shí)候都需要對(duì)溫度進(jìn)行嚴(yán)格的監(jiān)控,以保證生產(chǎn)能夠順利進(jìn)行,從而產(chǎn)品的質(zhì)量才能得到有效的保證。自動(dòng)控制系統(tǒng)在各個(gè)領(lǐng)域尤其是工業(yè)領(lǐng)域中有著廣泛的應(yīng)用,而溫度控制是控制系統(tǒng)中最為常見(jiàn)的控制之一,其中溫度采集及其報(bào)警是整個(gè)控制系統(tǒng)的基礎(chǔ)。隨著單片機(jī)技術(shù)的日益成熟,通過(guò)單片機(jī)對(duì)溫度檢測(cè)日益成為自動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方向。采用單片機(jī)來(lái)對(duì)溫度進(jìn)行檢測(cè),不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的精確性,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。1.2國(guó)內(nèi)外研究的現(xiàn)狀在當(dāng)今時(shí)代,溫度檢測(cè)技術(shù)日新月異,許多新的溫度檢測(cè)的技術(shù)不斷得到開(kāi)發(fā),并且取得了很大的進(jìn)展。在工業(yè)上這些新的測(cè)溫技術(shù)開(kāi)始投入應(yīng)用,主要有以下幾種:(1)采用集成電路溫度檢測(cè)元件。該元件是利用硅晶體管的基極與發(fā)射極之間電壓與溫度的關(guān)系(即半導(dǎo)體PN結(jié)的溫度特性)進(jìn)行溫度檢測(cè)。該元件是把用于溫度測(cè)量、信號(hào)處理以及放大電路等電路模塊集成在一塊芯片上,并將其封裝在小型管殼內(nèi),從而制造出的集成電路溫度檢測(cè)元件。目前,國(guó)內(nèi)在這方面也開(kāi)始了生產(chǎn)。(2)采用半導(dǎo)溫度檢體測(cè)元件,該元件在眾多的溫度檢測(cè)元件中很具有代表性。半導(dǎo)體的電阻溫度系數(shù)比金屬大1~2個(gè)數(shù)量級(jí),二極管和三極管的PN結(jié)電壓、電容對(duì)溫度靈敏度很高。目前很多測(cè)溫元件都是基于上述測(cè)溫原理。(3)石英晶體溫度檢測(cè)器。該系列元件采用LC或Y型切割的石英晶片的共振頻率隨溫度變化的特性而制作。它可以自動(dòng)補(bǔ)償石英晶片的非線(xiàn)性,測(cè)量精度較高,一般可檢測(cè)到0.001℃。(4)采用熱噪聲溫度檢測(cè)器,它是利用熱電阻元件產(chǎn)生的噪聲電壓與溫度具有的相關(guān)性來(lái)設(shè)①感溫元件的阻值幾乎不影響測(cè)量精確度;2②輸出噪聲電壓大小與溫度是比例關(guān)系;③不受壓力影響;因此,它是可以直接讀出絕對(duì)溫度值而不受材料和環(huán)境條件限制的溫度檢測(cè)器。(5)采用核磁共振溫度檢測(cè)器,這種檢測(cè)溫度的方法是利用共振吸收頻率隨溫度上升而減少的原理研制成的,它的原理是將具有核自旋的物質(zhì)置于靜磁場(chǎng)中,當(dāng)在與靜磁場(chǎng)垂直方向上加上電磁波時(shí),就會(huì)發(fā)生對(duì)某頻率電磁的吸收現(xiàn)象。這種檢測(cè)器精度極高,是一種性能十分良好的溫度檢測(cè)器。在常溫下,可作理想的標(biāo)準(zhǔn)溫度計(jì)之用。(6)采用光纖溫度檢測(cè)器,這種是目前光纖傳感器中發(fā)展較快的一種,它是利用雙折射光纖的傳輸光信號(hào)滯后量隨溫度變化的原理而制成的雙折射光纖溫度檢測(cè)器,檢測(cè)精度在±1℃以?xún)?nèi),測(cè)溫范圍可以從絕對(duì)0℃到2000℃。(7)微波溫度檢測(cè)器是采用微波測(cè)溫可以達(dá)到快速測(cè)量高溫的目的。它是利用在不同溫度下,溫度與控制電壓成線(xiàn)性關(guān)系的原理制成的。這種檢測(cè)器的靈敏度為250kHZ/℃,精度為1%左右,檢測(cè)范圍為20~1400℃。通過(guò)對(duì)以上溫度檢測(cè)新技術(shù)的概述可以看出,未來(lái)溫度檢測(cè)技術(shù)的發(fā)展趨勢(shì)主要表現(xiàn)在下面幾(1)加強(qiáng)新原理、新材料、新加工工藝的開(kāi)發(fā)。如近來(lái)已經(jīng)開(kāi)發(fā)的炭化硅薄膜熱敏電阻溫度檢測(cè)器,厚膜、薄膜鉑電阻溫度檢測(cè)器,硅單晶熱敏電阻溫度檢測(cè)器等。(2)擴(kuò)大測(cè)溫對(duì)象。溫度檢測(cè)技術(shù)將會(huì)由點(diǎn)測(cè)溫發(fā)展到線(xiàn)、面,甚至立體的測(cè)量,它的應(yīng)用范圍也不斷的在擴(kuò)大,像如今在家用電器、汽車(chē)工業(yè)等領(lǐng)域方面也有了應(yīng)用。(3)新產(chǎn)品的開(kāi)發(fā)。為了適應(yīng)越來(lái)越多的需求,許多新的產(chǎn)品正在不斷的被研制出來(lái),同時(shí)新的檢測(cè)技術(shù)也逐漸在開(kāi)發(fā)新產(chǎn)品時(shí)不斷的得到應(yīng)用。(4)擴(kuò)展檢測(cè)范圍。隨著現(xiàn)代工業(yè)不斷的發(fā)展,產(chǎn)品的質(zhì)量的要求也不段的在提高,尤其是那些對(duì)溫度要求較高的產(chǎn)品。所以在未來(lái)測(cè)量溫度的范圍會(huì)有所擴(kuò)大,比如在超高溫的測(cè)量。(5)向智能化、集成化、適用化方向發(fā)展。新產(chǎn)品不僅要具有檢測(cè)功能,又要具有判斷和指令等多功能,采用微機(jī)向智能化方向發(fā)展。向機(jī)電一體化方向發(fā)展[2]。1.3研究設(shè)計(jì)的主要內(nèi)容本文主要講述了一個(gè)基于AT89S52單片機(jī)的溫度檢測(cè)系統(tǒng)。該系統(tǒng)充分利用了數(shù)字溫度傳感器DS18B20的特點(diǎn),設(shè)計(jì)了一個(gè)集溫度采集與轉(zhuǎn)換、顯示以及報(bào)警一系列任務(wù)的系統(tǒng)。該系統(tǒng)的溫度信號(hào)由數(shù)字溫度傳感器DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。單片機(jī)將獲得的溫度值在數(shù)碼管上顯示出來(lái)。數(shù)碼管的顯示采用動(dòng)態(tài)掃描的方式,為了增強(qiáng)數(shù)碼管的顯示效果并對(duì)單片機(jī)3的PO口進(jìn)行上拉,并用PNP型的三極管來(lái)驅(qū)動(dòng)數(shù)碼管。數(shù)碼管采用4位共陽(yáng)極的LED。同時(shí)單片機(jī)還需要進(jìn)行溫度值的判斷,看是否超越所設(shè)置的溫度上下限,若低于或高于所設(shè)定的溫度,單片機(jī)將發(fā)出信號(hào)使蜂鳴器報(bào)警并有相應(yīng)的指示燈亮。該系統(tǒng)設(shè)計(jì)包括硬件及軟件設(shè)計(jì),現(xiàn)對(duì)本文整體結(jié)構(gòu)安排進(jìn)行如下介紹。在第一章中主要介紹當(dāng)前溫度檢測(cè)技術(shù)的背景及其意義,討論下該技術(shù)未來(lái)的發(fā)展趨勢(shì)。在第二章中則對(duì)該系統(tǒng)設(shè)計(jì)的方案進(jìn)行下論證,主要包括各關(guān)鍵部分元器件的選擇。在第三章則對(duì)溫度檢測(cè)的基本原理進(jìn)行下簡(jiǎn)單的介紹,并針對(duì)本設(shè)計(jì)所采用的DS18B20的工作原理進(jìn)行下介紹。第四章則是對(duì)該系統(tǒng)所采用的單片機(jī)及芯片進(jìn)行介紹,為后面的工作打下理論基礎(chǔ)。第五章則是溫度檢測(cè)系統(tǒng)的硬件設(shè)計(jì),主要包括各關(guān)鍵部位的電路設(shè)計(jì)。第六章則是本系統(tǒng)的軟件設(shè)計(jì),給出了軟件設(shè)計(jì)的流程圖。第七章是系統(tǒng)的仿真及硬件電路焊接與調(diào)試,介紹了仿真結(jié)果及調(diào)試所遇到的問(wèn)題。在最后一章中則對(duì)該系統(tǒng)的不足之處進(jìn)行了說(shuō)明,并對(duì)后續(xù)工作的開(kāi)展進(jìn)行了展望。4第2章系統(tǒng)方案論證與比較2.1溫度傳感器的選擇溫度檢測(cè)系統(tǒng)有其共同的特點(diǎn):測(cè)量點(diǎn)多、環(huán)境復(fù)雜、布線(xiàn)分散、現(xiàn)場(chǎng)離監(jiān)控室遠(yuǎn)等。若采用一般溫度傳感器采集溫度信號(hào),則需要設(shè)計(jì)信號(hào)調(diào)理電路、A/D轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到計(jì)算機(jī)去處理。這樣,由于各種因素會(huì)造成檢測(cè)系統(tǒng)較大的偏差,因此溫度檢測(cè)系統(tǒng)設(shè)計(jì)的關(guān)鍵在于溫度傳感器的選擇。方案一:本方案采用模擬溫度傳感器AD590作為測(cè)溫元件,傳感器將測(cè)量的溫度變換轉(zhuǎn)換成電流的變化,再通過(guò)電路轉(zhuǎn)換成電壓的變化,使用運(yùn)算放大器將信號(hào)進(jìn)行適當(dāng)?shù)姆糯?,最后通過(guò)模數(shù)轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),傳送給單片機(jī)。此方案的硬件電路過(guò)于繁瑣,不可取。方案二:采用熱敏電阻,可滿(mǎn)足40℃~90℃測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)1攝氏度的信號(hào)是不適用的。而且在溫度測(cè)量系統(tǒng)中,采用單片溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過(guò)A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測(cè)溫裝置的結(jié)構(gòu)較復(fù)雜。另外,這種測(cè)溫裝置的一根線(xiàn)上只能掛一個(gè)傳感器,不能進(jìn)行多點(diǎn)測(cè)量,即使能實(shí)現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。方案三:該方案采用單總線(xiàn)的溫度傳感器,例如DS18B20。該系列溫度精度高,只需要一個(gè)I/0口就能驅(qū)動(dòng),不需要將溫度傳感器的輸出信號(hào)接到A/D轉(zhuǎn)換器上,可以直接讀出被測(cè)溫度值,這樣可以省去很多傳統(tǒng)的外圍電路。另外該芯片的物理性質(zhì)與化學(xué)性質(zhì)很穩(wěn)定,元件線(xiàn)形較好,在0~100℃時(shí),最大線(xiàn)形偏差小于1。這樣,使用DS18B20來(lái)進(jìn)行溫度的測(cè)量就大大簡(jiǎn)化了測(cè)溫電路的難度并且體積也不大,總體電路顯得更加簡(jiǎn)潔,在搭建電路和焊接電路也更快,而且集成塊的使用能有效地避免外界的干擾,提高測(cè)量電路的精確度,所以集成芯片的使用將成為電路發(fā)展的一種趨綜上所述,本系統(tǒng)溫度傳感器采用方案三。2.2顯示器的選擇方案一:采用傳統(tǒng)的七段數(shù)碼LED顯示器。LED具有價(jià)格便宜,亮度高,顯示大,編程簡(jiǎn)易,方案二:采用LCD液晶顯示器進(jìn)行顯示。LCD液晶顯示器是一種低壓、微功耗的顯示器件。它的顯示效果相比數(shù)碼管來(lái)講就優(yōu)越的多,但是液晶顯示常用于精密儀器儀表,而且編程復(fù)雜,價(jià)格5本設(shè)計(jì)系統(tǒng)對(duì)顯示效果要求不是很高,刷新溫度的頻率也不需要太高,能夠準(zhǔn)確的顯示出溫度,并且當(dāng)溫度變化時(shí)能夠準(zhǔn)確的反應(yīng)出溫度的變化就行了,故本設(shè)計(jì)顯示器采用方案一。2.3單片機(jī)的選擇2.3.1凌陽(yáng)單片機(jī)隨著單片機(jī)功能集成化的發(fā)展,單片機(jī)的應(yīng)用范圍也逐漸地由傳統(tǒng)簡(jiǎn)單功能的控制,擴(kuò)展成過(guò)程控制、數(shù)字信號(hào)處理(DSP,DigitalSignalProcessing)以及數(shù)據(jù)分析等領(lǐng)域。凌陽(yáng)單片機(jī)在這種背景下而被開(kāi)發(fā)出來(lái)的。這一系列的單片機(jī)有以下特點(diǎn):體積小,集成度高,可靠性好易于擴(kuò)展。該類(lèi)單片機(jī)內(nèi)部采用總線(xiàn)結(jié)構(gòu),減少了各功能部件之間的連接,從而提高了它的可靠性和抗干擾的能力。它的中斷系統(tǒng)支持10個(gè)中斷向量及10余個(gè)中斷源,片內(nèi)具有靜態(tài)的尋址能力較強(qiáng),同時(shí)它所具有的獨(dú)特的乘法運(yùn)算指令和內(nèi)積運(yùn)算指令為其應(yīng)用添加了不少色彩,使得該類(lèi)型單片機(jī)在一些復(fù)雜的數(shù)字信號(hào)處理中很有優(yōu)勢(shì)。凌陽(yáng)單片機(jī)其優(yōu)勢(shì)主要體現(xiàn)在硬件方面,抗干擾能力強(qiáng),但是凌陽(yáng)單片機(jī)我沒(méi)有接觸過(guò),這對(duì)于我來(lái)說(shuō)不是很容易上手,其次它的價(jià)格也要比AT89S52昂貴的多,因此我并沒(méi)有選擇系列8位5單片機(jī),它廣泛應(yīng)用于工業(yè)測(cè)控系統(tǒng)之中。其指令是采用的被稱(chēng)為“CISC”的復(fù)雜指令集,共具有111條指令。89S52單片機(jī)本身的電源電壓是5V,有兩種低功耗方式:待機(jī)方式和掉電方式。正常情況下消耗的電流為24mA,在掉電狀態(tài)下,其耗電電流仍為3mA;即使在掉電方式下,電源電壓可以下降到2V,但是為了保存內(nèi)部RAM中的數(shù)據(jù),還需要提供約50uA的電流。AT系列的單片機(jī)是最早進(jìn)入中國(guó)的單片機(jī),人們對(duì)它在熟悉不過(guò)了,再加上我國(guó)各方人士的努力,創(chuàng)造了不少適合我們使用的開(kāi)發(fā)工具。而S52單片機(jī)不僅完全兼容51系列的單片機(jī),而且在51的基礎(chǔ)上做了許多優(yōu)化,功能更加全面,它的價(jià)格低廉,卻方便實(shí)用。同時(shí),以MCS-51技術(shù)核心為主導(dǎo)的單片機(jī)已成為許多廠(chǎng)家、電氣公司競(jìng)相選用的對(duì)象,并以此為基準(zhǔn),推出許多與MCS-51有極好兼容性的CHMOS單片機(jī),同時(shí)增加了一些新的功能,而且AT89S52單片機(jī)有其獨(dú)特的特點(diǎn),可以支持在線(xiàn)編程,考慮到成本及自己熟悉程度的問(wèn)題,本設(shè)計(jì)采用AT89S526第3章溫度測(cè)量的基本原理3.1溫度測(cè)量的幾種方法溫度是表征物體冷熱程度的物理量。溫度只能通過(guò)物體隨溫度變化的某些特性來(lái)間接測(cè)量,溫度測(cè)量?jī)x表按測(cè)溫方式可分為非接觸式和接觸式。一般來(lái)講由于需要與被測(cè)物體進(jìn)行接觸,接觸式測(cè)溫儀表測(cè)得的溫度一般比較可靠且測(cè)量的精度較高;但因測(cè)溫元件需要與被測(cè)物體進(jìn)行充分的熱交換,這就需要一定的時(shí)間才能達(dá)到熱平衡,所以存在測(cè)溫的延遲現(xiàn)象,同時(shí)受耐高溫材料的限制,不能應(yīng)用于很高的溫度測(cè)量。非接觸式儀表測(cè)溫是通過(guò)熱輻射原理來(lái)測(cè)量溫度的,測(cè)溫元件不需與被測(cè)物體接觸,測(cè)溫范圍廣,不受測(cè)溫上限的限制,也不會(huì)破壞被測(cè)物體的溫度場(chǎng),反應(yīng)速度一般也比較快;但受到物體的發(fā)射率、測(cè)量距離、煙塵和水氣等外界因素的影響,其測(cè)量誤差較大。目前在廣泛采用的測(cè)溫方法有以下幾種:(1)熱電偶溫度檢測(cè)方法。熱電偶測(cè)溫基本原理是將兩種不同材料的導(dǎo)體或半導(dǎo)體A和B焊接起來(lái),構(gòu)成一個(gè)閉合回路,當(dāng)導(dǎo)體A和B的兩個(gè)執(zhí)著點(diǎn)1和2之間存在溫差時(shí),兩者之間便產(chǎn)生電動(dòng)勢(shì),因而在回路中形成一個(gè)大小的電流,這種現(xiàn)象稱(chēng)為熱電效應(yīng)。熱電偶就是利用這一效應(yīng)來(lái)(2)熱電阻是中低溫區(qū)最常用的一種溫度檢測(cè)器。熱電阻測(cè)溫原理是基于金屬導(dǎo)體的電阻值隨溫度的增加而增加這一特性來(lái)進(jìn)行溫度測(cè)量的。熱電阻大都由純金屬材料制成。熱電阻測(cè)溫系統(tǒng)一般由熱電阻、連接導(dǎo)線(xiàn)和顯示儀表等組成。(3)IC集成溫度傳感器,全數(shù)字化讀取,必須配合單片機(jī)使用,可以連接成網(wǎng)絡(luò)使用,三線(xiàn)即可讀取溫度,電源、地、數(shù)據(jù)?]。3.2數(shù)字溫度傳感器DS18B20的測(cè)溫原理DS18B20測(cè)溫原理如圖3-1所示。圖中低溫度系數(shù)晶振用于產(chǎn)生脈沖信號(hào)送給計(jì)數(shù)器1,它的振蕩頻率受溫度的影響很小,可以近似認(rèn)為產(chǎn)生的是固定頻率的脈沖。而圖中的高溫度系數(shù)晶振產(chǎn)生的振蕩頻率隨溫度變化而變化則比較明顯,它所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的輸入脈沖。溫度寄存器與計(jì)數(shù)器1被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。當(dāng)溫度傳感器開(kāi)始工作時(shí),計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1中預(yù)先設(shè)定的基數(shù)值減為0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的基數(shù)值將重新被裝入。計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán),直到計(jì)數(shù)器2計(jì)數(shù)為0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的7數(shù)值即為所測(cè)目標(biāo)的溫度。預(yù)置計(jì)數(shù)器1預(yù)置等于0等于0圖3-1DS18B20測(cè)溫原理框圖DS18B20的核心是一個(gè)數(shù)字化的傳感器,可以把-55℃~+125℃的溫度值轉(zhuǎn)換成數(shù)字量。DS18B20上電后默認(rèn)的分辨率是12位,當(dāng)DS18B20接收到總線(xiàn)上單片機(jī)發(fā)來(lái)的溫度轉(zhuǎn)換命令(44H)后,DS18B20就開(kāi)始進(jìn)行溫度的轉(zhuǎn)換。以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位8]。如下圖3-2所示。MSbSSSSSMSb圖3-212位分辨率溫度值存儲(chǔ)格式圖3-2是轉(zhuǎn)化后得到的數(shù)據(jù),存儲(chǔ)在RAM的兩個(gè)字節(jié)中,這16位中的前面5位是符號(hào)位,如果測(cè)得的溫度是正值,則這5位為0,此時(shí)只要將內(nèi)存中的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度為負(fù),那么這5位為1,那么此時(shí)只需要將內(nèi)存中的數(shù)值取反加1再乘于0.0625即可得到實(shí)8際溫度。如+85℃的數(shù)字輸出0550H,+10.125℃的數(shù)字輸出為00A2H,-0.5℃的數(shù)字輸出為FF5EH。最后CPU向DS18B20讀取溫度并進(jìn)行分析處理。表3-1給出了部分溫度與數(shù)字輸出對(duì)應(yīng)關(guān)系表3-1部分溫度與數(shù)字輸出對(duì)應(yīng)關(guān)系溫度數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)00000111110100000000010101010000+25.0625℃0000000110010001+10.125℃0000000010100010-0.5℃FF5EH-25.0625℃FE6FH9第4章主要芯片及技術(shù)介紹4.1AT89S52單片機(jī)介紹AT89S52單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的一個(gè)低功耗,高性能CMOS8位微控制器。該器件采用片機(jī)可為用戶(hù)提供許多較復(fù)雜的應(yīng)用控制場(chǎng)合解決方案。4.1.1主要功能特性(2)1000次擦寫(xiě)周期(3)8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器(4)全靜態(tài)操作:0Hz~33Hz(5)三個(gè)16位定時(shí)/計(jì)數(shù)器(6)掉電標(biāo)識(shí)符(7)三級(jí)加密程序存儲(chǔ)器(8)8個(gè)中斷源(9)掉電話(huà)中斷可喚醒(10)低功耗空閑和掉電模式(11)全雙工UART串行通道(12)看門(mén)狗定時(shí)器(13)雙數(shù)據(jù)指針(14)32個(gè)可編程I/0口線(xiàn)4.1.2各引腳功能及管腳電壓AT89S52芯片有40條引腳,雙列直插式封裝引腳圖如圖4-1所示。VCC(40):電源GND(20):接地XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。圖4-1AT89S52引腳圖PO口:PO口是一組8位漏極開(kāi)路型雙向I/0口,也即地址/數(shù)據(jù)總線(xiàn)復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口PO寫(xiě)“1”時(shí),可作為高阻抗輸入端用。PO口具有內(nèi)部上拉電阻。在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線(xiàn)分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線(xiàn)復(fù)用,在訪(fǎng)問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),PO口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/0口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(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),具體如表4-1所示。在Flash編程和程序校驗(yàn)時(shí),P1口接收低8位地址。P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏表4-1P1.0和P1.1的第二功能引腳號(hào)第二功能P1.0T2(定時(shí)/計(jì)數(shù)器T2外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)器T2捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)對(duì)端口P2寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪(fǎng)問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。在Flash編程或校驗(yàn)時(shí),P2也接收高位地址和一些控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/0口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3口寫(xiě)入“1”時(shí),內(nèi)部上拉電阻拉高,此時(shí)可以作為輸入端口。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如表4-2所示。表4-2P3口第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO(外中斷0)P3.3INT1(外中斷1)P3.4TO(定時(shí)/計(jì)數(shù)器0外部輸入)P3.5T1(定時(shí)/計(jì)數(shù)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)在falsh編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。RST:復(fù)位輸入。在晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T(mén)狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪(fǎng)問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。一般情況下,ALE以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),可用來(lái)作為外部定時(shí)器或始終使用,然而,特別強(qiáng)調(diào),在每次訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將跳過(guò)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的第0位置位,可禁止ALE操作。使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。PSEN:外部程序存儲(chǔ)器選通信號(hào)是外部程序存儲(chǔ)器選通信號(hào),當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。在AT89S52中,定時(shí)器0和定時(shí)器1的操作與AT89S51和AT89C52一樣。定時(shí)器2是一個(gè)16位的定時(shí)/計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,又可以做外部事件計(jì)數(shù)器,其工作方式由特殊功能寄存器T2CON的C/T2位選擇。定時(shí)器2有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))和波特率發(fā)生器,工作模式由T2CON的相關(guān)位選擇。定時(shí)器2有兩個(gè)8位寄存器TH2和TL2組成,在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2寄存器都會(huì)加1,由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)速率為振蕩頻率的1/12。在計(jì)數(shù)工作方式時(shí),當(dāng)T2引腳上外部輸入信號(hào)產(chǎn)生由1至0的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)機(jī)器周期的5SP2期間,對(duì)外部輸入進(jìn)行采樣。若在第一個(gè)機(jī)器周期中采到的值為1,而在下一個(gè)機(jī)器周期中采到的值為0,則在緊跟著的下一個(gè)周期的S3P1期間寄存器加1。由于識(shí)別1至0的跳變需要2個(gè)機(jī)器周期(24個(gè)振蕩周期),因此,最高計(jì)數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個(gè)完整周期的時(shí)間,以保證輸入信號(hào)至少被采樣一次。2是一個(gè)16位定時(shí)器或計(jì)數(shù)器,計(jì)數(shù)溢出時(shí),對(duì)T2CON的溢出標(biāo)志TF2置位,同時(shí)激活中斷。如果EXEN2=1,定時(shí)器2完成相同的操作,而當(dāng)T2EX引腳外部輸入信號(hào)發(fā)生1至0負(fù)跳變時(shí),也出現(xiàn)TH2定時(shí)器0和定時(shí)器1的標(biāo)志位TFO和TF1在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢(xún)到該中斷標(biāo)志。然而,定時(shí)器2的標(biāo)志位TF2在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢(xún)到該標(biāo)志。數(shù)據(jù)查詢(xún):AT89S52單片機(jī)用DataPalling表示一個(gè)寫(xiě)周期結(jié)束為特征,在一個(gè)寫(xiě)周期中,如需讀取最后寫(xiě)入的一個(gè)字節(jié),則出的數(shù)據(jù)的最高位(P0.7)是原來(lái)寫(xiě)入字節(jié)最高位的反碼。寫(xiě)周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進(jìn)入下一個(gè)字節(jié)的寫(xiě)周期,寫(xiě)周期開(kāi)始后,DataPalling4.21-WIRE總線(xiàn)技術(shù)4.2.1單總線(xiàn)技術(shù)概述線(xiàn)是兩線(xiàn)方式通信的(一條數(shù)據(jù)線(xiàn),一條時(shí)鐘線(xiàn)),SPI總線(xiàn)則是三線(xiàn)方式進(jìn)行通信的(一條數(shù)據(jù)一條時(shí)鐘線(xiàn)),以上兩種都是以同步串行的方式。而SCI總線(xiàn)則是以異步方式。這些總線(xiàn)至少需要有兩條或兩條以上的信號(hào)線(xiàn)。近年來(lái)DALLAS半導(dǎo)體公司推出了單總線(xiàn)(1-WireBus)技術(shù),與目前多數(shù)標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式不同,它采用單根信號(hào)線(xiàn),且數(shù)據(jù)傳輸是雙向的。具有節(jié)省I/0口線(xiàn)資源,結(jié)構(gòu)簡(jiǎn)單,成本低廉,便于總線(xiàn)擴(kuò)展和維護(hù)等優(yōu)點(diǎn)l?。4.2.2單總線(xiàn)接口的硬件結(jié)構(gòu)單總線(xiàn)只有一根數(shù)據(jù)線(xiàn)。系統(tǒng)中的數(shù)據(jù)交換、控制都在這根線(xiàn)上完成。任何單總線(xiàn)系統(tǒng)都包括一臺(tái)主機(jī)和一個(gè)或多個(gè)從機(jī)。個(gè)別器件可以通過(guò)總線(xiàn)獲得工作電源,當(dāng)數(shù)據(jù)線(xiàn)為高電平時(shí),電荷存儲(chǔ)在器件內(nèi)部;當(dāng)數(shù)據(jù)為低電平時(shí),器件通過(guò)這些電荷來(lái)提供能量。設(shè)備(主機(jī)或從機(jī))通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口連至該數(shù)據(jù)線(xiàn),這樣允許設(shè)備不發(fā)送數(shù)據(jù)時(shí)釋放總線(xiàn),以便其他設(shè)備使用總線(xiàn),其內(nèi)部等效電路,如圖4-2所示。VPU微處理器強(qiáng)上拉DQRX-RXMOSFETRX=接收?qǐng)D4-2單總線(xiàn)的硬件接口示意圖4.2.3單總線(xiàn)芯片序列號(hào)單總線(xiàn)一個(gè)基本的特色就是每一個(gè)芯片都有一個(gè)唯一的序列號(hào),任何兩個(gè)單總線(xiàn)設(shè)備的序列號(hào)都不會(huì)重復(fù)。當(dāng)一條總線(xiàn)上有多個(gè)單總線(xiàn)設(shè)備時(shí),系統(tǒng)主機(jī)可以通過(guò)不同的序列號(hào)來(lái)識(shí)別總線(xiàn)上掛單總線(xiàn)設(shè)備的序列號(hào)共有64位8個(gè)字節(jié),其中第一個(gè)字節(jié)表示器件的家族碼,如數(shù)字溫度傳感器DS18B20的家族碼是28H;中間六個(gè)字節(jié)表示的是器件的序列號(hào);序列號(hào)最后8位表示的是前面56位的CRC檢驗(yàn)碼,通過(guò)檢驗(yàn)讀出的這64位數(shù)字的CRC檢驗(yàn)結(jié)果,即可保證數(shù)據(jù)通信的正確性半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器。它在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面也有很大的改進(jìn)。下面將分別介紹其功能特點(diǎn),內(nèi)部結(jié)構(gòu)和使用方法。(1)在寄生電源方式下可從數(shù)據(jù)線(xiàn)上汲取能量,且能夠適應(yīng)3.0~5.5V的電壓。(2)在與微處理器連接時(shí)僅需要一根I/0線(xiàn)。(3)在單總線(xiàn)上可以?huà)於鄠€(gè)DS18B20。(4)全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi),沒(méi)有外圍電路。(5)測(cè)溫范圍為-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃。(6)溫度分辨率可設(shè)置9~12位。最高精度可達(dá)到0.0625℃。電源檢測(cè)(7)將溫度轉(zhuǎn)換為數(shù)字的速度更快。電源檢測(cè)(8)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線(xiàn)總線(xiàn)”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(9)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作?]。DS18B20的引腳排列如圖4-3所示,它具有3腳PR35封裝和8腳SOIC封裝兩種封裝模式。采為外接供電電源輸入端;采用8腳SOIC封裝時(shí),1、2、6、7、8腳懸空,3腳接外部電源,4腳為數(shù)字信號(hào)輸入輸出端,5腳接地。8-PINSOIC(150mil)圖4-3DS18B20外形結(jié)構(gòu)圖DS18B20內(nèi)部結(jié)構(gòu)如圖4-4所示。其主要由4部分組成:溫度傳感器、64位光刻ROM、非易失性的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。64位ROM用于數(shù)據(jù)校驗(yàn),溫度傳感器是DS18B20的內(nèi)部測(cè)溫設(shè)備,溫度報(bào)警觸發(fā)器用來(lái)設(shè)置溫度報(bào)警的上下值,配置寄存器用來(lái)設(shè)置使用DS18B20時(shí)的工作方式及溫度的分辨率。存儲(chǔ)器和控制器和單線(xiàn)接口和單線(xiàn)接口緩存寄存器高溫觸發(fā)器TH配置寄存器圖4-4DS18B20內(nèi)部結(jié)構(gòu)圖ROM中的64位序列碼是出廠(chǎng)前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列碼均不相同,開(kāi)始8位是單線(xiàn)產(chǎn)品系列編碼(DS18B20的編碼是28H,DS1820的編碼是10H),同一型號(hào)的單總線(xiàn)器件的編碼相同。接著的48位是該DS18B20唯一的序列號(hào),最后8位是前面56位的循環(huán)冗余檢驗(yàn)碼。DS18B20的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存(RAM)和一個(gè)非配置寄存器的格式如下表4-3所示。表4-3配置寄存器格式011111在配置寄存器中首位為T(mén)M(測(cè)試模式位),用來(lái)設(shè)置DS18B20是處于工作模式還是測(cè)試模式。R1與RO用來(lái)設(shè)置分辨率,如下表4-4示。表4-4溫度分辨率設(shè)置表溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間/ms0090110114.3.3DS18B20的使用方法由于單片機(jī)與DS18B20只需要一根I/0線(xiàn)即可通訊,那么對(duì)數(shù)據(jù)的讀寫(xiě)操作必然會(huì)有嚴(yán)格的要求。DS18B20嚴(yán)格的通信協(xié)議確保了數(shù)據(jù)的正常傳輸,該協(xié)議規(guī)定了以下幾種操作時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。每一次對(duì)DS18B20的操作都需要主機(jī)重新對(duì)其復(fù)位,例如在初始化DS18B20后執(zhí)行了寫(xiě)操作,此時(shí)若想從DS18B20中讀取出數(shù)據(jù),那么主機(jī)需要再次對(duì)芯片進(jìn)行初始化操作。DS18B20的數(shù)據(jù)與命令的傳輸都是低位在前22。(1)初始化時(shí)序基于單總線(xiàn)的所有傳輸過(guò)程都是以初始化開(kāi)始的,故對(duì)單總線(xiàn)器件的初始化操作尤其重要。初始化時(shí)序如圖3-7所示,脈沖使單片機(jī)知道,總線(xiàn)上有1-wire設(shè)備,且準(zhǔn)備就緒。初始化過(guò)程如下:主機(jī)通過(guò)拉低總線(xiàn)480us以上,產(chǎn)生復(fù)位脈沖,然后釋放總線(xiàn)。主機(jī)釋放總線(xiàn)時(shí),會(huì)產(chǎn)生一個(gè)上升沿。單總線(xiàn)器件檢測(cè)到上升沿后,延時(shí)15-60us,通過(guò)拉低總線(xiàn)60-240us來(lái)產(chǎn)生應(yīng)答脈沖。主機(jī)接收到從機(jī)的應(yīng)答脈沖,說(shuō)明單總線(xiàn)器件在線(xiàn)。“resetpulse”480usminimum960usmaximumVCCMasterRx480usminimumDS18B20Tx“Presencepulse”DS18B20 BusmasteractivelowDBothbusmasterandDS18B20activelowBothbusmasterand圖4-5初始化命令時(shí)序圖(2)DS18B20的讀時(shí)序DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程,其讀時(shí)序如圖4-6所示。當(dāng)微處理器開(kāi)始讀DS18B20中的數(shù)據(jù)時(shí),微處理器就把總線(xiàn)拉低,在將總線(xiàn)拉低至少15us后開(kāi)始釋放總線(xiàn),以便讓微處理器在隨后至少45us的時(shí)間內(nèi)對(duì)總線(xiàn)上的數(shù)據(jù)進(jìn)行采樣,若總線(xiàn)上為高電平讀出DS18B20中的數(shù)據(jù)為“0”,若為高電平則讀出的數(shù)據(jù)為“1”。由此可見(jiàn)每一位的讀時(shí)序至少需要60us才圖4-6DS18B20的讀時(shí)序3、DS18B20的寫(xiě)時(shí)序DS18B20的寫(xiě)時(shí)序分為寫(xiě)1時(shí)序和寫(xiě)0時(shí)序,其寫(xiě)時(shí)序如圖4-7所示2324。MASTERWRITE“0”SLOT1us<tRECMASTERWRITE“1”SLOTGND.DS18B20SAMPLES圖4-7DS18B20的寫(xiě)時(shí)序>lusDS18B20SAMPLES從圖中可以看出DS18B20的寫(xiě)時(shí)序至少為60us,而且在寫(xiě)0與寫(xiě)1時(shí)序上有些不同。當(dāng)寫(xiě)周期開(kāi)始時(shí),主機(jī)把總線(xiàn)拉低lus表示寫(xiě)周期開(kāi)始。當(dāng)要寫(xiě)0時(shí),總線(xiàn)則繼續(xù)被拉低到至寫(xiě)周期結(jié)束;當(dāng)要寫(xiě)1時(shí)序時(shí),單總線(xiàn)被拉低lus之后便可釋放總線(xiàn),主機(jī)將在隨后的時(shí)間內(nèi)對(duì)總線(xiàn)進(jìn)行采樣,若總線(xiàn)維持高電平,則向DS18B20寫(xiě)入1。第5章溫度檢測(cè)系統(tǒng)的硬件設(shè)計(jì)5.1系統(tǒng)總體構(gòu)成本系統(tǒng)通過(guò)溫度傳感器將現(xiàn)場(chǎng)溫度傳至單片機(jī),并將采集到的溫度與用戶(hù)設(shè)定的目標(biāo)溫度,進(jìn)行比較是否超越極限以此控制蜂鳴器自動(dòng)報(bào)警,從而達(dá)到檢測(cè)溫度的目的,其主要由溫度采集模塊、LED顯示模塊、鍵盤(pán)輸入模塊以及報(bào)警模塊等組成。系統(tǒng)硬件結(jié)構(gòu)框圖如圖5-1所示。LED顯LED顯示器單片機(jī)鍵盤(pán)報(bào)警電路鍵盤(pán)圖5-1系統(tǒng)硬件框圖5.2單片機(jī)復(fù)位電路5.2.1常用的兩種復(fù)位電路單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,復(fù)位的目的以使單片機(jī)從初態(tài)開(kāi)始工作。并且這個(gè)初始狀態(tài)是可預(yù)知的狀態(tài),AT89S52單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入的,當(dāng)單片機(jī)在正常工作狀態(tài)時(shí),如果RST引腳上出現(xiàn)一個(gè)高電平并維持至少2個(gè)機(jī)器周期,那么單片機(jī)將響應(yīng)復(fù)位信號(hào)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有兩種:按鍵復(fù)位和上電復(fù)位。按鈕復(fù)位需要人為在復(fù)位輸入端RST加上高電平。本設(shè)計(jì)采用的是是在RST端和正電源Vcc之間接一個(gè)按鈕,并接一個(gè)10K的電阻來(lái)分壓。當(dāng)按下按鍵后,Vcc的+5V電壓就會(huì)直接加到RST端。按鈕復(fù)位的電路如圖5-2所示。由于人按鍵時(shí)的動(dòng)作比較緩慢,可以滿(mǎn)足兩個(gè)機(jī)器周期的要求,所以,完全能夠?qū)崿F(xiàn)單片機(jī)的復(fù)位。圖5-2按鍵復(fù)位電路5.2.2單片機(jī)復(fù)位后的狀態(tài)系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使單片機(jī)回到默認(rèn)的初始狀態(tài)。S52單片機(jī)的復(fù)位也是由RESET引腳來(lái)控制的,此引腳與高電平相接達(dá)到2個(gè)機(jī)器周期以上,S52單片機(jī)自動(dòng)進(jìn)入復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳的電平變?yōu)榈碗娖胶?,再開(kāi)始檢查EA管腳的電平信號(hào),若為高電平則執(zhí)行單片機(jī)內(nèi)部的程序代碼,若為低電平則取執(zhí)行外部擴(kuò)展的程序。S52單片機(jī)復(fù)位后進(jìn)入初始化狀態(tài),其復(fù)位后寄存器的狀態(tài)見(jiàn)表5-1所示。表5-1復(fù)位后特殊功能寄存器狀態(tài)特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)ATMODBTCONPSWTH0TLOTH1TL1PO—P3FFH不定***00000B0***00000EPCON0******B上表說(shuō)明:表中符號(hào)*為隨機(jī)狀態(tài)。上表中A為00H,表明已被清零;PSW為00H,表明工作寄存器組為0組;SP為07H,表明堆棧指針指向片內(nèi)RAM地址為07單元的內(nèi)存,根據(jù)堆棧操作先入后出法則,第一個(gè)被推入到堆棧的數(shù)據(jù)存儲(chǔ)在地址單元為08H中。P0至P3中的數(shù)據(jù)為FFH,表明已向各端口置位,此時(shí)各端口既可用于輸入又可用于輸出;IP=***00000B,表明各個(gè)中斷源處于低優(yōu)先級(jí);IE=0***00000B,表明各個(gè)中斷均被關(guān)斷。另外復(fù)位后的21個(gè)特殊功能寄存器狀態(tài)為確定值。期中程序計(jì)數(shù)器PC為0000H,單片機(jī)復(fù)位后將從地址為0000H單元開(kāi)始執(zhí)行。單片機(jī)初次啟動(dòng)后,片內(nèi)RAM為隨機(jī)值。5.3時(shí)鐘電路時(shí)鐘電路跟復(fù)位電路一樣是單片機(jī)必須具備的電路,兩者構(gòu)成了單片機(jī)的最小系統(tǒng)。單片機(jī)內(nèi)部是由許多的邏輯器件組成的,這些邏輯器件彼此之間默契的配合需要按照嚴(yán)格的節(jié)拍來(lái)操作,這種節(jié)拍就是時(shí)序,單片機(jī)的時(shí)序可以由內(nèi)部時(shí)鐘提供或者由外部的晶振提供。而本設(shè)計(jì)的時(shí)鐘電路就可以為單片機(jī)的正常工作提供時(shí)序,若沒(méi)有時(shí)鐘電路,單片機(jī)就無(wú)法工作。在本設(shè)計(jì)中采用由外VCc部方式產(chǎn)生時(shí)鐘的方法形成時(shí)鐘電路,如圖5-3所示。VCcY1圖5-3時(shí)鐘電路5.4溫度采集電路本次設(shè)計(jì)所采用的溫度傳感器為dallas半導(dǎo)體公司的數(shù)字化溫度傳感器ds18b20,它是世界上第一片支持“一線(xiàn)總線(xiàn)”接口的溫度傳感器。“一線(xiàn)總線(xiàn)”體積更小,使用電壓更寬、更經(jīng)濟(jì)、全部傳感器元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路里。DS18B20可以程序設(shè)定9~12位的分辨率,可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在另一種則是用寄生電源供電。I/0口線(xiàn)要接5KΩ左右的上拉電阻。本設(shè)計(jì)采用的是后一種方法。如圖5-4所示,把DS18B20的數(shù)據(jù)線(xiàn)與單片機(jī)的P2.7管腳相連,再加上上拉電阻]。P1.5/MOSIP1.6/MISO,P1.7/SCK,REST,P3.0/RXD,P3.1/TXD,P3.2/INTO,P3.3/INTIXTAL2XTAL1GNDAT89S52VCCP0.0P0.4 P0.6 EAVPPALE/PROGpSENP2.6P2.5P2.4P2.0P1.0P1.2P1.3P1.4DS18B20U3R1圖5-4溫度測(cè)量電路單片機(jī)I/0的應(yīng)用最典型的就是通過(guò)I/0口與LED數(shù)碼管構(gòu)成顯示電路,本設(shè)計(jì)LED顯示模塊電路如下圖5-5所示。PNPAT89S52P0.0P0.2P0.3P0.7EANPPALE/PROGPSENP2.5P2.2P2.1P2.0P1.1P1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKp3,0/RXDP3.1/TXDP3.2/INTOP3.3/INTIP3.7/RDAL2XTAL1GNDapdpPNPPNPPNPU1408圖5-5LED顯示電路此設(shè)計(jì)選擇了蜂鳴器,因?yàn)楸绕饟P(yáng)聲器來(lái)使用起來(lái)更簡(jiǎn)單,只要按照極性要求加上合適的直流電壓,就可以使蜂鳴器發(fā)出聲音。當(dāng)溫度高于或者低于用戶(hù)設(shè)定的溫度上下限時(shí)。蜂鳴器就發(fā)出聲音來(lái)形式提醒用戶(hù)溫度不在正常范圍內(nèi)。在本系統(tǒng)中我們?yōu)橛脩?hù)設(shè)計(jì)了越限報(bào)警,當(dāng)溫度低于用戶(hù)設(shè)置溫度下限或高于溫度上限時(shí),蜂鳴器發(fā)出連續(xù)不斷的滴滴答答的叫聲。當(dāng)單片機(jī)P2.3輸出高電平時(shí),三極管導(dǎo)通,蜂鳴器工作發(fā)出報(bào)警聲。報(bào)警及指示燈電路如下圖5-6所示。4040P3.0/RXDAT89S52VcCP0.0FAIVPPALE/PROGP2.7 P2.5 P2.3P3.1/TXDP3.2/INTOP3.6/WRP3.7/RDXTAL2XTAL1P1.5/MOSIP1.6/MISOP1.7/SCKU2BUZZERR2VCC民民VCCJ22D3圖5-6報(bào)警及指示燈電路圖當(dāng)溫度在設(shè)定的范圍內(nèi),綠燈亮;當(dāng)溫度低于下限溫度時(shí),黃燈亮,同時(shí),蜂鳴器報(bào)警;當(dāng)溫度高于上限溫度時(shí),紅燈亮,同時(shí),蜂鳴器報(bào)警。5.7鍵盤(pán)電路5.7.1鍵盤(pán)接口電路本系統(tǒng)有重新設(shè)定溫度上下限的功能,故會(huì)用到鍵盤(pán)來(lái)輸入。我設(shè)計(jì)了三個(gè)按鍵的鍵盤(pán)。通過(guò)按下不同的鍵可實(shí)現(xiàn)修改溫度上下限的功能。如圖5-7所示,用AT89S52單片機(jī)的P2口接三個(gè)鍵VCCVCCEAIVPPALE/PROGPSENAT89S52P1.7/SCKRESTP3.1/TXD_P3.2/INTOP3.6/WRP3.7/RDXTAL2圖5-7鍵盤(pán)電路5.7.2鍵盤(pán)使用說(shuō)明鍵盤(pán)有3個(gè)按鍵,用于設(shè)定溫度的上下限。對(duì)應(yīng)的按鍵的序號(hào)排列如圖5-8所示:進(jìn)入上下限設(shè)定模式進(jìn)入上下限設(shè)定模式增加溫度值按鈕KEY2降低溫度值按鈕P2.2KEY3KEY1P2.1P2.0圖5-8對(duì)應(yīng)的按鍵序號(hào)(1)按下KEY1鍵,進(jìn)入上線(xiàn)調(diào)節(jié)模式;再按下KEY1鍵,進(jìn)入下限調(diào)節(jié)模式;再按下KEY1鍵退出溫度上下限設(shè)定模式;(2)在設(shè)定溫度上線(xiàn)模式下,按下KEY2鍵,調(diào)大溫度上線(xiàn)值,按下KEY3鍵,調(diào)小上限值;(3)在設(shè)定溫度下限模式下,按下KEY2鍵,調(diào)大溫度下限值,按下KEY3鍵,調(diào)小下限值。5.8電源接口電路本系統(tǒng)采用外接5V電源的方式給系統(tǒng)供電,電源接口電路設(shè)計(jì)如圖5-9所示。圖5-9電源接口電路本電源接口電路的設(shè)計(jì),考慮到可能出現(xiàn)的意外而擴(kuò)展了多個(gè)電源與接地的接頭,當(dāng)外接電源時(shí),并通過(guò)100uF的電解電容與0.1uF的電容給電源濾波以提供穩(wěn)定的電流。第6章溫度檢測(cè)系統(tǒng)的軟件設(shè)計(jì)6.1系統(tǒng)軟件的整體設(shè)計(jì)系統(tǒng)軟件的整體設(shè)計(jì)如下圖6-1所示。開(kāi)始寫(xiě)入報(bào)警上下限值轉(zhuǎn)換、顯示按鍵處理程序按鍵掃描-N-是否超出上下限啟動(dòng)蜂鳴器結(jié)束圖6-1系統(tǒng)軟件總流程圖在軟件的開(kāi)發(fā)過(guò)程中,使用匯編語(yǔ)言的比較麻煩。當(dāng)程序出錯(cuò)時(shí)修改程序就比較惱。也就是因?yàn)樵谒目勺x性和可移植性較差,特別是當(dāng)程序沒(méi)有標(biāo)注注釋時(shí)候,代碼的可讀性就實(shí)在是低為了讀懂程序還要去分析數(shù)字在內(nèi)存中是怎么存取的。而使用C51可以很好的解決這些問(wèn)題,整個(gè)溫度檢測(cè)系統(tǒng)是在程序控制下工作的,該系統(tǒng)軟件全部采用C51語(yǔ)言編寫(xiě),以提高系統(tǒng)的可讀性和可移植性。整個(gè)軟件系統(tǒng)主要由以下幾個(gè)部分組成:主程序、溫度采集程序、LED顯示程序及報(bào)警程序。6.2系統(tǒng)的主程序系統(tǒng)開(kāi)始后先將設(shè)定的溫度的上下限寫(xiě)入DS18B20中,然后再?gòu)腄S18B20中讀取出當(dāng)前的溫度值通過(guò)LED數(shù)碼管顯示出來(lái),并與設(shè)定好的溫度報(bào)警值進(jìn)行比較,若達(dá)到報(bào)警界限,則啟動(dòng)蜂鳴器報(bào)警。同時(shí)對(duì)鍵盤(pán)進(jìn)行掃描,有按鍵按下則響應(yīng)按鍵處理程序。voidmain(){ucharp=5;store_t(shangxian,xiaxian)readtemp(1);{keyscan();if(i==1){disp_alarm(shangxian);if(p--==0){readtemp(1)p=5;}alarm();if(i==2){disp_alarm(xiaxian)if(p--==0)if(m==1){if(p--==0){readtemp(1)p=5;}display();在主函數(shù)中對(duì)按鍵的處理是個(gè)難點(diǎn),系統(tǒng)能夠通過(guò)識(shí)別按鍵從而去執(zhí)行不同的程序,這部分我是設(shè)計(jì)思路是:按一下溫度上下限設(shè)置按鈕,就對(duì)設(shè)定的變量賦一次值,在主函數(shù)中通過(guò)對(duì)變量值的判斷,從而決定執(zhí)行不同的程序。可以看到在主函數(shù)中是通過(guò)if語(yǔ)句來(lái)判斷變量i與m的值實(shí)現(xiàn)的,在不同的if語(yǔ)句體中分別去執(zhí)行上限的設(shè)定、下限的設(shè)定以及退出閥值設(shè)定。6.3溫度采集程序?qū)S18B20來(lái)講,芯片與單片機(jī)接口的硬件設(shè)計(jì)本身并不復(fù)雜。而其復(fù)雜的是對(duì)程序的要求,尤其是對(duì)時(shí)序的控制。前面章節(jié)以對(duì)DS18B20的時(shí)序做了詳細(xì)的介紹,現(xiàn)不做多講。此處介紹如何通過(guò)程序來(lái)對(duì)DS18B20進(jìn)行溫度的讀取。DS18B20在程序的編寫(xiě)上有兩個(gè)難點(diǎn)。一是對(duì)DS18B20的初始化,一下是對(duì)DS18B20進(jìn)行初始化的程序。voidds18b20_init(){ucharx=0;DQ=1;delay1(8);//稍做延時(shí)DQ=0;delay1(80);//精確延時(shí)大于480usDQ=1;//拉高總線(xiàn)x=DQ;delay1(20);}從以上程序可以看到,主機(jī)首先發(fā)出一個(gè)480—960的低電平脈沖,然后釋放總線(xiàn)為高電平,并在隨后的480微妙內(nèi)對(duì)總線(xiàn)進(jìn)行檢測(cè),如果有高電平出現(xiàn)說(shuō)明總線(xiàn)上有器件做出應(yīng)答,DS18B20以做好準(zhǔn)備,若無(wú)低電平出現(xiàn)則說(shuō)明總線(xiàn)上無(wú)器件應(yīng)答。DS18B20收到低電平后,在總線(xiàn)轉(zhuǎn)為高電平后等待15—60微妙后將總線(xiàn)拉低60—240微妙做出響應(yīng)脈沖,告訴單片機(jī)已做好準(zhǔn)備。其次是對(duì)DS18B20的讀寫(xiě),讀寫(xiě)也有嚴(yán)格的時(shí)序要求,見(jiàn)圖4-6及4-7。以讀一個(gè)字節(jié)為例,DS18B20的讀時(shí)序是從單片機(jī)把單總線(xiàn)拉低lus后,釋放總線(xiàn),以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上來(lái)。DS18B20在檢測(cè)到總線(xiàn)被拉低lus之后便開(kāi)始傳送數(shù)據(jù),若是送出0,就一直把總線(xiàn)拉低到讀周期結(jié)束。若是送1則釋放總線(xiàn)為高電平。單片機(jī)在一開(kāi)始拉低lus之后釋放總線(xiàn),然后在包括前面的拉低總線(xiàn)電平lus在內(nèi)的15us內(nèi)完成對(duì)總線(xiàn)進(jìn)行采樣檢測(cè),采樣期內(nèi)總線(xiàn)為低電平則讀出0;為高電平,則讀出1。其讀一個(gè)字節(jié)的程序如下:uchards18b20_read(void){uchari=0;uchardat=0;for(i=8;i>0;i--){DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay1(4);}return(dat)}綜上所述,溫度采集函數(shù)的部分程序如下:voidreadtemp(bitf){uchara=0,b=0,i=0;ds18b20_write(OxCC);ds18b20write(0x44);ds18b20init();ds18b20_write(OxCC);ds18b20write(OxBE);a=ds18b20_read()b=ds18b20read()本設(shè)計(jì)采用4位共陽(yáng)LED動(dòng)態(tài)顯示方式,顯示內(nèi)容有溫度值的十位、個(gè)位及小數(shù)點(diǎn)后兩位。用PO口作為段控碼輸出,P1.0—P1.3作為位控碼輸出,用PNP型三極管做驅(qū)動(dòng)。工作原理:利用DS18B20所測(cè)量到的溫度經(jīng)過(guò)轉(zhuǎn)換,再將轉(zhuǎn)換出來(lái)的溫度通過(guò)單片機(jī)的PO口送出,從而使LED數(shù)碼管內(nèi)部的二極管發(fā)光,使我們能看到清晰的溫度值。其程序如下:voiddisplay()uchartemp;floatbackbit;backbit=temper[0];//換成浮點(diǎn)數(shù)backbit=backbit*6.25;//乘以0.0625*100temp=backbit;//取低2位整數(shù)部分dispbuf[3]=temp%10;dispbuf[2]=temp/10;temp=temper[1]//取整數(shù)部分dispbuf[1]=temp%10;dispbuf[0]=temp/10;PO=0xfe;delay(2);PO=0xff;P1=tablel[dispbuf[1PO=0xfd;delay(2);PO=0xff;delay(2);PO=0xff;PO=0xff;第7章系統(tǒng)軟件的匯編與調(diào)試Proteus軟件是英國(guó)Labcenterelectronics公司開(kāi)發(fā)的類(lèi)似EDA開(kāi)發(fā)工具的軟件,具有一般EDA開(kāi)發(fā)軟件一樣的功能。比如說(shuō)原理圖的繪制、PCB的制作等等。但是它創(chuàng)新的地方是電路仿真是互動(dòng)的。針對(duì)單片機(jī)的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試。Proteus軟件所提供的儀表資源,對(duì)于一個(gè)仿真軟件或?qū)嶒?yàn)室,測(cè)試的儀器儀表的數(shù)量、類(lèi)型和質(zhì)量,是衡量實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。Proteus軟件提供了比較豐富的測(cè)試信號(hào)用Proteus有其獨(dú)特的特點(diǎn),最方便的就是能夠?qū)纹瑱C(jī)進(jìn)行仿真,在此基礎(chǔ)上還可以加上外圍電路。因此本設(shè)計(jì)采用proteus軟件來(lái)仿真,正是基于它的仿真功能的強(qiáng)大,在畫(huà)原理圖時(shí),可以簡(jiǎn)化的畫(huà)出所設(shè)計(jì)的電路,像電阻等有些元器件可以不用在仿真圖中畫(huà)出來(lái),而且各元件的電路參數(shù)也可以不必標(biāo)準(zhǔn)的設(shè)定,只要原理正確仿真就可以實(shí)現(xiàn)。針對(duì)本系統(tǒng)的設(shè)計(jì),在啟動(dòng)proteus的ISIS程序后,進(jìn)入該仿真軟件的主界面。進(jìn)入該界面后就要開(kāi)始添加所要用到的仿真器件,并按照設(shè)計(jì)的原理圖連接好電路,連接好后的仿真電路圖如圖7-1所示。CALEEAPPP2KeiluVision2IDE是一種C語(yǔ)言開(kāi)發(fā)軟件,它與匯編語(yǔ)言相比,其在結(jié)構(gòu)、可讀性及功能上都要強(qiáng)大的多。它與51系列單片機(jī)兼容,并且在程序的可維護(hù)性上及可移植性上有著明顯的優(yōu)勢(shì),所以簡(jiǎn)單易學(xué)。使用過(guò)匯編語(yǔ)言的程序員或者開(kāi)發(fā)者,在接觸該軟件時(shí)會(huì)明顯的感覺(jué)到使用Keil的強(qiáng)大。KeiluVision2IDE軟件是一種類(lèi)似windows的操作界面。它提供了豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具。最方便的一點(diǎn)是,寫(xiě)好程序開(kāi)始用軟件編譯時(shí),在界面的下方可以看到編譯后生成的匯編代碼,并能夠從中找到程序出錯(cuò)的地方。而且KeilC51生成下載文件的效率非常之高,而且容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。在打開(kāi)Keil主界面后,首先要建立一個(gè)工程,新建工程界面如下圖7-2所示:CPUVendor:AtmelAT89LS8252AT89LV51AT89S4D12AT89S51AT89S53AT89S8252AT89S8253AT8xC5122AT91F40418廠(chǎng)UseExtendedLinkerLX51)insteadofBL51FwsetutendidAssenbler0Xs1)insteadofWatchdogTimer,2DPTRs,√>確定取消圖7-2新建工程界面建工程時(shí)要選擇系統(tǒng)所用的單片機(jī),當(dāng)建立好工程后,就要新建文本并向其中寫(xiě)入程序。本設(shè)計(jì)程序采用C語(yǔ)言來(lái)編寫(xiě),因?yàn)镃語(yǔ)言是一種較高級(jí)的語(yǔ)言,它的可讀性,可修改性都強(qiáng)的多,當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),也方便查找出錯(cuò)的地方,自己對(duì)C語(yǔ)言也比較熟悉。當(dāng)建好文檔并寫(xiě)好程序后,就要對(duì)程序進(jìn)行編譯,通過(guò)編譯來(lái)檢查程序出現(xiàn)的錯(cuò)誤,將出現(xiàn)錯(cuò)誤的地方進(jìn)行改正,直到編譯通過(guò)為止,通過(guò)編譯,編譯正常時(shí)的窗口如下圖7-3所示。WindowOutputWindowOutputcompilingDS18B20.c...DS18B20.c-0Error(s),0Warning(s)圖7-3編譯正常時(shí)的窗口當(dāng)程序編譯成功后,點(diǎn)擊Optionsfortarget后再點(diǎn)擊Output進(jìn)入以下界面,再點(diǎn)擊GreateOptionsforTargetTarget1electFolderforObjects.NameofExecutable:ds18b20surplyCreateExecutable:.\ds18b20surply√Debug√DebugInformatioNBrogseI√CreateHEXFi.HEXHEX-80確定取消Defaults圖7-4設(shè)置生成HEX文件界面7.3仿真結(jié)果分析當(dāng)生成HEX文件后,就需要將HEX文件下載到仿真器件單片機(jī)中,然后在Proteus中對(duì)所設(shè)計(jì)的電路進(jìn)行仿真,看能不能實(shí)現(xiàn)設(shè)計(jì)預(yù)期的所有功能。該軟件仿若能夠?qū)崿F(xiàn)溫度正常顯示,并且當(dāng)人為的改變溫度傳感器DS18B20的溫度時(shí),在4位數(shù)碼管上能夠看得到這種變化。這一部分實(shí)現(xiàn)了后,還要看設(shè)計(jì)的按鍵是否能實(shí)現(xiàn)自己的功能,并且還要看當(dāng)溫度不在設(shè)定的范圍內(nèi)時(shí),蜂鳴器是否報(bào)警。這三部分的仿真要一一實(shí)現(xiàn),否則,還要繼續(xù)對(duì)程序進(jìn)行修改。通過(guò)以上分析,可以確定本設(shè)計(jì)仿真有四個(gè)目標(biāo)。一是分別看當(dāng)溫度高于、低于或者在設(shè)定的溫度范圍內(nèi)時(shí),系統(tǒng)的反應(yīng);二是看鍵盤(pán)功能是否實(shí)現(xiàn);三是檢查報(bào)警系統(tǒng),蜂鳴器是否工作;四是要對(duì)程序進(jìn)行驗(yàn)證,看能否實(shí)現(xiàn)預(yù)期的功能。下面首先來(lái)對(duì)第一個(gè)目標(biāo)進(jìn)行驗(yàn)證。通過(guò)改變DS18B20的溫度來(lái)觀察數(shù)碼管的能不能正常顯示,以及當(dāng)溫度高于或者低于預(yù)先設(shè)置的溫度范圍時(shí),蜂鳴器能不能報(bào)警,以此來(lái)判定第一個(gè)目標(biāo)能不以下是對(duì)第一個(gè)目標(biāo)仿真的情況,當(dāng)設(shè)置DS18B20的溫度在正常溫度范圍內(nèi)時(shí),仿真情況如下圖7-5所示。圖7-5系統(tǒng)溫度正常情況改變DS18B20的溫度,讓其低于預(yù)設(shè)的溫度下限時(shí),仿真情況如下圖7-6所示。圖7-6系統(tǒng)溫度低于15℃6p6poo.圖7-7系統(tǒng)溫度高于25℃然后再對(duì)第二個(gè)目標(biāo)進(jìn)行仿真,通過(guò)測(cè)試按鍵,看能不能起到重新設(shè)置上下限的功能。按鍵仿真圖見(jiàn)圖7-8所示。PSEIALEEAPP2/PP9RXD9TXD4/TBR/RB圖7-8設(shè)置溫度上限圖說(shuō)明:圖7-5是系統(tǒng)溫度正常情況下的仿真圖,此時(shí),中間綠色的發(fā)光二極管亮,蜂鳴器不報(bào)圖7-6是系統(tǒng)溫度低于預(yù)設(shè)溫度15℃情況下的仿真圖,此時(shí),左邊黃色的發(fā)光二極管亮,蜂鳴圖7-7是系統(tǒng)溫度高于預(yù)設(shè)溫度25℃情況下的仿真圖,此時(shí),右邊紅色的發(fā)光二極管亮,蜂鳴通過(guò)以上仿真圖可以看出,本次仿真的第一個(gè)目標(biāo)與第二個(gè)目標(biāo)能夠?qū)崿F(xiàn),并且當(dāng)溫度超限時(shí)蜂鳴器也能夠報(bào)警,因此第三個(gè)目標(biāo)也能夠?qū)崿F(xiàn)。當(dāng)前三個(gè)目標(biāo)都能夠?qū)崿F(xiàn)時(shí),說(shuō)明程序能夠的編寫(xiě)不存在大的問(wèn)題,所要實(shí)現(xiàn)的功能在程序上是沒(méi)問(wèn)題的,故第四個(gè)目標(biāo)也能夠?qū)崿F(xiàn)。四個(gè)目標(biāo)在仿真上都實(shí)現(xiàn)了,說(shuō)明了設(shè)計(jì)的電路是可行的,接著就需要開(kāi)始進(jìn)行制版了。7.4硬件焊接及系統(tǒng)調(diào)試在本次設(shè)計(jì)中,從設(shè)計(jì)的開(kāi)始到結(jié)束這段歷程中,遇到了許多的困難,碰到的問(wèn)題有些看起來(lái)很簡(jiǎn)單,但做起來(lái)卻特別難?,F(xiàn)對(duì)我在這個(gè)過(guò)程中遇到的問(wèn)題總結(jié)如下。當(dāng)我開(kāi)始制版子時(shí),由于是第一次用熱轉(zhuǎn)印機(jī),許多地方不理解,弄起來(lái)大費(fèi)周章,浪費(fèi)了不少的時(shí)間。第一次轉(zhuǎn)印時(shí),由于轉(zhuǎn)印時(shí)的溫度設(shè)的比較低,第一次轉(zhuǎn)印時(shí)沒(méi)轉(zhuǎn)印上,當(dāng)再次轉(zhuǎn)印時(shí)溫度調(diào)到了150℃,這次才轉(zhuǎn)印成功。板子制好后在對(duì)照著原理圖對(duì)號(hào)入座比劃元器件時(shí),我發(fā)現(xiàn)了一個(gè)嚴(yán)重的問(wèn)題。那就是一個(gè)元件插不進(jìn)去,封裝弄錯(cuò)了這可是個(gè)嚴(yán)重的錯(cuò)誤,這讓我深刻的體會(huì)到了在制作PCB時(shí)一定要比照著元件的實(shí)際大小來(lái)確定元件究竟該用什么封裝。在焊板子的時(shí)候,發(fā)現(xiàn)板子很不上錫,分析了下原因發(fā)現(xiàn),除了自己的手工不好外,板子的質(zhì)量也是個(gè)問(wèn)題,在實(shí)驗(yàn)中心領(lǐng)的板子跟他們買(mǎi)回來(lái)的板子比較質(zhì)量確實(shí)不好,因此不好焊。當(dāng)我把板子焊了一部分之后,我好奇的把單片機(jī)插在了底座上,結(jié)果插上就取不下來(lái)了,好不容易取下來(lái)了結(jié)果還把單片機(jī)的40引腳給撤掉了。這個(gè)說(shuō)明了我在選擇器件時(shí)思考的不周密,現(xiàn)在想來(lái)應(yīng)該用那種活動(dòng)式壓的底座。當(dāng)我把全部器件都焊好了后,當(dāng)我興奮的給板子上電時(shí)卻發(fā)現(xiàn),一點(diǎn)反應(yīng)都沒(méi)有。這個(gè)問(wèn)題是硬件調(diào)試的關(guān)鍵問(wèn)題,弄了很久。為了解決這個(gè)問(wèn)題,首先我把單片機(jī)取下來(lái)確認(rèn)程序是否真的下載成功。我檢查好程序后再一次重新給單片機(jī)下載程序,并在開(kāi)發(fā)板上試驗(yàn)是否下載好了,這步檢查了之后我再次調(diào)試我的板子,板子還是沒(méi)有反應(yīng)。我又檢查焊接的問(wèn)題,用萬(wàn)用表逐筆的測(cè)試電路,發(fā)現(xiàn)有些地方?jīng)]有焊好,形成虛焊。當(dāng)我把板子焊接的問(wèn)題解決完后,再次試驗(yàn)我的板子時(shí),蜂鳴器開(kāi)始有響聲了,但4位LED還是沒(méi)有反應(yīng),不顯示。通過(guò)分析后認(rèn)為,既然蜂鳴器有反應(yīng),說(shuō)明報(bào)警程序沒(méi)有問(wèn)題,報(bào)警程序既然沒(méi)有問(wèn)題,說(shuō)明DS18B20采集溫度沒(méi)有問(wèn)題,DS18B20工作正常才會(huì)有數(shù)據(jù)與設(shè)定好的報(bào)警限值進(jìn)行比較,從而才會(huì)啟動(dòng)蜂鳴器。那可能就是數(shù)碼管顯示程序的問(wèn)題了。于是我又對(duì)顯示程序進(jìn)行了檢查,發(fā)現(xiàn)沒(méi)的問(wèn)題。于是我又對(duì)硬件電路設(shè)計(jì)進(jìn)行了檢查,發(fā)現(xiàn)電路設(shè)計(jì)沒(méi)有什么問(wèn)題。顯示電路沒(méi)有什么問(wèn)題,那會(huì)是什么問(wèn)題呢,在綜合分析并再次對(duì)4位數(shù)碼管進(jìn)行分析時(shí)發(fā)現(xiàn)了一個(gè)很致命的錯(cuò)誤也是很荒唐的錯(cuò)誤。我硬件電路中設(shè)計(jì)的是4位共陽(yáng)極數(shù)碼管,可我焊接的器件卻是共陰極的數(shù)碼管,又一失誤,當(dāng)我換成共陽(yáng)極的數(shù)碼管后,這次數(shù)碼管顯示開(kāi)始正常了,有正常的溫度值顯示了。鍵盤(pán)也能夠?qū)崿F(xiàn)其功能,蜂鳴器在達(dá)到報(bào)警溫度時(shí)也能夠正常報(bào)警,完全能夠?qū)崿F(xiàn)設(shè)計(jì)目標(biāo)所要求的功能,至此整個(gè)硬件調(diào)試過(guò)程結(jié)束。在經(jīng)過(guò)一個(gè)緊張且歷時(shí)一個(gè)學(xué)期的工作后,我最終完成了作品。作品實(shí)現(xiàn)了我設(shè)計(jì)之初所設(shè)想的所有功能。在此過(guò)程中遇到了許許多多的困難,有理論上的,也有硬件方面和軟件方面的??傊诳头诉@許許多多的困難之后,我一步步的走向了成功。本設(shè)計(jì)針對(duì)溫度檢測(cè)這個(gè)熱點(diǎn),設(shè)計(jì)了一個(gè)小體積,成本低,但功能較全面的溫度檢測(cè)系統(tǒng)。該設(shè)計(jì)有以下功能:(1)實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)溫度的采集,并且可以在惡劣的環(huán)境中工作。(2)實(shí)現(xiàn)了對(duì)采集到的溫度進(jìn)行數(shù)碼管顯示。(3)實(shí)現(xiàn)了對(duì)溫度進(jìn)行檢測(cè),超過(guò)或低于設(shè)定的正常溫度值范圍,能夠及時(shí)報(bào)警呢。(4)可以設(shè)置溫度報(bào)警的上下限。(1)采用DS18B20作為溫度傳感器,可以很簡(jiǎn)便的將現(xiàn)場(chǎng)溫度采集供單片機(jī)分析并顯示,并且適合在惡劣的環(huán)境進(jìn)行溫度測(cè)量,可以說(shuō)這是本設(shè)計(jì)最大的優(yōu)點(diǎn)所在。(2)本設(shè)計(jì)測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線(xiàn)少。(3)所有程序都是用C51編寫(xiě),程序的可讀性好,移植性好。雖然本設(shè)計(jì)的硬件電路和軟件設(shè)計(jì)已經(jīng)完成,并進(jìn)行了調(diào)試。但由于自己所學(xué)知識(shí)的有限和其他一些客觀條件,這次設(shè)計(jì)不是很完美,設(shè)計(jì)實(shí)際結(jié)果和預(yù)期的有些差入,時(shí)間短暫,有一些不足的地方,整個(gè)系統(tǒng)有很大的該進(jìn)與拓展空間。在電源方面本設(shè)計(jì)采用的是外接電源插頭,電路本身沒(méi)有設(shè)計(jì)一個(gè)穩(wěn)壓電源電路。這樣在野外就顯得能力不足,無(wú)法在沒(méi)有外接電源的情況下工作,這是本設(shè)計(jì)的一個(gè)不足的地方。建議后續(xù)的工作,可以在此方面進(jìn)行改進(jìn)。其次是本設(shè)計(jì)最后成品與理論上有點(diǎn)偏差,體現(xiàn)在當(dāng)溫度超過(guò)或者低于設(shè)定的溫度范圍時(shí),成品無(wú)法分辨出是高溫報(bào)警還是低溫報(bào)警,如果能夠在成品上實(shí)現(xiàn)這種功能,無(wú)疑其使用價(jià)值就更有意義。另外,個(gè)人認(rèn)為本系統(tǒng)最大的擴(kuò)展方向是當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。如果能夠與電腦相連,具體的控制某一實(shí)際應(yīng)用。例如在大棚蔬菜的培養(yǎng)過(guò)程中,通過(guò)本系統(tǒng)將大棚內(nèi)的溫度進(jìn)行實(shí)時(shí)的檢測(cè),當(dāng)溫度不適合蔬菜生長(zhǎng)時(shí),本系統(tǒng)報(bào)警,并將信號(hào)傳送給電腦。電腦將接收到的信息分析處理后做出相應(yīng)的舉措,控制相應(yīng)的部分進(jìn)行操作,令加熱或者制冷系統(tǒng)工作以維持大棚內(nèi)適宜蔬菜生長(zhǎng)的溫度。當(dāng)然隨著各擴(kuò)展功能的實(shí)現(xiàn),LED數(shù)碼管顯然不能適應(yīng)要求高,顯示精美的要求,后續(xù)工作可以考慮用液晶顯示。本系統(tǒng)的擴(kuò)展可以還有很多,建議在單總線(xiàn)上掛多個(gè)DS18B20這樣組成網(wǎng)絡(luò),測(cè)量的點(diǎn)就更多了,將各個(gè)網(wǎng)點(diǎn)測(cè)得的溫度收集回來(lái)再進(jìn)行總體的分析,可以得出更加準(zhǔn)確溫度。當(dāng)然用于測(cè)量不同地方的地方,實(shí)現(xiàn)對(duì)若干個(gè)地方溫度的檢測(cè)與控制更加具有意義。若配合上其他的功能電路,進(jìn)行加溫或者降溫,則系統(tǒng)的功能就更處于完善。未來(lái)還可以將系統(tǒng)語(yǔ)音化,當(dāng)報(bào)警時(shí)提供語(yǔ)音,顯得更加的人性化及智能化。通過(guò)語(yǔ)音的提示,可以讓用戶(hù)更加清晰的使用該系統(tǒng)。時(shí)光如梭,轉(zhuǎn)眼間已經(jīng)到了準(zhǔn)備答辯的時(shí)候了。回顧整個(gè)畢業(yè)設(shè)計(jì)的過(guò)程,一路走來(lái)身邊有許許多多的老師與朋友給予了我無(wú)私的幫助與支持,在此深深的表示感謝。本次設(shè)計(jì)能夠順利的完成,首先要感謝我的指導(dǎo)老師石琳老師。在剛開(kāi)始做畢業(yè)設(shè)計(jì)的時(shí)候,我不知道自己應(yīng)該選做什么題目,我想的是能夠做一個(gè)偏向軟件方面的課題。石老師了解了我的想法了后,給我出了很多的建議,建議我動(dòng)手做做東西比較好,還給我了一本書(shū)讓我從中考慮,以便啟發(fā)自己。最后我選擇了關(guān)于溫度檢測(cè)方面的課題,能夠動(dòng)手做實(shí)物?,F(xiàn)在想來(lái)石老師的建議確實(shí)是對(duì)的。在此再次對(duì)石老師表示深深的感謝。其次還要感謝楊紅軍老師。我每次在實(shí)驗(yàn)室的時(shí)候,基本上揚(yáng)老師都在。他也會(huì)詢(xún)問(wèn)我的進(jìn)度,尤其是對(duì)我論文的完成給予了指導(dǎo)。在我還在調(diào)試硬件的時(shí)候,楊老師就建議我先放一放硬件,先把初稿完成了再說(shuō),并建議我出參考鄧林同學(xué)的格式,在我對(duì)論文某些要求不清楚的時(shí)候,楊老師也給我了一定的幫助,在此特表示感謝。最后還要對(duì)鄧林同學(xué)表示感謝。在整個(gè)設(shè)計(jì)過(guò)程中,他給予了我很大的幫助,包括硬件方面和軟件方面。我一有問(wèn)題都會(huì)想到他,而他也無(wú)私的給予了我很多的幫助,不厭其煩的而且非常熱心,在對(duì)我整個(gè)硬件的調(diào)試過(guò)程中幫助我分析問(wèn)題的所在,提供了很多獨(dú)到見(jiàn)解,對(duì)我查找問(wèn)題指引了方向。感謝鄧林同學(xué),感謝他的幫助。大學(xué)生涯就快結(jié)束了,當(dāng)然在我身邊給我?guī)椭倪€遠(yuǎn)遠(yuǎn)不止這些,在大學(xué)四年的時(shí)間里,身邊的同窗在許多時(shí)候給予了我很多的幫助,在此也一并感謝,感謝你們?cè)趯W(xué)習(xí)和生活中給我的幫助與支持,感謝你們與我一起走過(guò)了大學(xué)四年的美好時(shí)光!成都學(xué)院(成都大學(xué))學(xué)士學(xué)位論文(設(shè)計(jì))參考文獻(xiàn)[1]張明琦.基于89S52單片機(jī)的PZT極化用電阻爐溫控系統(tǒng)設(shè)計(jì)[J].安徽電氣工程職業(yè)技術(shù)學(xué)院學(xué)報(bào).2008(3)[2]鄭耀中.鉑電阻的非線(xiàn)性補(bǔ)償方法研究[J].武漢:武漢工程大學(xué)本科學(xué)士學(xué)位論文.2008(現(xiàn)狀及趨勢(shì))[3]劉媛媛.一種基于DS18B20的溫度檢測(cè)系統(tǒng)的設(shè)計(jì)[J].中國(guó)科技博覽.2009(31)[4]李莉雙.多功能溫度測(cè)量?jī)x的研制[J].沈陽(yáng):東北大學(xué)本科碩士學(xué)位論文.2003[5]任衛(wèi)軍,邱紹峰.凌陽(yáng)十六位單片機(jī)原理及應(yīng)用[M].西安:電子科技大學(xué)出版社,2011[6]敖日格勒.基于DSP的結(jié)構(gòu)振動(dòng)控制系統(tǒng)設(shè)計(jì)[J].北京:北京工業(yè)大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省文山壯族苗族自治州(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)人教版期末考試(下學(xué)期)試卷及答案
- 工程制圖教案創(chuàng)新:2024年的機(jī)遇與挑戰(zhàn)
- 教育技術(shù)驅(qū)動(dòng):2024年《登上企鵝島》課件的革新
- 《曾子殺豬》課件
- 新版2024年安全教育培訓(xùn)記錄表設(shè)計(jì)與應(yīng)用
- 2024年企業(yè)ERP采購(gòu)流程重構(gòu)培訓(xùn)
- 第47屆世界技能大賽江蘇省選拔賽網(wǎng)絡(luò)系統(tǒng)管理項(xiàng)目技術(shù)文件V1.1
- 2024年XX企業(yè)社會(huì)責(zé)任與企業(yè)文化
- 2020盲盒經(jīng)濟(jì)洞察報(bào)告
- 《高科技智能住宅》課件
- 樂(lè)理知識(shí)考試題庫(kù)130題(含答案)
- 人教版(2024)七年級(jí)地理上冊(cè)2.2《地形圖的判讀》精美課件
- 2024年共青團(tuán)入團(tuán)積極分子團(tuán)校結(jié)業(yè)考試試題庫(kù)及答案
- 2024年遼寧高考?xì)v史試題(含答案和解析)
- 黃河商品交易市場(chǎng)介紹稿
- Unit 3 My friends Part C Story time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 2024中國(guó)海油校園招聘2024人(高頻重點(diǎn)提升專(zhuān)題訓(xùn)練)共500題附帶答案詳解
- 孫中山誕辰紀(jì)念日主題班會(huì)主題班會(huì)
- 2024年安徽省合肥市中考語(yǔ)文題卷(含答案)
- G -B- 43630-2023 塔式和機(jī)架式服務(wù)器能效限定值及能效等級(jí)(正式版)
- 24春國(guó)開(kāi)電大《工具書(shū)與文獻(xiàn)檢索》平時(shí)作業(yè)1-4答案
評(píng)論
0/150
提交評(píng)論