基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)佳木斯大學(xué)教務(wù)處-PAGEi-摘要溫度的檢測(cè)與控制是工業(yè)生產(chǎn)過程中比較典型的應(yīng)用之一,隨著傳感器在生產(chǎn)和生活中的更加廣泛的應(yīng)用,利用新型單總線式數(shù)字溫度傳感器實(shí)現(xiàn)對(duì)溫度的測(cè)試與控制得到更快的開發(fā)。本系統(tǒng)是采用51系列單片機(jī)實(shí)現(xiàn)溫度自動(dòng)檢測(cè)與報(bào)警,檢測(cè)的溫度范圍在0℃至+99℃之間,利用鍵盤設(shè)定上限溫度和下限溫度,先用溫度傳感器采集周圍環(huán)境中的溫度值,再將采樣值和設(shè)定值進(jìn)行比較,如果超出設(shè)定范圍就進(jìn)行報(bào)警并自動(dòng)控制:高于設(shè)定的最高溫度就控制降溫,低于設(shè)定的最低溫度就控制加溫,由此對(duì)周圍環(huán)境的溫度進(jìn)行有效檢測(cè)與報(bào)警。本設(shè)計(jì)基本上滿足了溫度檢測(cè)與報(bào)警的要求,利用LED清晰的顯示了當(dāng)前溫度,具有調(diào)量小,操作簡(jiǎn)單等優(yōu)點(diǎn)。該系統(tǒng)穩(wěn)定且成本低,具有廣闊的應(yīng)用的前景。關(guān)鍵字AT89C52單片機(jī);LED顯示器;DS18B20溫度傳感器基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第1頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第1頁(yè)。AbstractTemperaturemeasurementandcontrolofindustrialproductionprocessistypicaloftheapplication,assensorsinproductionandlife,themorewidelyusedbysinglebusdigitaltemperaturesensorfortemperaturetestingandcontrolthedevelopmentgetfaster.Thisdesignuses51seriesmonolithicintegratedcircuitstorealizetemperatureautomaticdetectionandalert,thetemperaturerangefrom0to+99degreeCelsius.Theconcretedesignthoughtis:Firstusesthekeyboardhypothesistemperaturevalue,andthenusesthetemperaturesensorgatheringthetemperaturevaluefromtheenvironment.Andcomparethesamplingvaluewiththedefinitevalue,andthenthecorrespondingcontrolequipmentcarriesonworkstoachievethecontroloftheenvironmenttemperature.Thisdesignbasicallyhassatisfiedthetemperaturecontrolrequest,it'spromptedbyasimpleLEDdisplay,althoughthereisovershootslightly,thesamplingvalueandthedefinitevalueisbasicallyconsistent,theoperationisverysimple.Thissystemallowspeopletoworkwithlifeeachplace,andpowerfullyimpelledvariousprofessionstechnologicaltransformationsandtheproductrenewal,sotheapplicationprospectisbroad.KeywordsAT89C52monolithicintegratedcircuits;LEDdisplay;DS18B20temperaturesensor基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第2頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第2頁(yè)。佳木斯大學(xué)教務(wù)處-PAGE2-目錄TOC\h\z\t"中文摘要標(biāo)題,1,英文摘要標(biāo)題,1,章標(biāo)題,1,節(jié)標(biāo)題,2,條標(biāo)題,3,結(jié)論標(biāo)題,1,致謝標(biāo)題,1,參考文獻(xiàn)標(biāo)題,1,附錄標(biāo)題,1"摘要 iAbstract ii第1章 緒論 11.1 課題的目的和意義 11.2 單片機(jī)基本原理及發(fā)展現(xiàn)狀 11.3 DS18B20溫度傳感器的發(fā)展現(xiàn)狀 41.4 DS18B20溫度傳感器的主要特性 51.5 DS18B20溫度傳感器的測(cè)溫原理 51.6 DS18B20溫度傳感器的工作方式 6第2章 系統(tǒng)方案設(shè)計(jì) 82.1 設(shè)計(jì)方案 82.1.1 方案一 82.1.2 方案二 82.2 方案論證 9第3章 系統(tǒng)方框圖的硬件設(shè)計(jì) 113.1 系統(tǒng)方框圖 113.2 系統(tǒng)的器件選型 113.2.1 單片機(jī)的選型 123.2.2 傳感器的選型 12第4章 系統(tǒng)硬件電路圖的設(shè)計(jì) 144.1 溫度采集電路的硬件設(shè)計(jì) 144.2 LED顯示電路的硬件設(shè)計(jì) 184.3 鍵盤電路的硬件設(shè)計(jì) 204.4 報(bào)警和控制電路的硬件設(shè)計(jì) 214.5 看門狗的硬件設(shè)計(jì) 224.6 系統(tǒng)時(shí)鐘的設(shè)計(jì) 234.7 電源電路的硬件設(shè)計(jì) 244.8 數(shù)據(jù)存儲(chǔ)器的掉電保護(hù) 254.9 整個(gè)系統(tǒng)的電路設(shè)計(jì) 26第5章 硬件的抗干擾設(shè)計(jì) 275.1 干擾來源及分析 275.2 硬件抗干擾措施 275.3 印刷電路板的抗干擾設(shè)計(jì) 285.4 系統(tǒng)的強(qiáng)制復(fù)位 29第6章 系統(tǒng)的軟件設(shè)計(jì) 306.1 軟件設(shè)計(jì)概述 306.2 命令獲取序列號(hào) 306.3 多點(diǎn)溫度測(cè)量 316.4 系統(tǒng)報(bào)警 31結(jié)論 33基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第3頁(yè)。致謝 34基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第3頁(yè)。參考文獻(xiàn) 35附錄A 36附錄B 37附錄C 38基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第4頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第4頁(yè)。佳木斯大學(xué)教務(wù)處-PAGE42-緒論課題的目的和意義隨著現(xiàn)代科技和工業(yè)的發(fā)展,溫度控制廣泛應(yīng)用于人們的生產(chǎn)和生活中。各種工廠生產(chǎn)車間、園藝溫室、農(nóng)作物溫室和各種倉(cāng)庫(kù)都要求對(duì)溫度進(jìn)行有效的控制。但是某些溫室加熱設(shè)備的操作主要是由人工來完成的。人們使用溫度計(jì)來測(cè)量溫度,通過人工操作加熱、通風(fēng)和降溫設(shè)備來控制溫度,這樣不但控制精度低、實(shí)時(shí)性差,操作人員的勞動(dòng)強(qiáng)度大,而且無法達(dá)到對(duì)溫度的有效控制。基于上述狀況,本次設(shè)計(jì)設(shè)計(jì)了一種基于AT89C52單片機(jī)和數(shù)字溫度傳感器的溫度檢測(cè)報(bào)警系統(tǒng)。溫度檢測(cè)報(bào)警系統(tǒng)主要由硬件電路和軟件程序兩部分組成。本文將詳盡的敘述硬件電路設(shè)計(jì)和相應(yīng)的軟件設(shè)計(jì)。本次設(shè)計(jì)采用采樣值和鍵盤設(shè)定值進(jìn)行比較運(yùn)算的方法來簡(jiǎn)單精確地控制溫度。它的整體思想是先通過鍵盤輸入設(shè)定溫度的范圍,保存在單片機(jī)中指定單元,再利用溫度傳感器DS18B20進(jìn)行信號(hào)的采集,送入單片機(jī)中,保存在采樣值單元。然后把采樣值與設(shè)定值進(jìn)行比較運(yùn)算,得出控制量,從而調(diào)節(jié)繼電器觸發(fā)端的通斷,來實(shí)現(xiàn)將溫度控制在一定的范圍內(nèi)[1]。溫度檢測(cè)報(bào)警系統(tǒng)由硬件和軟件兩個(gè)部分組成。其系統(tǒng)硬件部分主要由七段數(shù)碼顯示模塊、溫度采集模塊、鍵盤模塊等幾個(gè)模塊組成。軟件設(shè)計(jì)的主要內(nèi)容包括:各模塊的軟件編程、系統(tǒng)調(diào)試及主要技術(shù)性能的測(cè)試。單片機(jī)基本原理及發(fā)展現(xiàn)狀A(yù)T89C52是一個(gè)低電壓、高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89LV52單片機(jī)可為您提供許多高性能低價(jià)位的系統(tǒng)控制應(yīng)用場(chǎng)合?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第5頁(yè)。AT89C52有40(或44)個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)可編程全雙工串行通信口,8個(gè)中斷源,2個(gè)讀寫口線,3級(jí)程序加密鎖。低功耗空閑和掉電模式。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第5頁(yè)。引腳圖如圖1-1所示:圖1-1AT89C52型號(hào)單片機(jī)引腳AT89C52特點(diǎn):1.與MCS-51產(chǎn)品指令和引腳完全兼容2.8K字節(jié)可重擦寫FLASH閃存3.1000次擦寫周期4.全靜態(tài)操作:0Hz~24MHz5.三級(jí)加密程序存儲(chǔ)器6.256X8字節(jié)內(nèi)部RAM7.32個(gè)可編程I/O口線8.3個(gè)16位定時(shí)/計(jì)數(shù)器9.8個(gè)中斷源10.可編程串行UART通道11.低功耗空閑和掉電模式引腳功能特性:基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第6頁(yè)。P1.0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第6頁(yè)。P1.1T2EX(定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制)P2口—P2是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問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/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能:端口引腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時(shí)/計(jì)數(shù)器0)P3.5T1(定時(shí)/計(jì)數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST—復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第7頁(yè)。ALE/PROG—當(dāng)訪問外部程存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN—程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第7頁(yè)。EA/VPP—外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。DS18B20溫度傳感器的發(fā)展現(xiàn)狀DS18B20是美國(guó)Dallas半導(dǎo)體公司利用單總線協(xié)議生產(chǎn)的一款數(shù)字溫度傳感器。單總線技術(shù)是美國(guó)Dallas半導(dǎo)體公司近年來推出的新技術(shù)。它將地址線、數(shù)據(jù)線、控制線合為1根信號(hào)線,每個(gè)DS18B20都有自己唯一的序列號(hào),允許在這根信號(hào)線上掛接多個(gè)單總線器件。其測(cè)溫范圍為-55°~+125℃,在-10°~+85℃時(shí)精度為±0.5℃,測(cè)量的溫度值可以由用戶選擇設(shè)定用9~12位表示,DS18B20的轉(zhuǎn)換分辨率均可由用戶設(shè)定。溫度轉(zhuǎn)換所需轉(zhuǎn)換時(shí)間較短,最大轉(zhuǎn)換時(shí)間為750ms,可以設(shè)定溫度超標(biāo)報(bào)警的上、下限值,在溫度超限時(shí)發(fā)送報(bào)警信號(hào)。本設(shè)計(jì)中由于需要遠(yuǎn)距離不同位置設(shè)置溫度傳感器,故采用外部電源供電方式,實(shí)現(xiàn)3點(diǎn)溫度檢測(cè)。主機(jī)采用具有ISP下載功能的AT89S52單片機(jī),自帶8K的ROM程序存儲(chǔ)器,外設(shè)還有LED顯示電路,鍵盤輸入接口,溫度超限報(bào)警電路以及與上位機(jī)通信的串口電路?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第8頁(yè)。DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從主機(jī)CPU到DS18B20僅需一條線(和地線)。DS18B20的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。因?yàn)槊恳粋€(gè)DS18B20在出廠時(shí)已經(jīng)給定了唯一的序號(hào),因此任意多個(gè)DS18B20可以存放在同一條單線總線上,這允許在許多不同的地方放置溫度敏感器件。DS18B20的測(cè)量范圍從-55℃~+125℃,增量值為0.5℃,可在1s(典型值)內(nèi)把溫度變換成數(shù)字?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第8頁(yè)。DS18B20溫度傳感器的主要特性DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi),三只管腳分別為數(shù)字信號(hào)輸入/輸出端、電源端和外接供電電源輸入端(在寄生電源接線方式時(shí)接地);工作電壓范圍為3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電;DS18B20具有獨(dú)特的單線接口方式,在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;DS18B20支持多點(diǎn)組網(wǎng),多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫;溫范圍-55~125℃,在-10~85℃時(shí)精度為±0.5℃;可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫;在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快;測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線通信”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;DS18B20具有負(fù)壓特性,當(dāng)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的電路很簡(jiǎn)單,由一片DS18B20和一只4.7kΩ的上拉電阻構(gòu)成。DS18B20內(nèi)集成了一個(gè)溫度傳感器、64位ROM、9字節(jié)RAM、3字節(jié)EERAM(掉電可保存),可將溫度信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)直接輸出。DS18B20與外部的接口為單總線方式,即數(shù)據(jù)的輸入、輸出及同步均由同一根線完成。其溫度測(cè)量范圍為-55℃~125℃,在-10℃~80℃范圍內(nèi)精度為±0.5℃,輸出的溫度值可編程為9~12位。VD接電源,3V~5V;GND為地;DQ為數(shù)據(jù)的輸入輸出。DQ作為輸出時(shí)為漏極開路,必須加4.7kΩ的上拉電阻。DS18B20溫度傳感器的測(cè)溫原理基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第9頁(yè)。DS18B20低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖1中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第9頁(yè)。DS18B20溫度傳感器的工作方式基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第10頁(yè)。DS18B20傳感器進(jìn)行的功能操作是在發(fā)送命令的基礎(chǔ)上完成的,上電后傳感器處于空閑狀態(tài),需要控制器發(fā)送命令才能完成溫度轉(zhuǎn)換。對(duì)傳感器的功能操作的次序是首先完成對(duì)芯片內(nèi)部的ROM操作,有5條操作ROM的指令可用于器件識(shí)別,它們分別是:ReadROM(33H)、MatchROM(55H)、SkipROM(CCH)、SearchROM(F0H)、AlarmSearch(ECH)。ReadROM:用于讀出64位ROM數(shù)據(jù),適用于僅有1個(gè)DS18B20的場(chǎng)合。MatchROM:查找與給定64位ROM數(shù)據(jù)相匹配的DS18B20。SkipROM:適用于僅有1個(gè)DS18B20的場(chǎng)合,無需給出64位碼就能快速選定器件。SearchROM:適用于多個(gè)DS18B20的場(chǎng)合,該指令可識(shí)別出每個(gè)器件的ID號(hào)。AlarmSearch:用于溫度報(bào)警查詢。9字節(jié)RAM中,字節(jié)1、2用來存放當(dāng)前測(cè)量的溫度值,1為低8位,2為高8位;字節(jié)3、4用來存放預(yù)設(shè)報(bào)警溫度的上下限值,3為上限,4為下限;字節(jié)5用于配置寄存器,確定溫度數(shù)據(jù)的位數(shù),相關(guān)位為D5、D6,字節(jié)5的其余位均為無關(guān)位;字節(jié)6、7、8均為保留字節(jié),一般不用;字節(jié)9存放前8個(gè)字節(jié)循環(huán)冗余校驗(yàn)碼(CRC碼)。3字節(jié)的EERAM分別對(duì)應(yīng)于RAM區(qū)的字節(jié)3、4、5,用于備份系統(tǒng)設(shè)置。對(duì)RAM的操作指令有6條,分別為:Write(4EH)、Read(BEH)、Copy(48H)、Convert(44H)、Recall(B8H)、ReadPower(B4H)。Write:寫RAM存儲(chǔ)器,隨后的3個(gè)字節(jié)分別寫入RAM字節(jié)3、4、5,該指令必須在復(fù)位操作前完成。Read:讀出RAM中所有9個(gè)字節(jié)的數(shù)據(jù),該指令可隨時(shí)被復(fù)位操作所終止。Copy:將RAM區(qū)的3、4、5字節(jié)備份至EERAM。Recall:將EERAM中的數(shù)據(jù)裝入RAM。Convert:溫度轉(zhuǎn)換開始指令。ReadPower:讀電源指令,此處不作介紹。對(duì)DS18B20的每一次操作均由4個(gè)步驟組成:基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第10頁(yè)。(1)初始化(復(fù)位操作);(2)對(duì)ROM操作指令(識(shí)別器件);(3)對(duì)RAM操作指令(讀、寫、轉(zhuǎn)換);(4)收發(fā)數(shù)據(jù),時(shí)序圖如圖2所示。初始化過程如下:主控器將信號(hào)線拉低,持續(xù)時(shí)間T1(480μs<t1<960μs);主控器等待時(shí)間T2(15μs<t2<60μs);主控器檢測(cè)信號(hào)線,若為低,進(jìn)行下一步,否則重新初始化;主控器在240μs內(nèi)等待信號(hào)線變高,如變高表示初始化完成,否則重新初始化;主控器延時(shí)至少480μs,確保應(yīng)答正確;在收發(fā)數(shù)據(jù)過程中,每一位的讀寫時(shí)間應(yīng)至少持續(xù)60μs,以確保讀寫正確?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第11頁(yè)。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第11頁(yè)。系統(tǒng)方案設(shè)計(jì)設(shè)計(jì)方案方案一采用普通電阻式溫度傳感器,放大器,A/D轉(zhuǎn)換器作為測(cè)量溫度的電路。采用兩種不同材質(zhì)的導(dǎo)體,如在某點(diǎn)互相連接在一起,對(duì)這個(gè)連接點(diǎn)加熱,在它們不加熱的部位就會(huì)出現(xiàn)電位差。這個(gè)電位差的數(shù)值與不加熱部位測(cè)量點(diǎn)的溫度有關(guān),和這兩種導(dǎo)體的材質(zhì)有關(guān)。這種現(xiàn)象可以在很寬的溫度范圍內(nèi)出現(xiàn),如果精確測(cè)量這個(gè)電位差,再測(cè)出不加熱部位的環(huán)境溫度,就可以準(zhǔn)確知道加熱點(diǎn)的溫度。由于它必須有兩種不同材質(zhì)的導(dǎo)體,所以稱之為“熱電偶”。不同材質(zhì)做出的熱電偶使用于不同的溫度范圍,它們的靈敏度也各不相同。熱電偶的靈敏度是指加熱點(diǎn)溫度變化1℃時(shí),輸出電位差的變化量。對(duì)于大多數(shù)金屬材料支撐的熱電偶而言,這個(gè)數(shù)值大約在5~40微伏/℃之間。熱電偶傳感器有自己的優(yōu)點(diǎn)和缺陷,它靈敏度比較低,容易受到環(huán)境干擾信號(hào)的影響,也容易受到前置放大器溫度漂移的影響,因此不適合測(cè)量微小的溫度變化。由于熱電偶溫度傳感器的靈敏度與材料的粗細(xì)無關(guān),用非常細(xì)的材料也能夠做成溫度傳感器。也由于制作熱電偶的金屬材料具有很好的延展性,這種細(xì)微的測(cè)溫元件有極高的響應(yīng)速度,可以測(cè)量快速變化的過程。方案二采用數(shù)字可編程溫度傳感器作為溫度檢測(cè)元件。數(shù)字可編程溫度傳感器可以直接讀出被測(cè)溫度值。不需要將溫度傳感器的輸出信號(hào)接到A/D轉(zhuǎn)換器上,減少了系統(tǒng)的硬件電路的成本和整個(gè)系統(tǒng)的體積?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第12頁(yè)。美國(guó)Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。“一線總線”獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點(diǎn)。同DS1820一樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為-55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第12頁(yè)。它還有很多特性:適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,寄生電源方式下可由數(shù)據(jù)線供;獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫;DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃;可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫;在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快;測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作[2]。方案論證方案一硬件電路復(fù)雜,需要設(shè)計(jì)A/D轉(zhuǎn)換電路,以及與其相關(guān)的編程,總體設(shè)計(jì)起來較困難,軟件、硬件調(diào)試復(fù)雜,硬件成本較高。而且器傳感器有以下缺點(diǎn):它靈敏度比較低,容易受到環(huán)境干擾信號(hào)的影響,也容易受到前置放大器溫度漂移的影響。所以總體來說,方案一在硬件、軟件上的成本都比較高,而且易受外部環(huán)境的影響,系統(tǒng)工作不穩(wěn)定?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第13頁(yè)。方案二由于采用的是具有一總線特點(diǎn)的溫度傳感器,所以電路連接簡(jiǎn)單;而且該傳感器擁有強(qiáng)大的通信協(xié)議,同過幾個(gè)簡(jiǎn)單的操作就可以實(shí)現(xiàn)傳感器與單片機(jī)的基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第13頁(yè)。經(jīng)過對(duì)這兩種方案的比較,本設(shè)計(jì)決定采用方案二基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第14頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第14頁(yè)。系統(tǒng)方框圖的硬件設(shè)計(jì)系統(tǒng)方框圖本設(shè)計(jì)是將AT89C52單片機(jī)和其它外圍電路組合形成單片機(jī)控制系統(tǒng)應(yīng)用于溫度檢測(cè)和報(bào)警。本單片機(jī)控制系統(tǒng)是一個(gè)完整的智能化的集數(shù)據(jù)采集、顯示、處理、控制于一體的系統(tǒng)。由傳感器、LED顯示單片機(jī)及執(zhí)行機(jī)構(gòu)控制部分等組成。系統(tǒng)硬件原理圖如圖3-1所示。51單片51單片機(jī)LED顯示電路看門狗電路溫度報(bào)警電路溫度傳感器電路鍵盤輸入電路溫度控制電路圖3-1系統(tǒng)硬件原理結(jié)構(gòu)圖本系統(tǒng)的硬件電路由AT89C52單片機(jī)、溫度傳感器、LED顯示電路、報(bào)警電路和看門狗電路等幾部分組成。溫度傳感器主要完成數(shù)據(jù)的采集,AT89C52單片機(jī)是系統(tǒng)的核心部分,主要完成系統(tǒng)參數(shù)和控制參數(shù)的設(shè)定,顯示部分顯示當(dāng)前的溫度值,方便操作人員的操作。報(bào)警電路主要是在當(dāng)前的溫度值不在設(shè)定的范圍內(nèi)時(shí)產(chǎn)生報(bào)警??撮T狗電路保證程序跑飛或死機(jī)時(shí),對(duì)系統(tǒng)進(jìn)行重新置位或者復(fù)位,以使系統(tǒng)恢復(fù)正常的工作狀態(tài)[3]。本系統(tǒng)的整個(gè)電路圖均使用Protel99SE繪圖軟件完成。系統(tǒng)的器件選型基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第15頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第15頁(yè)。單片機(jī)的選型因?yàn)榻Y(jié)合要解決的實(shí)際問題,具體選擇時(shí)還應(yīng)該考慮以下原則:為降低成本和簡(jiǎn)化系統(tǒng),單片機(jī)應(yīng)該有內(nèi)部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,以免擴(kuò)展造成系統(tǒng)復(fù)雜化,占據(jù)過多的I/0口,并且也增加了系統(tǒng)的不穩(wěn)定性因素;程序中使用了外部中斷和時(shí)間中斷T0,所選單片機(jī)應(yīng)該有兩個(gè)以上中斷源本系統(tǒng)程序算法簡(jiǎn)單,所選單片機(jī)應(yīng)支持使用MCS-51系列通用匯編語言開發(fā),以利于軟硬件的結(jié)合,及時(shí)檢查修改各種軟硬件不協(xié)調(diào)。MCS-51系列單片機(jī)具有集成度高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、系統(tǒng)擴(kuò)展方便、可靠性高、處理功能強(qiáng)、速度高、容易產(chǎn)品化等特點(diǎn)。鑒于以上對(duì)單片機(jī)的要求和從節(jié)約擴(kuò)展外圍電路成本的角度考慮,本系統(tǒng)采用了AT89C52單片機(jī)作為核心部件,AT89C52是Intel公司在MCS-51系列三種基本型產(chǎn)品基礎(chǔ)上,又推出的增強(qiáng)型系列產(chǎn)品,即52子系列。AT89C52內(nèi)部RAM增加到256字節(jié),內(nèi)部程序存儲(chǔ)器擴(kuò)展到8KB,與8051相比,不用擴(kuò)展程序存儲(chǔ)器,減少硬件線路連接[4]。傳感器的選型溫度傳感器的作用是將室內(nèi)溫度的變化量轉(zhuǎn)換成電信號(hào),再經(jīng)放大器放大,模數(shù)轉(zhuǎn)換器轉(zhuǎn)換,送進(jìn)微機(jī)與設(shè)定值比較,以便發(fā)出控制信號(hào)。溫度傳感器按傳感器的結(jié)構(gòu)可以分為:傳統(tǒng)的分立式溫度傳感器——熱電偶傳感器、模擬集成溫度傳感器、光纖傳感器、智能溫度傳感器、數(shù)字溫度傳感器等。模擬集成傳感器是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。它將溫度傳感器集成在一個(gè)芯片上、可完成溫度測(cè)量及模擬信號(hào)輸出等功能。模擬集成溫度傳感器的主要特點(diǎn)是功能單一(僅測(cè)量溫度)、測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測(cè)溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。光纖測(cè)溫技術(shù)解決了許多熱電偶和常規(guī)紅外測(cè)溫儀無法解決的問題。而在高溫領(lǐng)域,光纖測(cè)溫技術(shù)越來越顯示出強(qiáng)大的生命力。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第16頁(yè)。智能溫度傳感器(亦稱數(shù)字溫度傳感器)它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)的結(jié)晶。智能溫度傳感器內(nèi)部包含溫度傳感器、A/D傳感器、信號(hào)處理器、存儲(chǔ)器和接口電路。數(shù)字溫度傳感器因更適用于各種微處理器接口組成的自動(dòng)溫度控制系統(tǒng)中,具有可以克服模擬傳感器與微處理器接口時(shí)需要信號(hào)調(diào)理電路和A/D轉(zhuǎn)換器的弊端等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制、電子測(cè)溫計(jì)、醫(yī)療儀器等各種溫度控制系統(tǒng)中?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第16頁(yè)。對(duì)比以上幾種溫度傳感器,集成數(shù)字溫度傳感器具有外接電路簡(jiǎn)單,輸出穩(wěn)定,功耗小,成本低的優(yōu)點(diǎn),并且作為電子電路的一個(gè)模塊對(duì)電路的影響也比較小,因此本設(shè)計(jì)選用美國(guó)DALLAS公司的集成數(shù)字溫度傳感器DS18B20。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第17頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第17頁(yè)。系統(tǒng)硬件電路圖的設(shè)計(jì)溫度采集電路的硬件設(shè)計(jì)本次設(shè)計(jì)所采用的溫度傳感器為Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20,它是世界上第一片支持“一線總線”接口的溫度傳感器。“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。DS18B20可以程序設(shè)定9-12位的分辨率,精度為±0.5℃??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存[5]。DS18B20與AT89C52單片機(jī)接口電路的設(shè)計(jì)DSl8B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DSl8B20或從DSl8B20送出,因此從主機(jī)CPU到DSl8B20僅需一條線,DS18B20與AT89C52單片機(jī)的接口電路如圖4-1所示。圖4-1傳感器與AT89C52單片機(jī)的連接基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第18頁(yè)。DSl8B20的電源可以由數(shù)據(jù)線本身提供而不需要外部電源。因?yàn)槊恳粋€(gè)DSl8B20在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè)DSl8B20可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件。DS18B20采用3腳或8腳封裝,如圖4-2所示。其中,VCC和GND是電源和接地引腳,DQ是數(shù)據(jù)線引腳。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第18頁(yè)。圖4-2DS18B20的管腳圖DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。表4-1DS18B20的溫度存儲(chǔ)方式bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LSByteMSByte23Bit15S22Bit14S21Bit13S20Bit12S2-1Bit11S2-2Bit10262-3Bit9252-4Bit824這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0℃,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如90℃的數(shù)字輸出為05A0,60℃的數(shù)字輸出為03C0H,50℃的數(shù)字輸出為0320H,20℃的數(shù)字輸出為0140H。DS18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一:1)讀ROM,2)ROM匹配,3)搜索ROM,4)跳過ROM,5)報(bào)警檢查。這些指令操作作用在沒有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在一線上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有多少,什么樣的設(shè)備?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第19頁(yè)。若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。測(cè)量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過緩存器讀寄存器。所有的數(shù)據(jù)都讀,寫都是從最低位開始?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第19頁(yè)。DS18B20有4個(gè)主要的數(shù)據(jù)部件:光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,溫度報(bào)警觸發(fā)器TH和TL,配置寄存器。DS18B20的存儲(chǔ)器包括高速暫存器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,以及一個(gè)配置寄存器。存儲(chǔ)器能完整的確定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進(jìn)寄存器,接著也可以用讀寄存器的命令來確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當(dāng)修改過寄存器中的數(shù)時(shí),這個(gè)過程能確保數(shù)字的完整性。高速暫存器RAM是由8個(gè)字節(jié)的存儲(chǔ)器組成;第一和第二個(gè)字節(jié)是溫度的顯示位。第三和第四個(gè)字節(jié)是復(fù)制TH和TL,同時(shí)第三和第四個(gè)字節(jié)的數(shù)字可以更新;第五個(gè)字節(jié)是復(fù)制配置寄存器,同時(shí)第五個(gè)字節(jié)的數(shù)字可以更新;六、七、八三個(gè)字節(jié)是計(jì)算機(jī)自身使用。用讀寄存器的命令能讀出第九個(gè)字節(jié),這個(gè)字節(jié)是對(duì)前面的八個(gè)字節(jié)進(jìn)行校驗(yàn)。64位光刻ROM的前8位是DS18B20的自身代碼,接下來的48位為連續(xù)的數(shù)字代碼,最后的8位是對(duì)前56位的CRC校驗(yàn)。64-位的光刻ROM又包括5個(gè)ROM的功能命令:讀ROM,匹配ROM,跳躍ROM,查找ROM和報(bào)警查找?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第20頁(yè)。DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。當(dāng)VDD端口接3.0V—5.5V的電壓時(shí)是使用外部電源;當(dāng)VDD端口接地時(shí)使用了內(nèi)部的寄生電源。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第20頁(yè)。配置寄存器是配置不同的位數(shù)來確定溫度和數(shù)字的轉(zhuǎn)化??梢灾繰1,R0是溫度的決定位,由R1,R0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對(duì)應(yīng)的轉(zhuǎn)化時(shí)間,四種配置的分辨率分別為0.5℃,0.25℃,0.125℃和0.0625℃,出廠時(shí)以配置為12位。DS18B20在出廠時(shí)以配置為12位,讀取溫度時(shí)共讀取16位,所以把后11位的2進(jìn)制轉(zhuǎn)化為10進(jìn)制后在乘以0.0625便為所測(cè)的溫度,還需要判斷正負(fù)。前5個(gè)數(shù)字為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。16位數(shù)字?jǐn)[放是從低位到高位。DS18B20有六條控制命令溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重新E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU。DS18B20的初始化(1)先將數(shù)據(jù)線置高電平“1”。(2)延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn))(3)數(shù)據(jù)線拉到低電平“0”。(4)延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。(5)數(shù)據(jù)線拉到高電平“1”。(6)延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。(7)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。(8)將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。DS18B20的寫操作(1)數(shù)據(jù)線先置低電平“0”?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第21頁(yè)。(2)延時(shí)確定的時(shí)間為15微秒。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第21頁(yè)。(3)按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(4)延時(shí)時(shí)間為45微秒。(5)將數(shù)據(jù)線拉到高電平。(6)重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7)最后將數(shù)據(jù)線拉高。DS18B20的讀操作(1)將數(shù)據(jù)線拉高“1”。(2)延時(shí)2微秒。(3)將數(shù)據(jù)線拉低“0”。(4)延時(shí)15微秒。(5)將數(shù)據(jù)線拉高“1”。(6)延時(shí)15微秒。(7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。(8)延時(shí)30微秒。LED顯示電路的硬件設(shè)計(jì)LED數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管,通過對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字。可以顯示:時(shí)間、日期、溫度等可以用數(shù)字代替的參數(shù)。圖4-3二位七段數(shù)碼管基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第22頁(yè)。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第22頁(yè)。數(shù)碼管的驅(qū)動(dòng)方式數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類:①靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。②動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(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ī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低[6]。恒流驅(qū)動(dòng)與非恒流驅(qū)動(dòng)對(duì)數(shù)碼管的影響1、顯示效果:基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第23頁(yè)。由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大,并且還與溫度有關(guān),為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外,當(dāng)溫度變化時(shí)驅(qū)動(dòng)芯片還要能夠自動(dòng)調(diào)節(jié)輸出電流的大小以實(shí)現(xiàn)色差平衡溫度補(bǔ)償?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第23頁(yè)。2、安全性:即使是短時(shí)間的電流過載也可能對(duì)發(fā)光管造成永久性的損壞,采用恒流驅(qū)動(dòng)電路后可防止由于電流故障所引起的數(shù)碼管的大面積損壞。在本次設(shè)計(jì)中采用了二位七段數(shù)碼管,用動(dòng)態(tài)顯示驅(qū)動(dòng)來顯示溫度的值,如圖4-4所示圖4-4LED顯示與單片機(jī)的連接鍵盤電路的硬件設(shè)計(jì)基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第24頁(yè)。在各種數(shù)字控制系統(tǒng)中,大多數(shù)都用鍵盤和LED作為人機(jī)交互界面。一般地,鍵盤分為編碼和非編碼兩種。編碼方式的鍵盤要使用專門的硬件來識(shí)別按鍵,系統(tǒng)比較復(fù)雜且占用較多的硬件資源。實(shí)際應(yīng)用中編碼方式的鍵盤使用得越來越少,相應(yīng)地大多數(shù)系統(tǒng)都采用非編碼鍵盤,并用軟件的方式對(duì)鍵盤進(jìn)行掃描處理[7]。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第24頁(yè)。鍵盤的結(jié)構(gòu)有兩種形式:線性鍵盤和矩陣鍵盤。線性鍵盤是由若干獨(dú)立的按鍵組成,每個(gè)按鍵將其一端直接與微控制器的某輸入端口的一位相連,另一端接地,即可完成硬件連接。適用于按鍵少的應(yīng)用場(chǎng)合。矩陣式鍵盤適用于按鍵數(shù)量較多的場(chǎng)合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。在本設(shè)計(jì)中只有三個(gè)按鍵,按鍵數(shù)目較少,所以采用線性鍵盤的設(shè)計(jì)。與AT89C52單片機(jī)的P2.2-P2.4口相連接。各按鍵開關(guān)均采用了上拉電阻,保證在按鍵斷開時(shí),各I/O口線有確定的高電平。本系統(tǒng)共設(shè)有三個(gè)按鍵:第一個(gè)鍵是確定鍵,第二個(gè)是溫度步進(jìn)加鍵(步進(jìn)值為1攝氏度),第三個(gè)鍵為溫度步減鍵(步進(jìn)值為1攝氏度),如圖4-5所示。圖4-5鍵盤與單片機(jī)的連接報(bào)警和控制電路的硬件設(shè)計(jì)基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第25頁(yè)??刂齐娐凡捎矛F(xiàn)代工業(yè)中流行的固態(tài)繼電器,實(shí)現(xiàn)小信號(hào)控制大功率輸出,弱電信號(hào)控制強(qiáng)電器件的功效[8]?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第25頁(yè)。本次設(shè)計(jì)預(yù)留了兩個(gè)繼電器,分別用來接加溫設(shè)備和通風(fēng)降溫設(shè)備。如果室內(nèi)的溫度低于設(shè)定的溫度范圍內(nèi)時(shí),此時(shí)白色指示燈亮起并接通加溫設(shè)備。如果室內(nèi)的溫度高于設(shè)定的最高溫度時(shí),紅色指示燈亮起,并斷開加溫設(shè)備同時(shí)接通通風(fēng)降溫設(shè)備進(jìn)行降溫[9]。報(bào)警電路與控制電路如圖4-6所示。圖4-6報(bào)警和控制電路與單片機(jī)的連接看門狗的硬件設(shè)計(jì)基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第26頁(yè)。在單片機(jī)的工作現(xiàn)場(chǎng),存在著各種各樣的干擾源。這些干擾源很可能引起程序跑飛,造成死機(jī)或程序的非正常運(yùn)行,如不及時(shí)復(fù)位,容易造成損失。為了保證單片機(jī)穩(wěn)定而可靠的運(yùn)行,需要電壓監(jiān)控電路,避免掉電時(shí)能及時(shí)把重要數(shù)據(jù)保護(hù)起來??撮T狗就是在程序跑飛或死機(jī)時(shí),對(duì)系統(tǒng)進(jìn)行重新置位或者復(fù)位,以使系統(tǒng)恢復(fù)正常運(yùn)行的一種專用電路?,F(xiàn)在常用的看門狗主要有兩種:軟件狗和硬件狗。軟件狗實(shí)際上就是通常所說的軟件陷阱,是純軟件的處理方法。硬件狗現(xiàn)在更多地被采用。所謂硬件狗,就是一個(gè)能夠發(fā)出“復(fù)位”信號(hào)的計(jì)數(shù)器或定時(shí)器電路[10]?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第26頁(yè)。本次設(shè)計(jì)使用的復(fù)位芯片為IMP813L微處理器專用監(jiān)控器,構(gòu)成的看門狗電路如圖4-7所示。圖4-7看門狗電路與單片機(jī)的連接系統(tǒng)時(shí)鐘的設(shè)計(jì)基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第27頁(yè)。時(shí)鐘電路是用來產(chǎn)生AT89C52單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89C52本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89C52在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘有兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第27頁(yè)。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來為系統(tǒng)提供時(shí)鐘信號(hào)。AT89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器[11]。電路中的C1、C2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ~12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。本次系統(tǒng)的時(shí)鐘電路設(shè)計(jì)如圖4-8所示。圖4-8鍵盤與單片機(jī)的連接基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第28頁(yè)。電源電路的硬件設(shè)計(jì)基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第28頁(yè)。電源電路的設(shè)計(jì)是系統(tǒng)硬件設(shè)計(jì)的重要組成部分,其設(shè)計(jì)直接影響系統(tǒng)的精度和可靠性。電源電路的設(shè)計(jì)通常需達(dá)到以下要求:電源電路的高輸出質(zhì)量,即輸出紋波小、穩(wěn)壓效果好;電源電路的高效率和微功耗,直接關(guān)系到系統(tǒng)內(nèi)電池的使用時(shí)間;可靠性要求,電源電路具有較低的電磁輻射,不影響系統(tǒng)其他部分的正常工作;微型化,不能占用過多的電路板空間[12]。本次設(shè)計(jì)采用了穩(wěn)壓芯片1117作為電源的穩(wěn)壓片提供系統(tǒng)+5V的電源電壓。電源電路的設(shè)計(jì)如圖4-9所示。圖4-9電源電路的設(shè)計(jì)數(shù)據(jù)存儲(chǔ)器的掉電保護(hù)由于電網(wǎng)中的電壓不穩(wěn)定,突然掉電事故難免發(fā)生。發(fā)生掉電時(shí)必須保存好現(xiàn)場(chǎng)數(shù)據(jù),待電壓恢復(fù)正常,系統(tǒng)便能從掉電處繼續(xù)執(zhí)行程序,有利于提高系統(tǒng)的穩(wěn)定性。單片機(jī)系統(tǒng)內(nèi)的RAM數(shù)據(jù)是非常容易丟失的,特別是一些珍貴的科研數(shù)據(jù),一旦丟失后果不堪設(shè)想,因此掉電保護(hù)是必須要做的,一旦電源發(fā)生掉電現(xiàn)象,在掉電的瞬間系統(tǒng)能自動(dòng)保護(hù)RAM中的數(shù)據(jù)和系統(tǒng)的運(yùn)行狀態(tài),當(dāng)電源恢復(fù)正常供電后能恢復(fù)到掉電前的工作狀態(tài)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第29頁(yè)。進(jìn)行掉電保護(hù)有二種方法:一是進(jìn)行實(shí)時(shí)保護(hù),即通過檢測(cè)掉電的電路,在電源電壓跌倒一定數(shù)值之前,把要保護(hù)的數(shù)據(jù)先行轉(zhuǎn)移到適當(dāng)?shù)牡胤奖Wo(hù)起來,待重新加電后,再恢復(fù)數(shù)據(jù);二是永久保護(hù),即直接把要保護(hù)的RAM區(qū)加上備用電源或者整個(gè)系統(tǒng)用可靠的不間斷電源UPS供電[13]?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第29頁(yè)。整個(gè)系統(tǒng)的電路設(shè)計(jì)由各個(gè)子電路組成的系統(tǒng)就完成了本次論文設(shè)計(jì)的功能:利用采樣值和鍵盤設(shè)定值進(jìn)行比較運(yùn)算的方法來簡(jiǎn)單精確地控制溫度。先通過鍵盤輸入設(shè)定溫度的范圍,保存在單片機(jī)中指定單元,再利用溫度傳感器DS18B20進(jìn)行信號(hào)的采集,送入單片機(jī)中,保存在采樣值單元。然后把采樣值與設(shè)定值進(jìn)行比較運(yùn)算,得出控制量,從而調(diào)節(jié)繼電器觸發(fā)端的通斷,來實(shí)現(xiàn)將溫度控制在一定的范圍內(nèi)。根據(jù)以上各個(gè)系統(tǒng)的分步設(shè)計(jì)結(jié)果,組成整個(gè)系統(tǒng)的設(shè)計(jì)電路圖,見附錄Ⅰ、Ⅱ、Ⅲ?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第30頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第30頁(yè)。硬件的抗干擾設(shè)計(jì)隨著單片機(jī)在各個(gè)領(lǐng)域中的應(yīng)用越來越廣泛,對(duì)其可靠性要求也越來越高。單片機(jī)系統(tǒng)的可靠性由多種因素決定,其中系統(tǒng)抗干擾性能是可靠性的重要指標(biāo)。工業(yè)環(huán)境有強(qiáng)烈的電磁干擾,因此必須采取抗干擾措施,否則難以穩(wěn)定、可靠運(yùn)行。干擾來源及分析單片機(jī)在一定的環(huán)境條件下工作,就會(huì)有自然因素或人為因素產(chǎn)生的電磁信號(hào)等,這些信號(hào)通過一定的途徑進(jìn)入單片機(jī)系統(tǒng)或測(cè)量控制通道,產(chǎn)生了系統(tǒng)正常工作所不需要的信號(hào),影響了單片機(jī)的正常工作。同時(shí),單片機(jī)控制系統(tǒng)內(nèi)部也會(huì)產(chǎn)生影響正常工作的信號(hào),我們把這些影響正常工作的信號(hào)稱為噪聲,又稱為干擾。在單片機(jī)控制系統(tǒng)中,出現(xiàn)了干擾,就會(huì)影響指令的正常執(zhí)行,造成控制事故或控制失靈在測(cè)量控制通道中產(chǎn)生了干擾,會(huì)使測(cè)量產(chǎn)生誤差,計(jì)數(shù)器受到干擾,就會(huì)亂記數(shù),造成記數(shù)不準(zhǔn),電壓的沖擊有可能使系統(tǒng)遭到致命的破壞。在工業(yè)環(huán)境中的干擾一般是以脈沖形式進(jìn)入系統(tǒng),渠道主要有三條:1.空間干擾(場(chǎng)干擾),電磁信號(hào)通過空間輻射進(jìn)入系統(tǒng)。2.過程通道干擾,干擾通過與系統(tǒng)相連的前向通道、后向通道及與其它系統(tǒng)的相互通道進(jìn)入。3.供電系統(tǒng)干擾,電磁信號(hào)通過供電線路進(jìn)入系統(tǒng)。一般情況下空間干擾在強(qiáng)度上遠(yuǎn)小于其它兩種,故微機(jī)系統(tǒng)中應(yīng)重點(diǎn)防止過程通道與供電系統(tǒng)的干擾??垢蓴_措施有硬件措施和軟件措施。硬件措施如果得當(dāng),可將絕大部分干擾拒之門外,但仍然會(huì)有少數(shù)干擾進(jìn)入微機(jī)系統(tǒng),故軟件措施作為第二道防線必不可少。由于軟件抗干擾措施是以CPU為代價(jià)的,如果沒有硬件消除絕大多數(shù)干擾,CPU將疲于奔命,無暇顧及正常工作,嚴(yán)重影響系統(tǒng)的工作效率和實(shí)時(shí)性。因此,一個(gè)成功的抗干擾系統(tǒng)是由硬件和軟件相結(jié)合構(gòu)成的[14]?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第31頁(yè)。硬件抗干擾措施基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第31頁(yè)。光電隔離:在輸入和輸出通道上采用光電隔離器來進(jìn)行信息傳輸是很有好處的,它將微機(jī)系統(tǒng)與各種傳感器、開關(guān)、執(zhí)行機(jī)構(gòu)從電氣上隔離開來,很大一部分干擾將被阻擋。過壓保護(hù)電路:在輸入輸出通道上應(yīng)采用一過壓保護(hù)電路,以防引入高電壓,傷害微機(jī)系統(tǒng)。過壓保護(hù)電路由限流電阻和穩(wěn)壓管組成,限流電阻選擇要適宜,太大會(huì)引起信號(hào)衰減,太小起不到保護(hù)穩(wěn)壓管的作用。穩(wěn)壓管的選擇也要適宜,其穩(wěn)壓值以略高于最高傳送信號(hào)電壓為宜,太低將對(duì)有效信號(hào)起限幅效果,使信號(hào)失真。步進(jìn)電機(jī)驅(qū)動(dòng)電路即采用過壓保護(hù)電路??垢蓴_電源:微機(jī)系統(tǒng)供電線路是干擾的主要來源,電源采用隔離變壓器接入電網(wǎng),可以防止電網(wǎng)的干擾侵入微機(jī)系統(tǒng)。隔離變壓器與普通變壓器的不同之處在于它在初級(jí)和次級(jí)之間加了一層屏蔽層,并將它和鐵芯一起接地。配置去耦電容:原則上每個(gè)集成電路芯片都應(yīng)安置一個(gè)0.01mF的陶瓷電容器,可以消除大部分高頻干擾。良好接地:對(duì)于有模擬電路又有數(shù)字電路,因此數(shù)字地與模擬地要分開,最后只在一點(diǎn)相連,如果兩者不分,則會(huì)互相干擾。印刷電路板的抗干擾設(shè)計(jì)印制電路板是器件、信號(hào)線、電源線的高密度集合體,但決不是器件、線路的簡(jiǎn)單密集,布線和布局好壞對(duì)可靠性影響很大。在進(jìn)行PCB設(shè)計(jì)時(shí)。必須遵守PCB設(shè)計(jì)的一般原則,并應(yīng)符合抗干擾設(shè)計(jì)的要求。首先,要考慮PCB尺寸大小。PCB尺寸過大時(shí),印制線條長(zhǎng),阻抗增加,抗噪聲能力下降,成本也增加;過小,則散熱不好,且鄰近線條易受干擾。在確定PCB尺寸后。再確定特殊元件的位置。最后,根據(jù)電路的功能單元,對(duì)電路的全部元器件進(jìn)行布局[14]。根據(jù)印制線路板電流的大小,盡量加粗電源線寬度,減少環(huán)路電阻。同時(shí)、使電源線、地線的走向和數(shù)據(jù)傳遞的方向一致,這樣有助于增強(qiáng)抗噪聲能力[15]。地線設(shè)計(jì)的原則是:基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第32頁(yè)。1.數(shù)字地與模擬地分開。若線路板上既有邏輯電路又有線性電路,應(yīng)使它們盡量分開。低頻電路的地應(yīng)盡量采用單點(diǎn)并聯(lián)接地,實(shí)際布線有困難時(shí)可部分串聯(lián)后再并聯(lián)接地。高頻電路宜采用多點(diǎn)串聯(lián)接地,地線應(yīng)短而租,高頻元件周圍盡量用柵格狀大面積地箔?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第32頁(yè)。2.接地線應(yīng)盡量加粗。若接地線用很紉的線條,則接地電位隨電流的變化而變化,使抗噪性能降低。因此應(yīng)將接地線加粗,使它能通過三倍于印制板上的允許電流。如有可能,接地線應(yīng)在2-3mm以上。3.接地線構(gòu)成閉環(huán)路。只由數(shù)字電路組成的印制板,其接地電路布成團(tuán)環(huán)路大多能提高抗噪聲能力。系統(tǒng)的強(qiáng)制復(fù)位對(duì)于失控的CPU,最簡(jiǎn)單的方法就是使其復(fù)位,本系統(tǒng)中加入了看門狗電路。看門狗能在程序跑飛或死機(jī)時(shí),對(duì)系統(tǒng)進(jìn)行重新置位或者復(fù)位。此電路提供了自動(dòng)復(fù)位和隨時(shí)的手動(dòng)復(fù)位。保障了系統(tǒng)的正常運(yùn)行?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第33頁(yè)?;趩纹瑱C(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第33頁(yè)。系統(tǒng)的軟件設(shè)計(jì)軟件設(shè)計(jì)概述多點(diǎn)溫度檢測(cè)報(bào)警系統(tǒng)軟件設(shè)計(jì)主要是要實(shí)現(xiàn)主機(jī)對(duì)不同位置的多個(gè)數(shù)字溫度傳感器進(jìn)行通信,主機(jī)對(duì)DS18B20的操作是通過向它發(fā)送各種操作命令來實(shí)現(xiàn)的,這些操作命令可以分為兩類:ROM操作命令和RAM操作命令.由于單片機(jī)與單總線溫度傳感器是通過1根信號(hào)線鏈接的,主機(jī)要實(shí)現(xiàn)各類操作命令以及溫度的讀取與設(shè)置,必須嚴(yán)格地按照DS18B20的通信協(xié)議來進(jìn)行。在進(jìn)行數(shù)據(jù)傳輸時(shí)為了保證數(shù)據(jù)的完整性,此通信協(xié)議規(guī)定了幾種信號(hào)類型:復(fù)位、存在脈沖時(shí)隙;寫“0”、寫“1”時(shí)隙;讀“0”、讀“1”時(shí)隙。所有的數(shù)據(jù)傳輸必須從字節(jié)的低位開始,編寫程序時(shí)必須按照其對(duì)應(yīng)的時(shí)序操作,否則不能獲得完整正確的數(shù)據(jù)。為了方便程序多點(diǎn)溫度的讀取操作,筆者設(shè)計(jì)了對(duì)DS18B20進(jìn)行各類操作重要函數(shù)進(jìn)行如下說明:bitresetpulse(void);發(fā)送復(fù)位脈沖,每次對(duì)DS18B20操作必先調(diào)用此函數(shù);voidwritecommandtods18b20(unsignedcharcommand);向DS18B20寫一個(gè)字節(jié);unsignedcharreaddatafromds18b20(void);從DS18B20讀一個(gè)字節(jié)。命令獲取序列號(hào)有兩條命令專門用于獲取傳感器序列號(hào):讀ROM命令(33H)和搜索ROM命令(FOH)。讀ROM命令只能在總線上僅有一個(gè)傳感器的情況下使用。搜索ROM命令則允許總線主機(jī)使用一種“消去”處理方法來識(shí)別總線上所有的傳感器序列號(hào)。為了建立64位ROM代碼和測(cè)量位置點(diǎn)傳感器之間的關(guān)系,選用讀ROM命令(33H),可以通過單根總線把各個(gè)位置的傳感器序列號(hào)讀取出來;同時(shí),在AT89S52單片機(jī)的CODE區(qū)內(nèi)存放現(xiàn)場(chǎng)各溫度傳感器的序列號(hào),每個(gè)傳感器采用6byte的存儲(chǔ)區(qū),在系統(tǒng)程序比較穩(wěn)定的情況下,省去CRC的校驗(yàn)。DS18B20的64位ROM代碼結(jié)構(gòu),如圖6-1所示。8位CRC代碼48位序列號(hào)8位產(chǎn)品類型高高低圖6-1多點(diǎn)溫度檢測(cè)程序流程圖基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第34頁(yè)。基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第34頁(yè)。多點(diǎn)溫度測(cè)量根據(jù)AT89S52單片機(jī)CODE區(qū)內(nèi)存放現(xiàn)場(chǎng)各溫度傳感器的序列號(hào),根據(jù)以下流程可以實(shí)現(xiàn)多點(diǎn)的溫度測(cè)量,程序流程如圖6-2所示。筆者設(shè)計(jì)時(shí)選取DS18B20默認(rèn)的12位轉(zhuǎn)換分辨率。在主程序中還有LED顯示模塊,鍵盤修改上下限報(bào)警值模塊以及與上位計(jì)算機(jī)串口通信模塊。單片機(jī)系統(tǒng)初始化開始單片機(jī)系統(tǒng)初始化開始對(duì)DS18B20發(fā)送復(fù)位脈沖對(duì)DS18B20發(fā)送復(fù)位脈沖While(resetppulse(void)):發(fā)送跳過ROM命令(CCH)發(fā)送跳過ROM命令(CCH)Writecommandtods18b20(Oxcc):對(duì)所有DS18B20發(fā)送溫度轉(zhuǎn)換命令(44H)對(duì)所有DS18B20發(fā)送溫度轉(zhuǎn)換命令(44H)Writecommandtods18b20(Ox44):延時(shí)1s,發(fā)送匹配ROM命令(55H)Writecommandtods18b20(Ox55):延時(shí)1s,發(fā)送匹配ROM命令(55H)Writecommandtods18b20(Ox55):取出AT89S52單片機(jī)CODE區(qū)內(nèi)存的序列號(hào)發(fā)送到單總線取出AT89S52單片機(jī)CODE區(qū)內(nèi)存的序列號(hào)發(fā)送到單總線Writecommandtods18b20(SeriesNnmber):發(fā)送讀取溫度命令(BEH)發(fā)送讀取溫度命令(BEH)Writecommandtods18b20(OxBE):讀取溫度并處理、送上位機(jī)、顯示等readdatafromds18b20():讀取溫度并處理、送上位機(jī)、顯示等readdatafromds18b20():0N所有DS18B20讀取N所有DS18B20讀取完畢YY圖6-2程序流程圖圖6-2程序流程圖系統(tǒng)報(bào)警通過鍵盤輸入用戶可以對(duì)多個(gè)測(cè)溫點(diǎn)設(shè)置報(bào)警上下限,而且能夠掉電存儲(chǔ),這得益于DS18B20本身帶有一個(gè)3字節(jié)的EEPROM。其中,有兩字節(jié)可以用來存儲(chǔ)報(bào)警限值。在每次鍵盤輸入報(bào)警限值后,將其保存在DS18B20的EEPROM中,代碼如下:基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第35頁(yè)。while(resetpulse());//發(fā)復(fù)位脈沖并等待存在脈沖基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)全文共46頁(yè),當(dāng)前為第35頁(yè)。writecommandtods18b20(0xcc);//發(fā)條過RAM命令writecommandtods18b20(0x4e);//寫溫度寄存器命令writecommandtods18b20(TH);//寫THwritecommandtods18b20(TL);//寫TLwritecommandtods18b20(0x7f);//寫配置寄存器,默認(rèn)值while(resetpulse());//發(fā)復(fù)位脈沖并等待存在脈沖writecommandtods18b

溫馨提示

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