畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究_第1頁
畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究_第2頁
畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究_第3頁
畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究_第4頁
畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)論文:基于單片機(jī)溫室溫度控制系統(tǒng)研究 1 引言11溫室溫度控制系統(tǒng)設(shè)計(jì)的意義隨著社會(huì)的發(fā)展科技的進(jìn)步以及測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用智能化已是現(xiàn)代發(fā)展的主流方向單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛在很多的電子產(chǎn)品中也用到了溫度檢測(cè)和溫度控制隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣各種適用于不同場(chǎng)合的智能溫度控制器應(yīng)運(yùn)而生ad轉(zhuǎn)換后就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理在顯示電路上就可以將被測(cè)溫度顯示出來這種設(shè)計(jì)需要用到ad轉(zhuǎn)換電路感溫電路比較麻煩22 方案二 考慮使用溫度傳感器結(jié)合單片機(jī)電路設(shè)計(jì)采用一只ds18b20溫度傳感器直接讀取被測(cè)溫度值之后進(jìn)行轉(zhuǎn)換依次完成設(shè)計(jì)要求 圖1電路總體設(shè)計(jì)方案 1 控制

2、部分單片機(jī)at89s51具有低電壓供電和體積小等特點(diǎn)四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)應(yīng)用三節(jié)電池供電 2 顯示部分顯示電路采用3位共陽led數(shù)碼管從p0口送數(shù)p2口掃描 3 溫度采集部分ds18b20溫度傳感器是美國(guó)dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比它能直接讀出被測(cè)溫這一部分主要完成對(duì)溫度信號(hào)的采集和轉(zhuǎn)換工作由ds18b20數(shù)字溫度傳感器及其與單片機(jī)的接口部分組成數(shù)字溫度傳感器ds18b20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機(jī)的p10口單片機(jī)接受溫度并存儲(chǔ)此部分只用到ds18b20和單片機(jī)硬件很

3、簡(jiǎn)單a ds18b20的性能特點(diǎn)如下1 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信2 多個(gè)ds18b20可以并聯(lián)在惟一的三線上實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能3 無須外部器件4 可通過數(shù)據(jù)線供電電壓范圍為3055v5 零待機(jī)功耗6 溫度以3位數(shù)字顯示7 用戶可定義報(bào)警設(shè)置8 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度溫度報(bào)警條件的器件9 負(fù)電壓特性電源極性接反時(shí)溫度計(jì)不會(huì)因發(fā)熱而燒毀但不能正常工作 b ds18b20的內(nèi)部結(jié)構(gòu)ds18b20采用3腳pr35封裝如圖2所示ds18b20的內(nèi)部結(jié)構(gòu)如圖3所示圖2 ds18b20封裝cds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成51 64位光刻rom開始8位是產(chǎn)品類型的編號(hào)接著

4、是每個(gè)器件的惟一的序號(hào)共有48位最后8位是前56位的crc校驗(yàn)碼這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因64閃速rom的結(jié)構(gòu)如下8b檢驗(yàn)crc48b序列號(hào)8b工廠代碼10h msb lsb msb lsb msb lsb圖3 ds18b20內(nèi)部結(jié)構(gòu)2 非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl可通過軟件寫入用戶報(bào)警上下限值3 高速暫存存儲(chǔ)byte0溫度測(cè)量值lsb50hbyte1溫度測(cè)量值msb50he2prombyte2th高溫寄存器 - th高溫寄存器byte3tl低溫寄存器 - tl 低溫寄存器byte4配位寄存器 - 配位寄存器byte5預(yù)留ffhbyte6預(yù)留0chbyte7預(yù)留io

5、hbyte8循環(huán)冗余碼校驗(yàn)crc圖4 ds18b20內(nèi)部存儲(chǔ)器結(jié)構(gòu)ds18b20出廠時(shí)該位被設(shè)置為0用戶要去改動(dòng)r1和r0決定溫度轉(zhuǎn)換的精度位數(shù)來設(shè)置分辨率如圖4tm r1r0 1 1 1 1 1圖5 ds18b20字節(jié)定義由表1可見分辨率越高所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)因此在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮高速暫存ram的第678字節(jié)保留未用表現(xiàn)為全邏輯1第9字節(jié)讀出前面所有8字節(jié)的crc碼可用來檢驗(yàn)數(shù)據(jù)從而保證通信數(shù)據(jù)的正確性當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后開始啟動(dòng)轉(zhuǎn)換轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第12字節(jié)單片機(jī)可以通過單線接口讀出

6、該數(shù)據(jù)讀數(shù)據(jù)時(shí)低位在先高位在后數(shù)據(jù)格式以00625lsb形式表示當(dāng)符號(hào)位s0時(shí)表示測(cè)得的溫度值為正值可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制當(dāng)符號(hào)位s1時(shí)表示測(cè)得的溫度值為負(fù)值要先將補(bǔ)碼變成原碼再計(jì)算十進(jìn)制數(shù)值表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)6表1 ds18b20溫度轉(zhuǎn)換時(shí)間表表2一部分溫度對(duì)應(yīng)值表溫度二進(jìn)制表示十六進(jìn)制表示1250000 0111 1101 000007d0h850000 0101 0101 00000550h2506250000 0001 1001 00000191h101250000 0000 1010 000100a2h050000 0000 0000 00100008h0

7、0000 0000 0000 10000000h-051111 1111 1111 0000fff8h-101251111 1111 0101 1110ff5eh-2506251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h4 crc的產(chǎn)生 64 b rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼crc主機(jī)根據(jù)rom的前56位來計(jì)crc值并和存入ds18b20中的crc值做比較以判斷主機(jī)收到的rom數(shù)據(jù)是否正確 物質(zhì) 的熱脹冷縮開始水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)可是它的缺點(diǎn)是只能近距離觀測(cè)而且水銀有毒玻璃管易碎代替水銀的有酒精溫度計(jì)和

8、金屬簧片溫度計(jì)它們雖然沒有毒性但測(cè)量精度很低只能作為一個(gè)概略指示不過在居民住宅中使用已可滿足要求在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示出現(xiàn)了許多不同的溫度檢測(cè)方法常用的有電阻式熱電偶式pn結(jié)型輻射型光纖式及石英諧振型等它們都是基于溫度變化引起其物理參數(shù) 如電阻值熱電勢(shì)等 的變化的原理隨著大規(guī)模集成電路工藝的提高出現(xiàn)了多種集成的數(shù)字化溫度傳感器32 ds18b20工作原理321 ds18b20的工作時(shí)序根據(jù)ds18b20的通訊協(xié)議主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟每一次讀寫之前都要對(duì)ds18b20進(jìn)行復(fù)位復(fù)位成功后發(fā)送一條rom指令最后發(fā)送ram指令這樣才能對(duì)ds18b20進(jìn)

9、行預(yù)定的操作復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒然后釋放ds18b20收到信號(hào)后等待1560微秒左右后發(fā)出60240微秒的存在低脈沖主cpu收到此信號(hào)表示復(fù)位成功 圖6 初始化時(shí)序總線上的所有傳輸過程都是以初始化開始的主機(jī)響應(yīng)應(yīng)答脈沖應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備且準(zhǔn)備就緒主機(jī)輸出低電平保持低電平時(shí)間至少480us以產(chǎn)生復(fù)位脈沖接著主機(jī)釋放總線47k上拉電阻將總線拉高延時(shí)1560us并進(jìn)入接受模式以產(chǎn)生低電平應(yīng)答脈沖若為低電平再延時(shí)480us12b寫時(shí)序圖7 寫時(shí)序 寫時(shí)序包括寫0時(shí)序和寫1時(shí)序所有寫時(shí)序至少需要60us且在2次獨(dú)立的寫時(shí)序之間至少需要1us的恢復(fù)時(shí)間都是以總線拉低開始寫

10、1時(shí)序主機(jī)輸出低電平延時(shí)2us然后釋放總線延時(shí)60us寫0時(shí)序主機(jī)輸出低電平延時(shí)60us然后釋放總線延時(shí)2us8c讀時(shí)序 圖8 讀時(shí)序總線器件僅在主機(jī)發(fā)出讀時(shí)序是才向主機(jī)傳輸數(shù)據(jù)所以在主機(jī)發(fā)出讀數(shù)據(jù)命令后必須馬上產(chǎn)生讀時(shí)序以便從機(jī)能夠傳輸數(shù)據(jù)所有讀時(shí)序至少需要60us且在2次獨(dú)立的讀時(shí)序之間至少需要1us的恢復(fù)時(shí)間每個(gè)讀時(shí)序都由主機(jī)發(fā)起至少拉低總線1us主機(jī)在讀時(shí)序期間必須釋放總線并且在時(shí)序起始后的15us之內(nèi)采樣總線狀態(tài)主機(jī)輸出低電平延時(shí)2us然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us然后讀取總線當(dāng)前電平然后延時(shí)50us4322 rom操作命令3當(dāng)主機(jī)收到dsl8b20 的響應(yīng)信號(hào)后便可以發(fā)出rom

11、操作命令之一這些命令如表3rom操作命令33 ds18b20的測(cè)溫原理331 ds18b20的測(cè)溫原理6每一片dsl8b20在其rom中都存有其唯一的48位序列號(hào)在出廠前已寫入片內(nèi)rom 中主機(jī)在進(jìn)入操作程序前必須用讀rom 33h 命令將該dsl8b20的序列號(hào)讀出程序可以先跳過rom啟動(dòng)所有dsl8b20進(jìn)行溫度變換之后通過匹配rom再逐一地讀回每個(gè)dsl8b20的溫度數(shù)據(jù)ds18b20的測(cè)溫原理如圖所示圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小1高溫度系數(shù)晶振隨溫度變化其震蕩2的脈沖輸入圖中還隱含著計(jì)數(shù)門當(dāng)計(jì)數(shù)ds18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量-

12、55 所對(duì)應(yīng)的基數(shù)1和溫度寄存器中減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 所對(duì)1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù)當(dāng)減法計(jì)數(shù)器10時(shí)溫度寄存器的值將加1減法計(jì)數(shù)器1的預(yù)置將重新被裝入減法計(jì)數(shù)器1重2計(jì)數(shù)到0時(shí)中的斜率累加器用ds18b20的測(cè)溫原理另外由于ds18b20單線通信功能是分時(shí)完成的他有嚴(yán)格的時(shí)隙概念因此讀寫時(shí)序很重ds18b20的各種操作必須按協(xié)議進(jìn)行操作協(xié)議為初始化ds18b20發(fā)復(fù)位脈沖rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)圖9 測(cè)溫原理內(nèi)部裝置332 ds18b20的測(cè)溫流程圖10 ds18b20測(cè)溫流程4單片機(jī)接口設(shè)計(jì)ds18b20可以采用兩種方式供電一種是采用電源

13、供電方式此時(shí)ds18b20的1腳接地2腳作為信號(hào)線3腳接電源另一種是寄生電源供電方式如圖11所示單片機(jī)端口接單線總線為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流可用一個(gè)mosfet管來完成對(duì)總線的上拉本設(shè)計(jì)采用電源供電方式 p1口接單線總線為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流可用一個(gè)mosfet管和8951的p10來完成對(duì)總線的上拉當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度ad變換操作時(shí)總線上必須有強(qiáng)的上拉上拉開啟時(shí)間最大為10 s采用寄生電源供電方式是vdd和gnd端均接地由于單線制只有一根線因此發(fā)送接收口必須是三的主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟初始化

14、rom操作指令存儲(chǔ)器操作指令 圖11 ds18b20與單片機(jī)的接口電路5系統(tǒng)整體設(shè)計(jì)51系統(tǒng)硬件電路設(shè)計(jì)511 主板電路設(shè)計(jì) 如附錄2 單片機(jī)的p10接ds18b20的2號(hào)引腳p0口送數(shù)p2口掃描p11p12控制加熱器和電風(fēng)扇的繼電器512 各部分電路 1 顯示電路顯示電路采用了7段共陰數(shù)碼管掃描電路節(jié)約了單片機(jī)的輸出端口便于程序的編寫圖12 顯示電路圖 2 單片機(jī)電路圖13單片機(jī)電路引腳圖 3 at89sisp下載口電路圖14 下載口電路引腳圖此電路連接單片機(jī) 4 ds18b20溫度傳感器電路圖15 溫度傳感器電路引腳圖 5 繼電器電路圖中p11引腳控制加熱器繼電器p12引腳控制電風(fēng)扇繼電器

15、給p11低電平三極管導(dǎo)通電磁鐵觸頭放下來開始工作同樣給p12低電平三極管導(dǎo)通電磁鐵觸頭放下來開始工作圖16 繼電器電路圖 6 晶振控制電路圖17 晶振控制電路圖 7 復(fù)位電路圖18復(fù)位電路圖52 系統(tǒng)軟件設(shè)計(jì)521 系統(tǒng)軟件設(shè)計(jì)的整體思想一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能首先必須有較完善的硬件作保證同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持尤其是微機(jī)應(yīng)用高速發(fā)展的今天許多由硬件完成的工作都可通過軟件編程而代替甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單如數(shù)字濾波信號(hào)處理等因此充分利用其內(nèi)部豐富的硬件資源和軟件資源采用與s51系列單片機(jī)相對(duì)應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行

16、軟件編程程序設(shè)計(jì)語言有三種機(jī)器語言匯編語言和高級(jí)語言機(jī)器語言是機(jī)器唯一能懂的語言用匯編語言或高級(jí)語言編寫的程序稱為源程序最終都必須翻譯成機(jī)器語言的程序成為目標(biāo)程序計(jì)算機(jī)才能看懂然后逐一執(zhí)行高級(jí)語言是面向問題和計(jì)算過程的語言它可通過于各種不同的計(jì)算機(jī)用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng)而且語句的功能強(qiáng)常常一個(gè)語句已相當(dāng)于很多條計(jì)算機(jī)指令于是用高級(jí)語言編制程序的速度比較快也便于學(xué)習(xí)和交流但是本系統(tǒng)卻選用了匯編語言原因在于本系統(tǒng)是編制程序工作量不大規(guī)模較小的單片機(jī)微控制系統(tǒng)使用匯編語言可以不用像高級(jí)語言那樣占用較多的存儲(chǔ)空間適合于存儲(chǔ)容量較小的系統(tǒng)同時(shí)本系統(tǒng)對(duì)位處理要求很高需要解決

17、大量的邏輯控制問題mcs51指令系統(tǒng)的指令長(zhǎng)度較短它在存儲(chǔ)空間和執(zhí)行時(shí)間方面具有較高的效率編成的程序占用內(nèi)存單元少執(zhí)行也非常的快捷與本系統(tǒng)的應(yīng)用要求很適合而且mcs51指令系統(tǒng)有豐富的位操作或稱位處理指令可以形成一個(gè)相當(dāng)完整的位操作指令子集這是mcs51指令系統(tǒng)主要的優(yōu)點(diǎn)之一對(duì)于要求反應(yīng)靈敏與控制及時(shí)的工控檢測(cè)等實(shí)時(shí)控制系統(tǒng)以及要求體積小系統(tǒng)小的許多電腦化產(chǎn)品可以充分體現(xiàn)出匯編語言簡(jiǎn)明整齊執(zhí)行時(shí)間短和易于使用的特點(diǎn)本裝置的軟件包括主程序讀出溫度子程序復(fù)位應(yīng)答子程序?qū)懭胱映绦蛞约坝嘘P(guān)ds18b20的程序初始化子程序?qū)懗绦蚝妥x程序等主程序的功能是啟動(dòng)ds18b20測(cè)量溫度將測(cè)量值與給定值進(jìn)行比較若

18、測(cè)得溫度小于設(shè)定值則進(jìn)入加熱階段置p11為低電平這期間繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè)直到溫度在設(shè)定范圍內(nèi)置p11為高電平斷開可控硅關(guān)閉加熱器等待下一次的啟動(dòng)命令當(dāng)測(cè)得溫度大于設(shè)定值則進(jìn)入降溫階段則置p12為低電平這期間繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè)直到溫度在設(shè)定范圍內(nèi)置p12為高電平斷開關(guān)閉風(fēng)扇等待下一次的啟動(dòng)命 522 系統(tǒng)程序流程圖系統(tǒng)程序主要包括主程序讀出溫度子程序復(fù)位應(yīng)答子程序?qū)懭胱映绦虻?主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示讀出并處理ds18b20的測(cè)量的當(dāng)前溫度值溫度測(cè)量每1s進(jìn)行一次這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度其程序流程見圖19所示通過調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分分開存

19、放在不同的兩個(gè)單元中然后通過調(diào)用顯示子程序顯示出來圖19 主程序流程圖2讀出溫度子程序 讀出溫度子程序的主要功能是讀出ram中的9字節(jié)在讀出時(shí)需進(jìn)行crc校驗(yàn)校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫 圖20 讀出溫度子程序 ds18b20的各個(gè)命令對(duì)時(shí)序的要求特別嚴(yán)格所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的同時(shí)要注意讀進(jìn)來的是高位在后低位在前共有12位數(shù)小數(shù)4位整數(shù)7位還有一位符號(hào)位3復(fù)位應(yīng)答子程序圖21復(fù)位應(yīng)答子程序4寫入子程序圖22 寫入子程序5 系統(tǒng)總的流程圖圖23系統(tǒng)總的流程圖6 總結(jié)與體會(huì) 經(jīng)過將近三周努力完成了溫室溫度控制系統(tǒng)的設(shè)計(jì)達(dá)到預(yù)計(jì)的設(shè)計(jì)目標(biāo)從心底里說非常高興通過這次設(shè)計(jì)將硬軟件做

20、了出來并能按照預(yù)定的要求工作了但高興之余不得不深思呀在本次設(shè)計(jì)的過程中我發(fā)現(xiàn)很多的問題雖然以前沒有獨(dú)立做過這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì)需要有很巧妙的程序算法雖然以前寫過幾次程序但我覺的寫好一個(gè)程序并不是一件簡(jiǎn)單的事舉個(gè)例子以前寫的那幾次數(shù)據(jù)加減時(shí)我用的都是bcd碼這一次我全部用的都是16進(jìn)制的數(shù)直接加減顯示處理時(shí)在用除法去刪分感覺效果比較好有好多的東西只有我們?nèi)ピ囍隽瞬拍苷嬲恼莆罩粚W(xué)習(xí)理論有些東西是很難理解的更談不上掌握從這次的設(shè)計(jì)中我真真正正的意識(shí)到在以后的學(xué)習(xí)中要理論聯(lián)系實(shí)際把我們所學(xué)的理論知識(shí)運(yùn)用到實(shí)際當(dāng)中學(xué)習(xí)單機(jī)片機(jī)更是如此程序只有在

21、經(jīng)常的寫與讀的過程中才能提高這就是我在這次設(shè)計(jì)中的最大收獲通過對(duì)多種溫度控制系統(tǒng)的分析研究本論文自行設(shè)計(jì)并實(shí)現(xiàn)了一種溫度測(cè)試控制系統(tǒng)該系統(tǒng)基于51系列單片機(jī)的控制通過at89s51處理溫度傳感器檢測(cè)的數(shù)字信號(hào)從而控制固態(tài)繼電器的打開和關(guān)閉實(shí)現(xiàn)對(duì)溫度的控制同時(shí)配合按鍵的手動(dòng)控制使得系統(tǒng)操作更加方便人性化通過對(duì)硬件與軟件的調(diào)試情況系統(tǒng)基本能實(shí)現(xiàn)論文所預(yù)期的設(shè)計(jì)功能不過系統(tǒng)仍然存在一些不足之處有待改進(jìn)從設(shè)計(jì)方案的選擇到最終系統(tǒng)功能的實(shí)現(xiàn)我在這個(gè)過程中學(xué)到了許多新的知識(shí)首先是閱讀了一些參考文獻(xiàn)使我對(duì)溫度控制系統(tǒng)有了全新的認(rèn)識(shí)在這次系統(tǒng)設(shè)計(jì)的過程中遇到了很多困難但通過自己的努力都一一克服了這次設(shè)計(jì)我不光

22、在硬件方面有很大提高在理論上也學(xué)到了很多當(dāng)然由于自己前一段時(shí)間不抓緊搞的到最后幾天拼命趕論文弄的自己很狼狽這是我以后要吸取教訓(xùn)的地方凡事都得有計(jì)劃7 結(jié)束語本設(shè)計(jì)使用的溫度控制器結(jié)構(gòu)簡(jiǎn)單測(cè)溫準(zhǔn)確具有一定的實(shí)際應(yīng)用價(jià)值該智能溫度控制器只是ds18b20在溫度控制領(lǐng)域的一個(gè)簡(jiǎn)單實(shí)例還有許多需要完善的地方例如可以將測(cè)得的溫度通過單片機(jī)與通訊模塊相連接以手機(jī)短消息的方式發(fā)送給用戶使用戶能夠隨時(shí)對(duì)溫度進(jìn)行監(jiān)控此外還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域如建筑倉(cāng)儲(chǔ)等行業(yè)本溫度控制系統(tǒng)可以應(yīng)用于多種場(chǎng)合像溫室的溫度育嬰房的溫度水溫的控制用戶可靈活選擇本設(shè)計(jì)的用途有很強(qiáng)的實(shí)用價(jià)值8 致謝大學(xué)四年的學(xué)習(xí)和生活就要隨

23、著這篇論文的答辯而結(jié)束了有許許多多的舍不得也有許許多多的感謝要說首先要衷心感謝的是我感謝所有教育過我的老師你們傳授給我的專業(yè)知識(shí)是我不斷成長(zhǎng)的源泉也是完成本論文的基礎(chǔ)安徽機(jī)電學(xué)院學(xué)報(bào)20027胡振宇劉魯源杜振輝ds18b20接口的c語言程序設(shè)計(jì)j單片機(jī)與20028金偉正單線數(shù)字溫度傳感器的原理與應(yīng)用j電子技術(shù)用2000im 公司 1-wire 單總線的基本原理 eb ol 10馬云峰陳子夫李培全 數(shù)字溫度傳感器ds18b20 的原理與應(yīng)用 eb ol 11dallas corpds18b20 eb ol 12李 鋼1-wire總線數(shù)字溫度傳感器ds18b20原理及應(yīng)用現(xiàn)代電子技術(shù)j200510

24、 附錄附錄11下載線插接說明兩排十針下載口板圖上都有一個(gè)小方框?yàn)?號(hào)引角下載線的凸口為正方向凸口的右側(cè)邊的第一個(gè)插孔為1號(hào)引角這一點(diǎn)一定要切記不然的話程序下載不進(jìn)去2電源線插接說明所提供的電池盒紅線為正黑線為負(fù)板子所留出來的電源插口用vcc表示電源正和gnd表示電源負(fù)標(biāo)明若沒有標(biāo)明我們會(huì)刻有記號(hào)刻有號(hào)處為電源正附錄2主板電路圖附錄3程序代碼org 0000htemper_l equ 29htemper_h equ 28hflag1 equ 38h是否檢測(cè)到ds18b20標(biāo)志位a_bit equ 20h 數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置b_bit equ 21h 數(shù)碼管十位數(shù)存放內(nèi)存位置xs equ 3

25、0hmov a00hmov p2amainlcall get_temper調(diào)用讀溫度子程序mov a29hmov baclr crlc aclr crlc aclr crlc aclr crlc aswap amov 31hamov abmov c40h將28h中的最低位移入crrc amov c41hrrc amov c42hrrc amov c43hrrc amov 29halcall display調(diào)用數(shù)碼管顯示子程序ajmp main 這是ds18b20復(fù)位初始化子程序init_1820setb p10nopclr p10主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖mov r13tsr1mov

26、r0107djnz r0djnz r1tsr1setb p10然后拉高數(shù)據(jù)線nopnopnopmov r025htsr2jnb p10tsr3等待ds18b20回應(yīng)djnz r0tsr2ljmp tsr4 延時(shí)tsr3setb flag1 置標(biāo)志位表示ds1820存在ljmp tsr5tsr4clr flag1 清標(biāo)志位表示ds1820不存在ljmp tsr7tsr5mov r0117tsr6djnz r0tsr6 時(shí)序要求延時(shí)一段時(shí)間tsr7setb p10ret 讀出轉(zhuǎn)換后的溫度值get_tempersetb p10lcall init_1820先復(fù)位ds18b20jb flag1tss2

27、ret 判斷ds1820是否存在若ds18b20不存在則返回tss2mov a0cch 跳過rom匹配lcall write_1820mov a44h 發(fā)出溫度轉(zhuǎn)換命令lcall write_1820這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間等待ad轉(zhuǎn)換結(jié)束12位的話750微秒lcall displaylcall init_1820準(zhǔn)備讀溫度前先復(fù)位mov a0cch 跳過rom匹配lcall write_1820mov a0beh 發(fā)出讀溫度命令lcall write_1820lcall read_18200 將讀出的溫度數(shù)據(jù)保存到35h36h ret寫ds18b20的子程序 有具體的時(shí)序要求

28、write_1820mov r28一共8位數(shù)據(jù)clr cwr1clr p10mov r36djnz r3rrc amov p10cmov r323djnz r3setb p10nopdjnz r2wr1ret 讀ds18b20的程序從ds18b20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) read_18200mov r42 將溫度高位和低位從ds18b20中讀出mov r129h 低位存入29h temper_l 高位存入28h temper_h re00mov r28數(shù)據(jù)一共有8位re01clr csetb p10nopnopclr p10nopnopnopsetb p10mov r39re10 djnz

29、r3re10mov cp10mov r323re20 djnz r3re20rrc adjnz r2re01mov r1adec r1djnz r4re00retdisplayclr csubb a 30jnb cy t1mov a bclr csubb a25jnb cy xianshiclr p11ljmp xianshit1clr p12xianshimov abmov b10 10進(jìn)制10 10進(jìn)制div abmov b_bita 十位在amov a_bitb 個(gè)位在bmov r04 clr c多加的dpl1 mov r1250 顯示1000次dplopmov dptrnumtab1mov aa_bit 取個(gè)位數(shù)mo

溫馨提示

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