基于溫度傳感器的溫度計(jì)設(shè)計(jì)_第1頁(yè)
基于溫度傳感器的溫度計(jì)設(shè)計(jì)_第2頁(yè)
基于溫度傳感器的溫度計(jì)設(shè)計(jì)_第3頁(yè)
基于溫度傳感器的溫度計(jì)設(shè)計(jì)_第4頁(yè)
基于溫度傳感器的溫度計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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ī)?cè)u(píng)定表學(xué)生姓名班級(jí)學(xué)號(hào)專業(yè)課程設(shè)計(jì)題目基于溫度傳感器的溫度計(jì)設(shè)計(jì)評(píng)語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌?023年1月9日課程設(shè)計(jì)任務(wù)書學(xué)院專業(yè)學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目基于溫度傳感器的溫度計(jì)設(shè)計(jì)實(shí)踐教學(xué)要求與任務(wù):1、熟悉所確定的題目,從問題需求、程序結(jié)構(gòu)、難點(diǎn)及關(guān)鍵技術(shù)等方面進(jìn)行分析,形成系統(tǒng)的設(shè)計(jì)方案;2、根據(jù)方案設(shè)計(jì)硬件電路;3、軟件編程并調(diào)試;4、完成課程設(shè)計(jì)報(bào)告,打印程序,給出運(yùn)行結(jié)果。工作方案與進(jìn)度安排:第20周〔1月6日-1月12日〕:布置設(shè)計(jì)任務(wù),查資料,完成總體設(shè)計(jì)框架,完善設(shè)計(jì)內(nèi)容,系統(tǒng)調(diào)試,驗(yàn)收辯論。指導(dǎo)教師:專業(yè)負(fù)責(zé)人:學(xué)院教學(xué)副院長(zhǎng):摘要單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比擬成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度器,本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的開展及人們對(duì)生活環(huán)境要求的提高,人們也迫切需要檢測(cè)與控制溫度。本文通過采用蜂鳴器作為電聲元件的溫度報(bào)警器的設(shè)計(jì),說明了該裝置進(jìn)行設(shè)計(jì)與制作的具體過程及方法。這種溫度報(bào)警器結(jié)構(gòu)簡(jiǎn)單,可操作性強(qiáng),應(yīng)用廣泛。工作時(shí),溫度測(cè)量范圍為5—38oC。當(dāng)前環(huán)境溫度假設(shè)超過設(shè)定的高溫臨界溫度,由單片機(jī)發(fā)出報(bào)警信號(hào),從而防止帶來(lái)的不必要的損失。造成高溫火災(zāi)有:電氣線路短路、過載、接觸電阻過大等引發(fā)高溫或火災(zāi);靜電產(chǎn)生高溫或或火災(zāi);雷電等強(qiáng)電侵入導(dǎo)致高溫或火災(zāi);最主要是機(jī)房?jī)?nèi)電腦、空調(diào)等用電設(shè)備長(zhǎng)時(shí)間工作,導(dǎo)致設(shè)備老化,空調(diào)發(fā)生故障,而不能降溫;因此機(jī)房?jī)?nèi)所屬的電子產(chǎn)品發(fā)熱快,在短時(shí)間內(nèi)機(jī)房溫度升高超出設(shè)備正常溫度,導(dǎo)致系統(tǒng)癱瘓或產(chǎn)生火災(zāi),這時(shí)溫度報(bào)警系統(tǒng)就會(huì)發(fā)揮應(yīng)有的功能。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否認(rèn)的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向開展。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比擬準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī)AT89C51,測(cè)溫傳感器使用DS18B20,用四位一體共陽(yáng)極LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確到達(dá)要求。目錄設(shè)計(jì)要求與方案…………11.1設(shè)計(jì)要求…………………..11.2系統(tǒng)根本方案選擇和論證………………..11.2.1單片機(jī)芯片的選擇案………………11.2.2溫度傳感器設(shè)計(jì)方案論證…………..11.3電路設(shè)計(jì)最終方案決定…….3主要元件介紹……………3AT89C51介紹………………32.1.1AT89C51主要功能…………………32.1.2AT89C51引腳介紹…………………3DS18B20傳感器介紹………3數(shù)碼管介紹…………………4程序流程圖………………10主程序……………………11仿真原理圖………………18仿真調(diào)試圖………………19結(jié)論………19參考文獻(xiàn)…………………201設(shè)計(jì)要求與方案論證首先明確設(shè)計(jì)要求,再討論方案,一一攻破設(shè)計(jì)的難點(diǎn)。1.1設(shè)計(jì)要求根本范圍0℃-99℃;精度誤差小于0.1℃;數(shù)碼管直讀顯示;擴(kuò)展功能:可以任意設(shè)定溫度的上下限報(bào)警功能。1.2系統(tǒng)根本方案選擇和論證1.2.1單片機(jī)芯片的選擇方案和論證由于單片機(jī)具有以下的很多優(yōu)點(diǎn),被我們選定為制作該作品的首選芯片單片機(jī)特點(diǎn):〔1〕高集成度,體積小,高可靠性單片機(jī)將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最小的。芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,內(nèi)部布線很短,其抗工業(yè)噪音性能優(yōu)于一般通用的CPU。單片機(jī)程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號(hào)通道均在一個(gè)芯片內(nèi),故可靠性高?!?〕控制功能強(qiáng)為了滿足對(duì)對(duì)象的控制要求,單片機(jī)的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,非常適用于專門的控制功能。〔3〕低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品為了滿足廣泛使用于便攜式系統(tǒng),許多單片機(jī)內(nèi)的工作電壓僅為1.8V~3.6V,而工作電流僅為數(shù)百微安。〔4〕易擴(kuò)展片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)?!?〕優(yōu)異的性能價(jià)格比單片機(jī)的性能極高。為了提高速度和運(yùn)行效率,單片機(jī)已開始使用RISC流水線和DSP等技術(shù)。單片機(jī)的尋址能力也已突破64KB的限制,有的已可到達(dá)1MB和16MB,片內(nèi)的ROM容量可達(dá)62MB,RAM容量那么可達(dá)2MB。由于單片機(jī)的廣泛使用,因而銷量極大,各大公司的商業(yè)競(jìng)爭(zhēng)更使其價(jià)格十分低廉,其性能價(jià)格比極高。方案一:采用AT89C51芯片作為硬件核心。AT89C51內(nèi)部具有8KBROM存儲(chǔ)空間,512字節(jié)數(shù)據(jù)存儲(chǔ)空間,帶有2K字節(jié)的EEPROM存儲(chǔ)空間,與MCS-51系列單片機(jī)完全兼容,AT89C51可以通過串口下載。方案二:采用AT89S51。AT89S51片內(nèi)具有8K字節(jié)程序存儲(chǔ)空間,256字節(jié)的數(shù)據(jù)存儲(chǔ)空間沒有EEPROM存儲(chǔ)空間,也與MCS-51系列單片機(jī)完全兼容,具有在線編程可擦除技術(shù)。兩種單片機(jī)都完全能夠滿足設(shè)計(jì)需要,AT89C51相對(duì)ATS89C52價(jià)格廉價(jià),且抗干擾能力強(qiáng)。考慮到本錢因素,因此選用AT89C51。1.2.2溫度傳感器設(shè)計(jì)方案論證現(xiàn)代信息技術(shù)的三大根底是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。溫度傳感器的開展大致經(jīng)歷了以下三個(gè)階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向開展。在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測(cè)溫精度較低,分辨力只能到達(dá)1°C。國(guó)外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是9~12位A/D轉(zhuǎn)換器,分辨力一般可達(dá)0.5~0.0625°C。由美國(guó)DALLAS半導(dǎo)體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進(jìn)制數(shù)據(jù),其分辨力高達(dá)0.03125°C,測(cè)溫精度為±0.2°C。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。目前,智能溫度傳感器的總線技術(shù)也實(shí)現(xiàn)了標(biāo)準(zhǔn)化、標(biāo)準(zhǔn)化,所采用的總線主要有單線(1-Wire)總線、I2C總線、SMBus總線和spI總線。溫度傳感器作為從機(jī)可通過專用總線接口與主機(jī)進(jìn)行通信。方案一:由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比擬麻煩。方案二:進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。從以上兩種方案,兩種都完全能夠滿足設(shè)計(jì)需要,很容易看出,采用方案二,電路比擬簡(jiǎn)單,軟件設(shè)計(jì)也比擬簡(jiǎn)單,故采用了方案二。1.3電路設(shè)計(jì)最終方案決定綜上各方案所述,對(duì)此次作品的方案選定:采用AT89C51單片機(jī)作為主控制系統(tǒng);采用DS18B20為傳感器;采用數(shù)碼管作為顯示器件。2主要元件介紹2.1AT89C51介紹AT89C51是由深圳宏晶科技公司生產(chǎn)的與工業(yè)標(biāo)準(zhǔn)MCS-51指令集和輸出管腳相兼容的單片機(jī)。2.1.1AT89C51主要功能AT89C51主要功能如表1所示表1AT89C51主要功能主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫FlashROM32個(gè)雙向I/O口256x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能2.1.2AT89C51引腳介紹①主電源引腳〔2根〕VCC:電源輸入,接+5V電源GND:接地線②外接晶振引腳〔2根〕XTAL1:片內(nèi)振蕩電路的輸入端XTAL2:片內(nèi)振蕩電路的輸出端③控制引腳〔4根〕RST/VPP:復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE/PROG:地址鎖存允許信號(hào)PSEN:外部存儲(chǔ)器讀選通信號(hào)EA/VPP:程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平那么從內(nèi)部程序存儲(chǔ)器讀指令。④可編程輸入/輸出引腳〔32根〕AT89C51單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位〔8根引腳〕,共32根。P0口:8位雙向I/O口線,名稱為P0.0~P0.7P1口:8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7P2口:8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7P3口:8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7圖1AT89C51封裝圖2.1.3單片機(jī)最小系統(tǒng):當(dāng)在AT89C51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作,按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)過電阻與電源VCC接通而實(shí)現(xiàn)的。最小系統(tǒng)如圖2所示。圖2最小系統(tǒng)電路以AT89C51單片機(jī)最小系統(tǒng)為控制核心,測(cè)溫電路由DS18B20提供,輸入局部采用三個(gè)獨(dú)立式按鍵S1、S2、S3。數(shù)碼管顯示局部。2.2DS18B20傳感器介紹2.2.1DS18B20概述在現(xiàn)代檢測(cè)技術(shù)中,傳感器占據(jù)著不可動(dòng)搖的重要位置。主機(jī)對(duì)數(shù)據(jù)的處理能力已經(jīng)相當(dāng)?shù)膹?qiáng),但是對(duì)現(xiàn)實(shí)世界中的模擬量卻無(wú)能為力。如果沒有各種精確可靠的傳感器對(duì)非電量和模擬信號(hào)進(jìn)行檢測(cè)并提供可靠的數(shù)據(jù),那計(jì)算機(jī)也無(wú)法發(fā)揮他應(yīng)有的作用。傳感器把非電量轉(zhuǎn)換為電量,經(jīng)過放大處理后,轉(zhuǎn)換為數(shù)字量輸入計(jì)算機(jī),由計(jì)算機(jī)對(duì)信號(hào)進(jìn)行分析處理。從而傳感器技術(shù)與計(jì)算機(jī)技術(shù)結(jié)合起來(lái),對(duì)自動(dòng)化和信息化起重要作用。采用各種傳感器和微處理技術(shù)可以對(duì)各種工業(yè)參數(shù)及工業(yè)產(chǎn)品進(jìn)行測(cè)控及檢驗(yàn),準(zhǔn)確測(cè)量產(chǎn)品性能,及時(shí)發(fā)現(xiàn)隱患。為提高產(chǎn)品質(zhì)量、改良產(chǎn)品性能,防止事故發(fā)生提供必要的信息和更可靠的數(shù)據(jù)。由于系統(tǒng)的工作環(huán)境比擬惡劣,且對(duì)測(cè)量要求比擬高,所以選擇適宜的傳感器很重要。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化和網(wǎng)絡(luò)化的方向飛速開展。智能溫度傳感器DS18B20正是朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及平安性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測(cè)溫系統(tǒng)等高科技的方向迅速開展。因此,智能溫度傳感器DS18B20作為溫度測(cè)量裝置已廣泛應(yīng)用于人民的日常生活和工農(nóng)業(yè)生產(chǎn)中。美國(guó)DALLAS公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片外加不銹鋼保護(hù)管封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。有獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊;其測(cè)溫范圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃;支持多點(diǎn)組網(wǎng)功能;多個(gè)DS1820可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫;工作電源為3~5V/DC;在使用中不需要任何外圍元件。DS18B20的性能特點(diǎn)如下:〔1〕采用DALLAS公司獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;〔2〕在使用中不需要任何外圍元件;〔3〕可用數(shù)據(jù)線供電,供電電壓范圍:+3.0V~+5.5V;〔4〕測(cè)溫范圍:-55~+125℃。固有測(cè)溫分辨率為0.5℃。當(dāng)在-10℃~+85℃范圍內(nèi),可確保測(cè)量誤差不超過0.5℃,在-55~+125℃范圍內(nèi),測(cè)量誤差也不超過2℃;〔5〕通過編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式;〔6〕用戶可自設(shè)定非易失性的報(bào)警上下限值;〔7〕支持多點(diǎn)的組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫〔8〕負(fù)壓特性,即具有電源反接保護(hù)電路。當(dāng)電源電壓的極性反接時(shí),能保護(hù)DS18B20不會(huì)因發(fā)熱而燒毀,但此時(shí)芯片無(wú)法正常工作;〔9〕DS18B20的轉(zhuǎn)換速率比擬高,進(jìn)行9位的溫度值轉(zhuǎn)換只需93.75ms;〔10〕適配各種單片機(jī)或系統(tǒng);〔11〕內(nèi)含64位激光修正的只讀存儲(chǔ)ROM,扣除8位產(chǎn)品系列號(hào)和8位循環(huán)冗余校驗(yàn)碼(CRC)之后,產(chǎn)品序號(hào)占48位。出廠前產(chǎn)品序號(hào)存入其ROM中。在構(gòu)成大型溫控系統(tǒng)時(shí),允許在單線總線上掛接多片DS18B20。2.2.2DS18B20引腳介紹各引腳功能為:I/O為數(shù)據(jù)輸入/輸出端〔即單線總線〕,它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。UDD是可供選用的外部電源端,不用時(shí)接地,GND為地,NC空腳。2.2.3DS18B20的內(nèi)部結(jié)構(gòu)DS18B20的內(nèi)部結(jié)構(gòu)主要包括7局部:寄生電源、溫度傳感器、64位激光〔loser〕ROM與單線接口、高速暫存器〔即便筏式RAM,用于存放中間數(shù)據(jù)〕、TH觸發(fā)存放器和TL觸發(fā)存放器,分別用來(lái)存儲(chǔ)用戶設(shè)定的溫度上下限值、存儲(chǔ)和控制邏輯、位循環(huán)冗余校驗(yàn)碼〔CRC〕發(fā)生器。圖3DS18B20內(nèi)部結(jié)構(gòu)2.2.4DS18B20的程序流程圖否否是發(fā)出溫度轉(zhuǎn)換命令寫入18B20讀溫度前復(fù)位顯示測(cè)溫點(diǎn)位置18B20復(fù)位開始18B20存在?延時(shí)發(fā)出讀溫度命令寫入18B20讀入溫度值數(shù)據(jù)返回延時(shí)圖4程序流程圖2.3數(shù)碼管介紹數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其根本單元是發(fā)光二極管。數(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)字段就不亮。2.3.1數(shù)碼管概述數(shù)碼顯示器是一種由LED發(fā)光二極管組合顯示字符的顯示器件,它使用了8個(gè)Led發(fā)光二極管,其中七個(gè)用于顯示字符,一個(gè)顯示小數(shù)點(diǎn),所以通稱為七段發(fā)光二極管數(shù)碼顯示器。4位一體數(shù)碼管,其內(nèi)部段已連接好,引腳如下圖〔數(shù)碼管的正面朝自己,小數(shù)點(diǎn)在下方〕。a、b、c、d、e、f、g、dp為段引腳,S1、S2、S3、S4分別表示四個(gè)數(shù)碼管的位。3程序流程圖圖5程序流程圖4主程序#include<reg52.h>#defineuiunsignedint#defineucunsignedchar //宏定義sbitDQ=P3^7; //定義DS18B20總線I/Obitbdatafuhao;ucqian,bai,shi,ge;uccodeled[] = {0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7};uccodeled_dian[] = {0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf7};//============================================================================================//====================================DS18B20=================================================//============================================================================================/*****延時(shí)子程序*****/voidDelay(intnum){ while(num--);}/*****初始化DS18B20*****/voidInit_DS18B20(){ DQ=1;//DQ復(fù)位 Delay(8);//稍做延時(shí) DQ=0;//單片機(jī)將DQ拉低 Delay(80);//精確延時(shí),大于480us DQ=1;//拉高總線 Delay(40);}/*****讀一個(gè)字節(jié)*****/ucReadOneChar(){ uci=0; ucdat=0; for(i=8;i>0;i--) { DQ=0;//給脈沖信號(hào) dat>>=1; DQ=1;//給脈沖信號(hào) if(DQ) dat|=0x80; Delay(4); } return(dat);}/*****寫一個(gè)字節(jié)*****/voidWriteOneChar(ucdat){ uci=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; Delay(5); DQ=1; dat>>=1; }}/*****讀取溫度*****/uiReadTemperature(){uia=0,b=0,t=0;floattt=0;Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號(hào)列號(hào)的操作WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號(hào)列號(hào)的操作WriteOneChar(0xBE);//讀取溫度存放器a=ReadOneChar();//讀低8位b=ReadOneChar();//讀高8位t=b;t<<=8;t=t|a;if(t&0xf800){ t=~t+1; fuhao=1;}elsefuhao=0;tt=t*0.0625;t=tt*10+0.5;//放大10倍輸出并四舍五入return(t);}/*****讀取溫度*****/voidcheck_wendu(){ uif; f=ReadTemperature(); //獲取溫度值并減去DS18B20的溫漂誤差 qian=f/1000; bai=(f%1000)/100; //計(jì)算得到十位數(shù)字 shi=((f%1000)%100)/10; //計(jì)算得到個(gè)位數(shù)字 ge=((f%1000)%100)%10; //計(jì)算得到小數(shù)位}/*****顯示開機(jī)初始化等待畫面*****/voidDisp_init(){ P0=0x7f;//顯示---- P2=0x7f; Delay(100); P2=0xdf; Delay(100); P2=0xf7; Delay(100); P2=0xfd; Delay(100); P2=0xff;//關(guān)閉顯示}/*****顯示溫度子程序*****/voidDisp_Temperature()//顯示溫度{ if(qian==0) { if(fuhao==1) P0=0x7f;//10111111 else P0=0xff; P2=0xfd; Delay(10); P2=0xff; } elseif(qian!=0) { P0=~led[qian]; P2=0xfd; Delay(10); P2=0xff; } if((bai==0)&&(qian==0)) { P0=0xff;// P2=0xf7; Delay(10); P2=0xff; } elseif((bai==0)&&(qian!=0)) { P0=~led[bai]; P2=0xf7; Delay(10); P2=0xff; } elseif(bai!=0) { P0=~led[bai];// P2=0xf7; Delay(10); P2=0xff; } P0=~led_dian[shi];// P2=0xdf; Delay(10);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論