基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)_第1頁
基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)_第2頁
基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)_第3頁
基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)_第4頁
基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)【摘要】溫度是一個(gè)和人們息息相關(guān)的物理量,溫度的變化會(huì)給我們帶來重大的影響,因此對(duì)溫度的檢測(cè)控制非常重要,其檢測(cè)控制一般使用各式各樣的傳感器。本設(shè)計(jì)使用的是DS18B20,它是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖該系統(tǒng)由上位機(jī)和下位機(jī)兩大局部組成。下位機(jī)實(shí)現(xiàn)溫度的檢測(cè)并提供標(biāo)準(zhǔn)RS232通信接口,芯片使用了ATMEL公司的AT89C51單片機(jī)和DALLAS公司的DS18B20數(shù)字溫度傳感器。上位機(jī)局部使用了通用PC。該系統(tǒng)可應(yīng)用于倉庫測(cè)溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域【關(guān)鍵字】:溫度測(cè)量;單總線;數(shù)字溫度傳感器;單片機(jī)目錄【摘要】4一、緒論6〔一〕系統(tǒng)背景6〔二〕系統(tǒng)概述6二、方案論證7〔一〕傳感器局部7〔二〕主控制局部8〔三〕系統(tǒng)方案8三、硬件設(shè)計(jì)10〔一〕主控制器10〔二〕溫度傳感器13〔三〕溫度測(cè)試電路16〔四〕鍵盤與顯示電路17〔五〕電源以及看門狗電路25四軟件設(shè)計(jì)26〔一〕概述26〔二〕程序設(shè)計(jì)28五結(jié)語28參考文獻(xiàn)29附錄30附錄一:溫度測(cè)試子程序流程圖30附錄二主電路電氣原理圖31致謝32基于單片機(jī)的多點(diǎn)溫度檢測(cè)系統(tǒng)一、緒論〔一〕系統(tǒng)背景21世紀(jì),科學(xué)技術(shù)的開展日新月異,科技的進(jìn)步帶動(dòng)了測(cè)量技術(shù)的開展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速開展的信息時(shí)代,測(cè)量技術(shù)也成為當(dāng)今科技的一個(gè)主流,廣泛地深入到研究和應(yīng)用工程的各個(gè)領(lǐng)域。溫度是一個(gè)和人們生活環(huán)境有著密切關(guān)系的物理量,也是一種在生產(chǎn)、科研、生活中需要測(cè)量和控制的重要物理量,是國際單位制七個(gè)根本量之一。溫度的變化會(huì)給我們的生活、工作、生產(chǎn)等帶來重大影響,因此對(duì)溫度的測(cè)量至關(guān)重要。其測(cè)量控制一般使用各式各樣形態(tài)的溫度傳感器。隨著現(xiàn)代計(jì)算機(jī)和自動(dòng)化技術(shù)的開展,作為各種信息的感知、采集、轉(zhuǎn)換、傳輸相處理的功能器件,溫度傳感器的作用日顯突出,已成為自動(dòng)檢測(cè)、自動(dòng)控制系統(tǒng)和計(jì)量測(cè)試中不可缺少的重要技術(shù)工具,其應(yīng)用已普及工農(nóng)業(yè)生產(chǎn)和日常生活的各個(gè)領(lǐng)域。分布式溫度傳感器在電力工業(yè)、煤礦、森林、火災(zāi)、高層建筑、航空、航天飛行器等有著重要的應(yīng)用前景,引起研究人員的廣泛關(guān)注。近年來,已經(jīng)有不少分布式溫度傳感器的報(bào)道,包括基于光纖非線性效應(yīng)的拉曼溫度傳感器等,但由于其昂貴的本錢而無法得到廣泛的應(yīng)用。〔二〕系統(tǒng)概述本設(shè)計(jì)使用了美國Dallas半導(dǎo)體公司的新一代數(shù)字式溫度傳感器DS18B20,它具有獨(dú)特的單總線接口方式,即允許在一條信號(hào)線上掛接數(shù)十甚至上百個(gè)數(shù)字式傳感器,從而使測(cè)溫裝置與各傳感器的接口變得十分簡單,克服了模擬式傳感器與微機(jī)接口時(shí)需要的A/D轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點(diǎn)。以AT89C51單片機(jī)作為控制核心,提出了一種基于DS18B20的分布式溫度傳感系統(tǒng),多個(gè)溫度傳感節(jié)點(diǎn)通過單總線通過單總線與單片機(jī)相聯(lián)形成分布式系統(tǒng)。單片機(jī)通過實(shí)時(shí)監(jiān)控溫度的變化,通過128×64圖形液晶顯示各節(jié)點(diǎn)溫度的數(shù)值,當(dāng)溫度值超出允許范圍時(shí),報(bào)警器開始報(bào)警,從而遠(yuǎn)程實(shí)現(xiàn)對(duì)整個(gè)溫度系統(tǒng)的管理和控制。這種分布式溫度測(cè)量系統(tǒng)具有本錢低廉、傳感精度高、系統(tǒng)穩(wěn)定、易于管理等優(yōu)點(diǎn)。二、方案論證溫度檢測(cè)系統(tǒng)有那么共同的特點(diǎn):測(cè)量點(diǎn)多、環(huán)境復(fù)雜、布線分散、現(xiàn)場離監(jiān)控室遠(yuǎn)等。假設(shè)采用一般溫度傳感器采集溫度信號(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)較大的偏差;又因?yàn)闄z測(cè)環(huán)境復(fù)雜、測(cè)量點(diǎn)多、信號(hào)傳輸距離遠(yuǎn)及各種干擾的影響,會(huì)使檢測(cè)系統(tǒng)的穩(wěn)定性和可靠性下降。所以多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì)的關(guān)鍵在于兩局部:溫度傳感器的選擇和主控單元的設(shè)計(jì)。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首①?!惨弧硞鞲衅骶植?.方案一采用熱敏電阻,可滿足40攝氏度至90攝氏度測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)1攝氏度的信號(hào)是不適用的。而且在溫度測(cè)量系統(tǒng)中,采用單片溫度傳感器,比方AD590,LM35等.但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測(cè)溫裝置的結(jié)構(gòu)較復(fù)雜.另外,這種測(cè)溫裝置的一根線上只能掛一個(gè)傳感器,不能進(jìn)行多點(diǎn)測(cè)量.即使能實(shí)現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。2.方案二AD590是一種單片集成的兩端式溫度敏感電流源,它具有線性優(yōu)良、性能穩(wěn)定、靈敏的高、無需補(bǔ)償、熱容量小、抗干擾能力強(qiáng)、可遠(yuǎn)距離測(cè)溫且使用方便的優(yōu)點(diǎn)。首先要通過溫度傳感器將溫度轉(zhuǎn)換成電量,把它的電流信號(hào)轉(zhuǎn)換成電信號(hào),然后放大,輸入到A/D轉(zhuǎn)換電路,在輸入到數(shù)碼管顯示出來。3.方案三進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都使用傳感器,所以可以采用一只溫度傳感器DS18B20,此傳感器可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換就可以滿足設(shè)計(jì)要求。采用數(shù)字溫度芯片DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS1820和微控制器AT89C51構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比擬簡單,體積也不大,且由于AT89C51可以帶多個(gè)DSB1820,因此可以非常容易實(shí)現(xiàn)多點(diǎn)測(cè)量.輕松的組建傳感器網(wǎng)絡(luò)②。4.方案論證從以上三種方案,很容易看出,方案一、方案二需要對(duì)溫度信號(hào)進(jìn)行放大、轉(zhuǎn)換,十分麻煩,電路復(fù)雜,且工作量大,穩(wěn)定性差。方案三,電路比擬簡單,軟件設(shè)計(jì)也比擬簡單,故采用方案三。采用溫度芯片DSB1820測(cè)量溫度,可以表達(dá)系統(tǒng)芯片化這個(gè)趨勢(shì)。局部功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時(shí)更塊。而且,集成塊的使用,有效地防止外界的干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路開展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)?!捕持骺刂凭植?.方案一此方案采用PC機(jī)實(shí)現(xiàn)。它可在線編程,可在線仿真的功能,這讓調(diào)試變得方便。且人機(jī)交互友好。但是PC機(jī)輸出信號(hào)不能直接與DS18B20通信。需要通過RS232電平轉(zhuǎn)換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便。而且在一些環(huán)境比擬惡劣的場合,PC機(jī)的體積大,攜帶安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩。2.方案二此方案采用AT89C51八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC機(jī)通信.運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)〔PC微型計(jì)算機(jī)〕,下位機(jī)〔單片機(jī)〕多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟②。3.方案論證從以上兩個(gè)方案可以看出,方案二更適合本設(shè)計(jì),因?yàn)樗殷w積小,硬件實(shí)現(xiàn)簡單,安裝方便。故本設(shè)計(jì)采用方案二〔三〕系統(tǒng)方案綜上所述,傳感器局部采用溫度傳感器DS18B20,主控局部采用AT89C51單片機(jī)??傮w結(jié)構(gòu)方框圖如圖2.1所示。圖2.1總體結(jié)構(gòu)方框圖三、硬件設(shè)計(jì)〔一〕主控制器AT89C51是一種集成了眾多功能部件、功能強(qiáng)大的單片機(jī),適合于要求硬件功能強(qiáng)大,運(yùn)算速度塊,工作環(huán)境惡劣,可靠性高,擴(kuò)展功能強(qiáng)及低功耗的應(yīng)用系統(tǒng)。并且它的市場貨源充足。所以本設(shè)計(jì)選擇了AT89C51單片機(jī)。1.AT89C51③簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51?指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案2.AT89C51的特性·與MCS-51兼容·4K字節(jié)可編程FLASH存儲(chǔ)器·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保存時(shí)間:10年·全靜態(tài)工作:0Hz-24MHz·三級(jí)程序存儲(chǔ)器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路3.管腳說明AT89C51單片機(jī)40引腳分布如圖3.1所示:如圖3.1T89C51單片機(jī)40引腳分布圖VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫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口作為第八位地址接收。P2口: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口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0RXD〔串行輸入口〕P3.1TXD〔串行輸出口〕P3.2/INT0〔外部中斷0〕P3.3/INT1〔外部中斷1〕P3.4T0〔記時(shí)器0外部輸入〕P3.5T1〔記時(shí)器1外部輸入〕P3.6/WR〔外部數(shù)據(jù)存儲(chǔ)器寫選通〕P3.7/RD〔外部數(shù)據(jù)存儲(chǔ)器讀選通〕P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(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:來自反向振蕩器的輸出?!捕硿囟葌鞲衅鬟@里我們用到溫度芯片DS18B20。DS18B20是DALLAS公司的最新單線數(shù)字溫度傳感器④,具有3引腳TO-92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路,而且它體積更小、適用電壓更寬、更經(jīng)濟(jì),DS18B20是世界上第一片支持“一線總線〞接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。它的測(cè)量溫度范圍為-55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C?,F(xiàn)場溫度直接以“一線總線〞的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測(cè)量⑤,如:環(huán)境控制、設(shè)備或過程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更廉價(jià),體積更小。DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!繼“一線總線〞的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)⑥。DS18B20內(nèi)部結(jié)構(gòu)1.DS18B20的內(nèi)部結(jié)構(gòu)如圖3.2所示。圖3.2DS18B20內(nèi)部結(jié)構(gòu)圖DS18B20的管腳排列如下列圖3.3圖3.3DS18B20的管腳排列DS18B20有4個(gè)主要的數(shù)據(jù)部件:

①64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號(hào)和8位家族代碼(28H)組成。②溫度靈敏元件。③非易失性溫度報(bào)警觸發(fā)器TH和TL??赏ㄟ^軟件寫入用戶報(bào)警上下限值。④配置存放器。配置存放器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。DS18B20在0工作時(shí)按此存放器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖3.4所示。TMR1R011111MSB

LSB圖3.4DS18B20配置存放器結(jié)構(gòu)圖其中,TM:測(cè)試模式標(biāo)志位,出廠時(shí)被寫入0,不能改變;R0、R1:溫度計(jì)分辨率設(shè)置位,其對(duì)應(yīng)四種分辨率如下表所列,出廠時(shí)R0、R1置為缺省值:R0=1,R1=1〔即12位分辨率〕,用戶可根據(jù)需要改寫配置存放器以獲得適宜的分辨率。配置存放器與分辨率關(guān)系如表3.1所示:R0R1溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間/us00993.750110187.510113751112750表3.1配置存放器與分辨率關(guān)系〔2〕高速暫存存儲(chǔ)器⑦高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如圖3.5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如下圖。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。溫度低位溫度高位THTL配置保存保存保存8位CRCLSBMSB圖3.5DS18B20存儲(chǔ)器映像圖溫度值格式圖DS18B20溫度數(shù)據(jù)表:232221202-12-22-32-4MSBLSBSSSSS262524表3.2DS18B20溫度數(shù)據(jù)表典型對(duì)應(yīng)的溫度值表:溫度/℃二進(jìn)制表示十六進(jìn)制表示+125

+25.0625

+10.125

+0.5

0

-0.5

-10.125

-25.0625

-550000011111010000

0000000110010001

0000000010100010

0000000000001000

0000000000000000

1111111111111000

1111111101011110

1111111001101111

111111001001000007D0H

0191H

00A2H

0008H

0000H

FFF8H

FF5EH

FE6FH

FC90H表3.3DS18B20溫度值表〔三〕溫度測(cè)試電路1.硬件連接電路DS18B20最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20的數(shù)據(jù)I/O均由同一條線來完成硬件連接電路如圖3.6所示:AT89C51AT89C51DS18B201#DS18B202#DS18B203#DS18B2020#VCC=5V4.7K1—WIRE圖3.6溫度測(cè)試連接電路本系統(tǒng)為多點(diǎn)溫度測(cè)試。DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個(gè)DS18B20,但時(shí)間應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的DS18B20仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過80M,否那么也會(huì)影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機(jī)的多個(gè)I/O來驅(qū)動(dòng)多路DS18B20。在實(shí)際應(yīng)用中還可以使用一個(gè)MOSFET將I/O口線直接和電源相連,起到上拉的作用。2.對(duì)DS18B20的設(shè)計(jì)的考前須知〔1〕對(duì)硬件結(jié)構(gòu)簡單的單線數(shù)字溫度傳感器DS18B20進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操作順序進(jìn)行,讀、寫時(shí)間片程序要嚴(yán)格按要求編寫。尤其在使用DS18B20的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更高。〔2〕有多個(gè)測(cè)溫點(diǎn)時(shí),應(yīng)考慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動(dòng)指示,進(jìn)行自動(dòng)DS18B20序列號(hào)和自動(dòng)排序,以減少調(diào)試和維護(hù)工作量。〔3〕測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。DS18B20在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將VCC與GND接在一起,焊接牢固。假設(shè)VCC脫開未接,傳感器只送85.0℃的溫度值?!?〕實(shí)際應(yīng)用時(shí),要注意單線的驅(qū)動(dòng)能力,不能掛接過多的DS18B20,同時(shí)還應(yīng)注意最遠(yuǎn)接線距離。另外還應(yīng)根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)?!菜摹虫I盤與顯示電路⑦1.鍵盤電路采用陣列式輸入,排成4行4列,總共16個(gè)按鍵。16個(gè)按鍵的輸入口為P1,當(dāng)有鍵按下的時(shí)候,通過分別對(duì)各行各列進(jìn)行掃描并查表得出鍵值。這樣可以有效的減少對(duì)單片機(jī)I/O口的占用,使單片機(jī)有更多的I/O口來實(shí)現(xiàn)其他的功能。使單片機(jī)的設(shè)計(jì)更加靈活有效。如圖4.1所示,16個(gè)按鍵排列成4行4列,4個(gè)行的引線分別同P1口的P1.4~P1.7相聯(lián)接,4個(gè)列的引線通過一個(gè)上拉電阻分別聯(lián)接到P1.0~P1.3口。圖4.1鍵盤電路其中上拉電阻的值:R=4.7V/1.6mA=3KΩ。在鍵盤操作過程中假設(shè)四個(gè)按鍵同時(shí)按下時(shí),那么需要的上拉電阻值為12KΩ,故此上拉電阻取值為10KΩ。工作原理:從0列開始,順序行掃描,即該行輸出為0。每掃描一行,讀入列線數(shù)據(jù),從0開始,列檢查,找該行輸出為0的列,假設(shè)無,那么順序掃描下一行,并檢查其各列;假設(shè)找到某列線為0,那么該列與檢查行交叉的按鍵為被按下的鍵。從0行0列開始,順序?qū)存I編號(hào),就可以按掃描的值得到按鍵的值。本電路中從P1.3~P1.0順序輸出0,再檢查P1.7~P1.4。此鍵盤的實(shí)現(xiàn)要用軟件的方法識(shí)鍵和譯鍵。2顯示電路〔1〕LCD與單片機(jī)的接口電路LCD與單片機(jī)的接口電路如圖4.2所示:圖4.2LCD與單片機(jī)的接口電路(2)引腳分布及功能①12864液晶顯示屏共有20個(gè)引腳,其引腳名稱及引腳編號(hào)的對(duì)應(yīng)關(guān)系如圖4.3所示:圖4.312864液晶顯示模塊引腳分布圖②引腳功能如表1所示:表112864液晶顯示模塊引腳功能引腳符號(hào)引腳功能引腳符號(hào)引腳功能1VSS電源地15CS1CS1=1:芯片選擇左邊64*64點(diǎn)2VDD電源+5V16CS2CS2=1:芯片選擇右邊64*64點(diǎn)3VO液晶顯示驅(qū)動(dòng)電源0-5V17/RST復(fù)位〔低電平有效〕4RSH:數(shù)據(jù)輸入;L:指令碼輸入18VEELCD驅(qū)動(dòng)負(fù)電源5R/WH:數(shù)據(jù)讀??;L:數(shù)據(jù)寫入19A背光電源〔+〕6E使能信號(hào)。由H到L完成使能20K背光電源〔-〕7-14DB0-DB7數(shù)據(jù)線有些型號(hào)的模塊19、20腳為空腳(2)圖形液晶顯示原理12864液晶屏橫向一共有128個(gè)點(diǎn),縱向有64個(gè)點(diǎn),全屏分為左半屏和右半屏,DDRAM表與128×64點(diǎn)的一一對(duì)應(yīng)關(guān)系如表2所示:表212864液晶模塊內(nèi)部結(jié)構(gòu)左半屏右半屏CS1=1CS2=1Y=001…626301。。。6263行號(hào)X=0↓X=7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0DB70↓7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB78↓55DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB7DB0↓DB756↓63在液晶屏上顯示16*16點(diǎn)陣漢字首先將漢字轉(zhuǎn)換成相應(yīng)的代碼,在送入的液晶屏的相應(yīng)的位置,下面以“學(xué)〞字的顯示為例進(jìn)行說明,“學(xué)〞字在液晶屏的上的點(diǎn)陣排布如圖4.4所示,在顯示時(shí)先輸入漢字的第1頁的16位數(shù)據(jù),在輸入第2頁的16位數(shù)據(jù),即第1頁與第1列的公共局部即為要輸入的第1個(gè)數(shù)據(jù),第1頁與第2列的公共局部即為第2個(gè)要輸入的數(shù)據(jù),按照這種取碼方式可得出該字代碼如下:〔注:上面所說的第幾頁,第幾列是相對(duì)漢字所說的〕。DB40h,30h,11h,96h,90h,90h,91h,96hDB90h,90h,98h,14h,13h,50h,30h,00hDB04h,04h,04h,04h,04h,44h,84h,7EhDB06h,05h,04h,04h,04h,06h,04h,00h圖形顯示的工作原理與漢字顯示相似,如果在某位置顯示指定大小的圖形時(shí),首先利用圖形取模軟件,將圖形的代碼提取出來,再根據(jù)顯示漢字的原理將每頁碼的數(shù)據(jù)寫入相應(yīng)的存放器中即可。圖4.4(3)圖形液晶控制方法①讀狀態(tài)字〔StausRead〕RsR/WDB7DB6DB5DB4DB3DB2DB1DB001BUSY0ON/OFFRESET0000圖4.5讀狀態(tài)字狀態(tài)字是計(jì)算機(jī)了解12864-1當(dāng)前狀態(tài)的唯一的信息渠道。狀態(tài)字為一個(gè)字節(jié),其中僅3位有效位,它們是:BUSY表示當(dāng)前12864-1接口控制電路運(yùn)行狀態(tài)。BUSY=1表示12864正在處理計(jì)算機(jī)發(fā)來的指令或數(shù)據(jù)。此時(shí)接口電路被封鎖,不能接受除狀態(tài)字以外的任何操作。BUSY=0表示12864接口控制電路,已處于“準(zhǔn)備好〞狀態(tài),等待計(jì)算機(jī)的訪問。ON/OFF表示當(dāng)前的顯示狀態(tài)。ON/OFF=1表示關(guān)閉顯示狀態(tài),ON/OFF表示開顯示狀態(tài)。RESET表示當(dāng)前12864-1的工作狀態(tài),即反映RST端的電平狀態(tài)。當(dāng)RST為低電平狀態(tài)時(shí),12864-1處于復(fù)位工作狀態(tài),RESET=1。當(dāng)前RST為高電平狀態(tài)時(shí),12864-1為正常工作狀態(tài),RESET=0。在指令設(shè)置和數(shù)據(jù)讀寫時(shí)要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSY=0時(shí),計(jì)算機(jī)對(duì)12864的操作才能有效。因此計(jì)算機(jī)在每次對(duì)12864操作之前,都要讀出狀態(tài)字判斷BUSY是否為“0〞,那么計(jì)算機(jī)需要等待,直至BUSY=0為止。②顯示開關(guān)設(shè)置〔Displayon/off〕RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011111D圖4.6顯示開關(guān)設(shè)置該指令設(shè)置顯示開/關(guān)觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)的存儲(chǔ)器的工作方式,從而控制顯示屏上的顯示狀態(tài)。當(dāng)D=1為開顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的顯示效果。此時(shí)在狀態(tài)字中ON/OFF=0。當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示屏呈不顯示狀態(tài),但顯示存儲(chǔ)器并沒有被破壞,在狀態(tài)字中ON/OFF=1。③顯示起始行設(shè)置〔DisplayStartLine〕RSR/WDB7DB6DB5DB4DB3DB2DB1DB00011顯示起始行〔0~63〕圖4.7顯示起始行設(shè)置該指令設(shè)置了顯示起始行存放器的內(nèi)容。KS0108有64行顯示的管理能力,該指令中L5~L0為顯示起始行的地址,取值在0~3FH〔1~64行〕范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對(duì)應(yīng)的顯示存儲(chǔ)器的地址。如果定時(shí)間隔地,等間距地修改〔如加一或減一〕顯示起始行寄器的內(nèi)容,那么顯示屏將呈現(xiàn)內(nèi)容向上或向下平滑滾動(dòng)的顯示效果。④頁面地址設(shè)置[SetPage(Xaddress)]RSR/WDB7DB6DB5DB4DB3DB2DB1DB00010111Page(0~7)圖4.8頁面地址設(shè)置該指令設(shè)置了頁面地址X地址存放器的內(nèi)容。12864將顯示存儲(chǔ)器分成8頁,指令代碼中B2~B0就是要確定當(dāng)前所要選擇的頁面地址,取值范圍為0~7H,代表第1~8頁。該指令規(guī)定了以后的讀/寫操作將在哪一個(gè)頁面上進(jìn)行。⑤列地址設(shè)置〔SetYaddress〕RSR/WDB7DB6DB5DB4DB3DB2DB1DB00001Yaddress(0~63)圖4.9列地址設(shè)置該指令設(shè)置了Y地址計(jì)數(shù)器的內(nèi)容,DB5~DB0=0~3FH〔1~64〕代表某一個(gè)單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個(gè)單元上進(jìn)行。Y地址計(jì)數(shù)器具有自動(dòng)加一功能,在每一次讀/寫數(shù)據(jù)后它將自動(dòng)加一,所以在連續(xù)進(jìn)行讀/寫數(shù)據(jù)時(shí),Y地址計(jì)數(shù)器不必每次都設(shè)置一次。頁面地址的設(shè)置和列地址的設(shè)置將顯示存儲(chǔ)單元唯一地確定下來,為后來的顯示數(shù)據(jù)的讀/寫作了地址的選通。⑥寫指令數(shù)據(jù)RSR/WDB7DB7DB5DB4DB3DB2DB1DB000指令圖4.10寫指令數(shù)據(jù)此命令在在E的下降沿有效。⑦寫顯示數(shù)據(jù)〔WriteDisplayData〕RSR/WDB7DB6DB5DB4DB3DB2DB1DB010顯示數(shù)據(jù)圖4.11寫顯示數(shù)據(jù)該操作將8位數(shù)據(jù)寫入先前已確定的顯示存儲(chǔ)器的單元內(nèi),操作完成后列地址計(jì)數(shù)器自動(dòng)加一。⑧讀顯示數(shù)據(jù)〔ReadDisplayDate〕RSR/WDB7DB6DB5DB4DB3DB2DB1DB011顯示數(shù)據(jù)圖4.12讀顯示數(shù)據(jù)該操作將12864.-1接口部的輸出存放器的內(nèi)容讀出,然后列地址計(jì)數(shù)器自動(dòng)加一?!参濉畴娫匆约翱撮T狗電路1.電源電路因?yàn)閱纹瑱C(jī)工作電源為+5V,且底層電路功耗很小。采用7805三端穩(wěn)壓片即可滿足要求。具體電路如圖5.1所示。5.1電源電路2.看門狗電路考慮到底層電路板的工作環(huán)境相對(duì)惡劣,單片時(shí)機(jī)受到周圍環(huán)境的干擾,而出現(xiàn)程序跑飛,死機(jī)…等一些不可預(yù)知的不正常工作現(xiàn)象。工作人員也不可能到現(xiàn)場對(duì)單片機(jī)重起,本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路。定時(shí)查詢單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即對(duì)單片機(jī)延時(shí)重起。保證系統(tǒng)平安可靠的運(yùn)行。NE56604能為多種微處理器和邏輯系統(tǒng)提供復(fù)位信號(hào),其門限電平為4.2V。在電源突然掉電或電源電壓下降到低于門限電平時(shí)。NE56604將產(chǎn)生精確的復(fù)位信號(hào)。NE56604內(nèi)置一個(gè)看門狗定時(shí)器,用于監(jiān)控微處理器,以確保微處理器的正常運(yùn)行??撮T狗能產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào)用來終止任何由于微處理器故障而引發(fā)的不正常的系統(tǒng)操作。NE56604的看門狗的監(jiān)控周期為100mS〔典型值〕。具體電路圖如圖5.2所示。圖5.2看門狗電路圖四軟件設(shè)計(jì)〔一〕概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件根本定型后,軟件的功能也就根本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件〔主程序〕,它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件〔子程序〕,它是用來完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最適宜的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系〔二〕程序設(shè)計(jì)主程序調(diào)用了4個(gè)子程序,分別是顯示程序、鍵盤掃描以及按鍵處理程序、溫度測(cè)試程序、中斷控制程序、單片機(jī)與PC機(jī)串口通訊程序。鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識(shí)別及相關(guān)處理。溫度測(cè)試程序:對(duì)溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。顯示程序:控制系統(tǒng)的顯示局部。中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。串口通訊程序:實(shí)現(xiàn)PC機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給PC機(jī)1主程序設(shè)計(jì)將各個(gè)功能程序以子程序的形式寫好,當(dāng)寫主程序的時(shí)候,只需要調(diào)用子程序,然后在存放器的分配上作一下調(diào)整,消除存放器沖突和I/O沖突即可。程序應(yīng)該盡可能多的使用調(diào)用指令代替跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指令那么不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無論是修改還是維護(hù)都比擬方便。將功能程序段寫成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處那就是以后寫程序的時(shí)候如果要用到,就可以直接調(diào)用這個(gè)單元功能模塊。主程序流程圖如圖4.1所示圖4.1主程序流程圖2各模塊子程序設(shè)計(jì)下面對(duì)主要幾個(gè)子程序的流程圖做介紹:〔1〕溫度測(cè)試子程序設(shè)計(jì)見附錄一:溫度測(cè)試子程序流程圖⑨〔2〕中斷控制程序設(shè)計(jì)如圖4.2所示圖4.2中斷控制程序五結(jié)語經(jīng)過一段時(shí)間的不斷學(xué)習(xí)和努力,在劉老師的諄諄教導(dǎo)下,在其他老師及同學(xué)們的熱心幫助與指導(dǎo)下,基于DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)的畢業(yè)設(shè)計(jì)即將結(jié)束,根本完成了老師所規(guī)定的各項(xiàng)工作任務(wù)。本次設(shè)計(jì)的基于DS18B20的多點(diǎn)溫度測(cè)量

溫馨提示

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