基于單片機(jī)的溫度檢測(cè)報(bào)警裝置
-
資源ID:12835203
資源大?。?span id="txtrll7" class="font-tahoma">336.50KB
全文頁(yè)數(shù):22頁(yè)
- 資源格式: DOC
下載積分:20積分
快捷下載
會(huì)員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。
|
基于單片機(jī)的溫度檢測(cè)報(bào)警裝置
. 摘要 隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于89C52單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20與AT89C52結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。關(guān)鍵詞:溫度測(cè)量;DS18B20;AT89C52目錄引言11.設(shè)計(jì)背景21.1課題背景21.2設(shè)計(jì)內(nèi)容22.數(shù)字溫度計(jì)系統(tǒng)簡(jiǎn)介32.1方案選擇32.2系統(tǒng)設(shè)計(jì)原理42.3系統(tǒng)組成43.系統(tǒng)硬件設(shè)計(jì)63.1主控制器選擇63.2顯示電路83.3溫度傳感器簡(jiǎn)介83.4 DS18B20溫度傳感器與單片機(jī)的接口電路10 3.5 報(bào)警電路3.6時(shí)鐘電路與復(fù)位電路103.7系統(tǒng)總體電路圖114.軟件設(shè)計(jì)簡(jiǎn)介134.1 C語(yǔ)言簡(jiǎn)介134.2程序設(shè)計(jì)135. 電路仿真145.1Proteus軟件介紹145.2數(shù)字溫度計(jì)Ptoteus仿真166. 總結(jié)17參考文獻(xiàn)18附錄:源程序代碼19.引言1.設(shè)計(jì)背景1.1課題背景本次設(shè)計(jì)可以應(yīng)用到許多我們用過(guò)的軟件設(shè)計(jì),將前面所學(xué)的知識(shí)融匯在一起實(shí)現(xiàn)溫度監(jiān)測(cè)及其報(bào)警的功能,來(lái)提醒農(nóng)民當(dāng)前大棚內(nèi)溫度是否適合農(nóng)作物的生長(zhǎng)。電子技術(shù)是在十九世紀(jì)末、二十世紀(jì)初開(kāi)始發(fā)展起來(lái)的新興技術(shù),在二十世紀(jì)發(fā)展最迅速,應(yīng)用最廣泛,成為近代科學(xué)技術(shù)發(fā)展的一個(gè)重要標(biāo)志。隨著電子技術(shù)的飛速發(fā)展,電子技術(shù)在日常生活中得到了廣泛的應(yīng)用,各類(lèi)轉(zhuǎn)換電路的不斷推出以及電子產(chǎn)品的快速更新,電子技術(shù)已成為世界發(fā)展和人們生活中必不可少的工具。本次課設(shè)應(yīng)用Protues軟件設(shè)計(jì)一個(gè)溫度檢測(cè)報(bào)警系統(tǒng),用溫度傳感器DS18B20采集大棚內(nèi)的溫度,當(dāng)大棚內(nèi)的溫度高于30。或低于15。時(shí),電路發(fā)出報(bào)警信號(hào)并顯示當(dāng)前溫度,達(dá)到提醒農(nóng)民的效果。 本次課設(shè)要求設(shè)計(jì)一個(gè)溫度監(jiān)測(cè)報(bào)警顯示電路,要求溫度范圍:0-99;測(cè)量誤差為2;報(bào)警下限溫度為:15;報(bào)警上限溫度為:30。1.2設(shè)計(jì)內(nèi)容 本設(shè)計(jì)主要是介紹了單片機(jī)控制下的溫度檢測(cè)系統(tǒng),詳細(xì)介紹了其硬件和軟件設(shè)計(jì),并對(duì)其各功能模塊做了詳細(xì)介紹,其主要功能和指標(biāo)如下: (1)利用溫度傳感器(DS18B20)測(cè)量某一點(diǎn)環(huán)境溫度; (2)測(cè)量范圍為099,精度為0.5; (3)用LED進(jìn)行實(shí)際溫度值顯示。2數(shù)字溫度計(jì)系統(tǒng)簡(jiǎn)介2.1方案選擇方案一:基于AT89C52單片機(jī)通過(guò)讀取溫度傳感器DS18B20 測(cè)量溫度后存儲(chǔ)的數(shù)據(jù),之后送去數(shù)碼管顯示。此方案DS18B20測(cè)量溫度范圍為0+99,但由于本系統(tǒng)中DS18B20是用于測(cè)量水的實(shí)時(shí)溫度,僅需范圍為0100,所以該系統(tǒng)可以采取這種方式,這種方案接線(xiàn)簡(jiǎn)單易行。 方案二:采用51系列單片機(jī)作為整機(jī)的控制單元將0-5V模擬電壓信號(hào)通過(guò)AD0808模數(shù)轉(zhuǎn)換成模擬溫度值0-255,然后通過(guò)數(shù)碼管顯示其溫度值。這種方式采用了AD0808模數(shù)轉(zhuǎn)換裝置,提高了測(cè)溫范圍,但是相比方案一來(lái)說(shuō),成本有所提高。本設(shè)計(jì)采用第一種方案。直接用AT89C52單片機(jī)通過(guò)讀取溫度傳感器DS18B20 ,此種方案簡(jiǎn)單易行,大大降低了裝置的成本。2.2系統(tǒng)設(shè)計(jì)原理1.單片機(jī)最小系統(tǒng)的設(shè)計(jì)單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。本次課程設(shè)計(jì)中選用AT89C52式單片機(jī),其最小系統(tǒng)主要由電復(fù)位、振蕩電路組成。2.溫度采集電路的設(shè)計(jì)溫度采集電路部分,采用數(shù)字溫度傳感器DS18B20進(jìn)行溫度采集。DS18B20是DALLAS公司生產(chǎn)的一線(xiàn)式數(shù)字溫度傳感器,具有3個(gè)引腳;溫度側(cè)量范圍為-55+125,測(cè)量精度為0.5;被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;CPU只需用一個(gè)端口線(xiàn)就可以與DS18B20通信。3.LED顯示報(bào)警電路的設(shè)計(jì)LED數(shù)碼管與單片機(jī)的P0口相連,單片機(jī)將采集到的溫度值轉(zhuǎn)化為與數(shù)碼管對(duì)應(yīng)的數(shù)據(jù),通過(guò)P0口輸出顯示。即信號(hào)通過(guò)譯碼管的端口a、b、c、d、e、f、g 、dp 端來(lái)控制每段譯碼管的亮滅與否,同時(shí)通過(guò)端口1、2、3、4 四個(gè)端口來(lái)控制四個(gè)譯碼管。在本次設(shè)計(jì)中,用集成芯片74HC245驅(qū)動(dòng)數(shù)碼管。同時(shí)當(dāng)采集到的溫度值超過(guò)所設(shè)置的范圍時(shí),單片機(jī)會(huì)輸出一信號(hào),通過(guò)三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警信號(hào)。LED數(shù)碼管報(bào)警電路2.3系統(tǒng)組成AT89C52單片機(jī)數(shù)字溫度傳感器報(bào)警系統(tǒng)譯碼顯示電路 3.系統(tǒng)硬件設(shè)計(jì)3.1主控制器選擇單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。AT89C52單片機(jī)使用12MHZ的晶振最為振蕩源,由于單片機(jī)內(nèi)部有振蕩電路,所以外部只要連接一個(gè)晶振和兩個(gè)電容即可,電容一般在15pF至50pF之間。外部晶振結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率。AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(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)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線(xiàn),AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線(xiàn)編程(S系列的才支持在線(xiàn)編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。兼容MCS51指令系統(tǒng)、8k可反復(fù)擦寫(xiě)(>1000次)Flash ROM、32個(gè)雙向I/O口、256x8bit內(nèi)部RAM、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷。時(shí)鐘頻率0-24MHz、2個(gè)串行中斷??删幊蘒ART串行通道、2個(gè)外部中斷源 。共6個(gè)中斷源 、2個(gè)讀寫(xiě)中斷口線(xiàn)、3級(jí)加密位、低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能。本次課程設(shè)計(jì)中選用AT89C52式單片機(jī),其最小系統(tǒng)主要由電復(fù)位、振蕩電路組成。單片機(jī)的最小系統(tǒng)如圖2-3所示。單片機(jī)的復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上電阻和電容,實(shí)現(xiàn)上電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個(gè)時(shí)鐘周期以上時(shí)復(fù)位有效。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成,上電復(fù)位是在復(fù)位引腳上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND;按鍵復(fù)位是在復(fù)位電容上并聯(lián)一個(gè)開(kāi)關(guān),當(dāng)開(kāi)關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來(lái)使單片機(jī)復(fù)位。 圖2-3 單片機(jī)最小系統(tǒng) 3.2顯示電路LED數(shù)碼管與單片機(jī)的P0口相連,單片機(jī)將采集到的溫度值轉(zhuǎn)化為與數(shù)碼管對(duì)應(yīng)的數(shù)據(jù),通過(guò)P0口輸出顯示。即信號(hào)通過(guò)譯碼管的端口a、b、c、d、e、f、g 、dp 端來(lái)控制每段譯碼管的亮滅與否,同時(shí)通過(guò)端口1、2、3、4 四個(gè)端口來(lái)控制四個(gè)譯碼管。在本次設(shè)計(jì)中,用集成芯片74HC245驅(qū)動(dòng)數(shù)碼管。同時(shí)當(dāng)采集到的溫度值超過(guò)所設(shè)置的范圍時(shí),單片機(jī)會(huì)輸出一信號(hào),通過(guò)三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警信號(hào)。LED數(shù)碼管報(bào)警電路如圖5所示。3.3溫度傳感器簡(jiǎn)介溫度采集電路部分,采用數(shù)字溫度傳感器DS18B20進(jìn)行溫度采集。DS18B20具有3個(gè)引腳;溫度側(cè)量范圍為-55+125,測(cè)量精度為0.5;被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;CPU只需用一個(gè)端口線(xiàn)就可以與DS18B20通信。溫度傳感器是DS18B20的核心部分,該功能部件可完成對(duì)溫度的測(cè)量通過(guò)軟件編程可將-55125范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進(jìn)行量化,以上的分辨率都包括一個(gè)符號(hào)位,因此對(duì)應(yīng)的溫度量化值分別為0.5、0.25、0.125、0.0625,即最高分辨率為0.0625。芯片出廠(chǎng)時(shí)默認(rèn)為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換命令(44H)后,開(kāi)始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號(hào)擴(kuò)展的的二進(jìn)制補(bǔ)碼形式表示,存儲(chǔ)在高速緩存器RAM的第0,1字節(jié)中,二進(jìn)制數(shù)的前5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)得的數(shù)值乘上0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)得的數(shù)值需要取反加1再乘上0.0625即可得到實(shí)際溫度。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的內(nèi)部結(jié)構(gòu)如2-4所示。64位ROM和單線(xiàn)接口存儲(chǔ)和控制邏輯 高速緩存器溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL匹配寄存器8位CRC發(fā)生器電源檢 測(cè)CDQVDD內(nèi)部電源VDD圖2-4 DS18B20內(nèi)部結(jié)構(gòu)DS18B20的主要性能指標(biāo)如下:1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線(xiàn)供電。2、獨(dú)特的單線(xiàn)接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。3、DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線(xiàn)上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。4、DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。5、溫范圍55125,在-10+85時(shí)精度為0.5。6、可編程分辨率為912位,對(duì)應(yīng)的可分辨溫度為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。7、在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。8、測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線(xiàn)總線(xiàn)"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。9、負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DS18B20接線(xiàn)圖的電路接線(xiàn)圖如2-5所示:圖2-5 DS18B20接線(xiàn)圖3.4 DS18B20溫度傳感器與單片機(jī)的接口電路S18B20接線(xiàn)圖的電路接線(xiàn)圖如2-5所示:圖2-5 DS18B20接線(xiàn)圖3.5 報(bào)警電路3.6時(shí)鐘電路與復(fù)位電路3.7系統(tǒng)總體電路圖4.軟件設(shè)計(jì)簡(jiǎn)介4.1 C語(yǔ)言簡(jiǎn)介以前計(jì)算機(jī)的系統(tǒng)軟件都是有匯編語(yǔ)言編寫(xiě),對(duì)于單片機(jī)系統(tǒng)來(lái)說(shuō)更是如此,由于匯編語(yǔ)言的可讀性和可移植性差,采用匯編語(yǔ)言寫(xiě)的單片機(jī)程序周期長(zhǎng),而且調(diào)試麻煩,為了學(xué)習(xí)和提高,最好使用C語(yǔ)言編程,C語(yǔ)言具有如下優(yōu)點(diǎn)1語(yǔ)言簡(jiǎn)單,使用方便靈活2可移植性,表達(dá)性能強(qiáng)3可進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)4可直接操作計(jì)算機(jī)硬件5生成的目標(biāo)代碼質(zhì)量高4.2程序設(shè)計(jì)主程序中對(duì)單片機(jī)做了初始化的設(shè)計(jì),包含溫度的讀取、數(shù)碼管顯示、報(bào)警三個(gè)子系統(tǒng),運(yùn)行時(shí)由主程序先調(diào)用DS18B20讀取溫度的子函數(shù)進(jìn)行溫度采集,再將數(shù)據(jù)送入數(shù)碼管顯示。同時(shí)判斷所采集的數(shù)據(jù)是否超出所設(shè)置的溫度范圍。如果超出,調(diào)用報(bào)警子系統(tǒng);未超出,程序自動(dòng)返回。主程序流程圖如圖6所示。圖6 主程序流程圖5. 電路仿真5.1Proteus軟件介紹Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。功能特點(diǎn)Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:1原理布圖2PCB自動(dòng)或人工布線(xiàn)3SPICE電路仿真革命性的特點(diǎn)1互動(dòng)的電路仿真用戶(hù)甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤(pán),馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境.5.2數(shù)字溫度計(jì)Ptoteus仿真在PROTUES軟件中,連接好電路圖后將在Keil中生成的“溫度監(jiān)測(cè).HEX”程序文件導(dǎo)入單片機(jī)中。由于DS18B20系統(tǒng)中設(shè)置的溫度初值為85,所以當(dāng)開(kāi)始仿真時(shí)報(bào)警器會(huì)報(bào)警,數(shù)碼管顯示也為85。4至5秒后數(shù)字溫度傳感器會(huì)顯示當(dāng)前溫度,數(shù)碼管也相應(yīng)顯示其數(shù)值。在PROTUES軟件仿真中,調(diào)節(jié)DS18B20的左右按鈕可是溫度值對(duì)應(yīng)加減,數(shù)碼管會(huì)顯示當(dāng)前值。當(dāng)減到15以下或加到30以上時(shí),報(bào)警器會(huì)報(bào)警。調(diào)節(jié)數(shù)字溫度傳感器DS18B20使其溫度減到14,此時(shí)報(bào)警器報(bào)警,數(shù)碼管顯示14。14時(shí)的電路仿真如圖10所示。6. 總結(jié)本次課程設(shè)計(jì)是一次綜合性的應(yīng)用,全方位考察了我們對(duì)所學(xué)軟件的理解與掌握。通過(guò)本學(xué)期對(duì)單片機(jī)課程和傳感器課程的學(xué)習(xí)我們不但對(duì)以前學(xué)過(guò)的知識(shí)點(diǎn)有了更深一步的掌握,同時(shí)還學(xué)到了更多書(shū)本中所沒(méi)有涉及到的東西。從開(kāi)始做期末作品后就不斷地去圖書(shū)館借書(shū)查找相關(guān)資料、上網(wǎng)搜索信息、與同組同學(xué)討論方案。在我們的共同努力下,在本周成功的完成了軟件的設(shè)計(jì)。因?yàn)閷?shí)驗(yàn)室要為電子競(jìng)賽準(zhǔn)備,所以不能能打印PCB版做出實(shí)物,這也是本次作品遺憾的地方。雖然在設(shè)計(jì)的過(guò)程中遇到各種各樣的困難,但最終在老師和同學(xué)的幫助下完成了設(shè)計(jì)。極大的培養(yǎng)了我們的科研精神,激發(fā)了我們的專(zhuān)業(yè)興趣,積累了實(shí)踐經(jīng)驗(yàn),為將來(lái)的繼續(xù)學(xué)習(xí)和工作打下了基礎(chǔ)。雖然這是我們?cè)谄谀┣暗淖詈笠粋€(gè)簡(jiǎn)單的課程設(shè)計(jì),但卻讓我們學(xué)到了很多。所以希望學(xué)院能夠多安排一些類(lèi)似的實(shí)踐訓(xùn)練,能讓我們有更多的機(jī)會(huì)接觸具有現(xiàn)實(shí)意義的項(xiàng)目,能接觸更多的硬件,更好的提升自己的實(shí)踐能力和綜合能力參考文獻(xiàn)1 孫涵芳.MCS-51/96系列 單片機(jī)原理及應(yīng)用(修訂版).北京航空航天大學(xué)出版社.1994 2 李朝青.單片機(jī)原理及接口技術(shù)(第3版).北京航空航天大學(xué)出版社.20053 葉景,基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì) 經(jīng)驗(yàn)與交流,20084 楊光友.單片機(jī)微型計(jì)算機(jī)原理及接口技術(shù)M.北京:中國(guó)水利水電出版社,20025 李丹妮,單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)J九江學(xué)院報(bào)20056 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第四版).高等教育出版社.20047 譚浩強(qiáng).C程序設(shè)計(jì)(第二版)M.北京:清華大學(xué)出版社,1999附錄:源程序代碼#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P37; sbit beep=P30; void reset(); /DS18B20復(fù)位函數(shù) void write_byte(uchar val); /DS18B20寫(xiě)命令函數(shù) uchar read_byte(void); /DS18B20讀1字節(jié)函數(shù) void read_temp(); /溫度讀取函數(shù) void LED_display();void alarm();uchar tempH,tempL,num;uchar table10= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /09的LED字符編碼 uchar setValue_low=15;uchar setValue_high=30;main() while(1) read_temp(); LED_display(); alarm();void delay(uint t)for(;t>0;t-);void reset() /DS18B20的復(fù)位uchar presence=1;while(presence) while(presence) DQ=1;_nop_();_nop_(); DQ=0; delay(50); DQ=1; delay(6); presence=DQ; delay(45); presence=DQ; DQ=1;void write_byte(uchar val)/DS18B20寫(xiě)一個(gè)字節(jié) uchar i;for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val>>1; DQ=1;_nop_();uchar read_byte(void)/DS18B20讀一個(gè)字節(jié) uchar i;uchar value=0;for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); value>>=1; DQ=0; _nop_();_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_(); if(DQ) value|=0x80; delay(6); DQ=1;return(value);void read_temp() /從DS18B20讀取溫度值 uchar ch1,ch2;reset();write_byte(0xcc);write_byte(0x44);reset();write_byte(0xcc);write_byte(0xbe);ch1=read_byte(); /DS18B20的溫度數(shù)值是16位的二進(jìn)制,精度高,最后四位是溫度的小數(shù)部分,最高五位為符號(hào)位(即正負(fù)溫度) ch2=read_byte();num=(ch2<<4)|(ch1>>4); /只取溫度值的中間八位,小數(shù)部分舍去,符號(hào)位舍去四位。tempH=num/10;/溫度的十位tempL=num-tempH*10;/溫度的個(gè)位void LED_display() /顯示檢測(cè)的溫度 P2=0x0; P2=2; P0=tabletempL; delay(50); P2=0x0; P2=1; P0=tabletempH; delay(50); P2=0x0;void alarm() /報(bào)警 if(setValue_low<=num && setValue_high>=num) beep=1; /在溫度允許范圍,不報(bào)警 else beep=beep;參考文獻(xiàn)1孫育才.單片微型計(jì)算機(jī)及其應(yīng)用. 南京:東南大學(xué)出版社.20042潘新民 王燕芳.微型計(jì)算機(jī)控制技術(shù). 北京:電子工業(yè)出版社2003 4李群芳.單片機(jī)原理及接口技術(shù).北京:電子工業(yè)出版社,20085李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo).北京:北京航空航天大學(xué)出版社,2004附錄:源程序代碼