版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機的溫度控制系統(tǒng)的設(shè)計與制作畢業(yè)論文 桂林航天工業(yè)學(xué)院論文 基于STC89C52單片機的溫度報警器的設(shè)計與制作 Design and production based STC89C52 microcontroller temperature alarm 專 業(yè)應(yīng)用電子技術(shù)學(xué) 生陸星球指導(dǎo)教師 桂林航天工業(yè)學(xué)院電子工程系二零壹貳年陸月畢 業(yè) 設(shè) 計 論 文 評 語指導(dǎo)教師評語 簽字 201 年 月 日評閱教師評語 簽字 201 年 月 日畢業(yè)設(shè)計論文答辯記錄成績及評語 答辯提問記錄 記錄人 201 年 月 日答辯委員會評語 成 績 主任簽字 201 年 月 日桂林航天工業(yè)學(xué)院電子工程系畢
2、 業(yè) 設(shè) 計 任 務(wù) 書專業(yè)年級 姓名陸星球?qū)W號指導(dǎo)教師簽名畢業(yè)設(shè)計題目基于單片機的溫度控制系統(tǒng)的設(shè)計與制作任務(wù)下達(dá)日期2011年11月10日設(shè)計提交期限2012年6月10日設(shè)計主要內(nèi)容采用數(shù)字溫度傳感器基于單片機的數(shù)字溫度計本溫度計屬于多功能溫度計可以設(shè)置上下報警溫度當(dāng)溫度不在設(shè)置范圍內(nèi)時可以報警主要技術(shù)參數(shù)指標(biāo)采集到的溫度數(shù)據(jù)通過數(shù)碼管顯示出來采集的溫度范圍為0到99度精確到±05度成果提交形式設(shè)計論文一份樣品一套設(shè)計進(jìn)度安排1月10日2月10日收集資料2月10日3月10日方案設(shè)計論證3月10日4月10日硬件設(shè)計與制作4月10日5月10日編寫程序及調(diào)試5月10日6月10日書寫報告
3、提交設(shè)計成果 教研室意見 簽名 2012 年 月 日 系主任意見簽名 2012 年 月 日桂林航天工業(yè)學(xué)院電子工程系畢 業(yè) 設(shè) 計 開 題 報 告姓名陸星球?qū)W號指導(dǎo)教師楊端畢業(yè)設(shè)計題目基于單片機的溫度控制系統(tǒng)的設(shè)計與制作同組設(shè)計目的意義隨著時代的進(jìn)步和發(fā)展單片機技術(shù)已經(jīng)普及到我們生活工作科研各個領(lǐng)域已經(jīng)成為一種比較成熟的技術(shù) 在日常生活及工農(nóng)業(yè)生產(chǎn)中對溫度的檢測及控制時常顯得極其重要因此對數(shù)顯溫度計的設(shè)計有著實際意義和廣泛的應(yīng)用方案論證方案一由于本設(shè)計是測溫電路可以使用熱敏電阻之類的器件利用其感溫效應(yīng)在將隨被測溫度變化的電壓或電流采集過來進(jìn)行AD轉(zhuǎn)換后就可以用單片機進(jìn)行數(shù)據(jù)的處理在顯示電路上就
4、可以將被測溫度顯示出來這種設(shè)計需要用到AD轉(zhuǎn)換電路其中還涉及到電阻與溫度的對應(yīng)值的計算感溫電路比較麻煩而且在對采集的信號進(jìn)行放大時容易受溫度的影響出現(xiàn)較大的偏差方案二 進(jìn)而考慮到用溫度傳感器在單片機電路設(shè)計中大多都是使用傳感器所以這是非常容易想到的所以可以采用一只溫度傳感器DS18B20此傳感器可以很容易直接讀取被測溫度值進(jìn)行轉(zhuǎn)換電路簡單精度高軟硬件都以實現(xiàn)而且使用單片機的接口便于系統(tǒng)的再擴展?jié)M足設(shè)計要求時間安排1月10日3月10日收集資料方案設(shè)計論證3月10日4月10日硬件設(shè)計與制作4月10日5月10日編寫程序及調(diào)試5月10日6月10日書寫報告提交設(shè)計成果指導(dǎo)教師意見 簽字 年 月 日 審核
5、小組意見 組長簽字 年 月 日中文摘要 在日常生活及工農(nóng)業(yè)生產(chǎn)中對溫度的檢測及控制時常顯得極其重要因此對數(shù)顯溫度計的設(shè)計有著實際意義和廣泛的應(yīng)用本文介紹一種利用單片機實現(xiàn)對溫度智能控制及顯示的方案本畢業(yè)設(shè)計主要研究的是高精度的數(shù)字溫度計的設(shè)計繼而實現(xiàn)對對象的測溫測溫系統(tǒng)主要包括供電電源數(shù)字溫度傳感器的數(shù)據(jù)采集電路LED顯示電路蜂鳴器報警電路繼電器控制按鍵電路單片機主板電路數(shù)字溫度傳感器的數(shù)據(jù)采集電路與單片機主板電路是整個系統(tǒng)的關(guān)鍵高精度數(shù)字溫度計的測溫過程由數(shù)字溫度傳感器采集所測對象的溫度并將溫度傳輸?shù)絾纹瑱C最終由液晶顯示器顯示溫度值該數(shù)顯溫度計要求測溫范圍為55125精度誤差在05以內(nèi)LED
6、數(shù)碼管直讀顯示數(shù)字式溫度計完全可以代替?zhèn)鹘y(tǒng)的水銀溫度計可以在家庭中以及工業(yè)中都可以應(yīng)用實用價值很高 關(guān)鍵詞 單片機ABSTRACT In our daily life and industrial and agricultural production the detection and control of the temperature is extremely important Therefore the design of the digital thermometer has practical significance and a wide range of applicatio
7、ns This article describes a programmer which use a microcontroller to achieve and display the right temperature by intelligent control This programmer mainly consists by temperature control sensors MCU LED display modules circuit The main aim of this thesis is to design high-precision digital thermo
8、meter and then realize the object temperature measurement Temperature measurement system includes power supply data acquisition circuit of digital temperature sensor LED display circuit buzzer alarm circuit keypad circuit board with a microcontroller circuit data acquisition circuit of digital tempe
9、rature sensor and board with a microcontroller circuit is the key to the whole system The temperature process of high-precision digital thermometer from collecting the temperature of the object by the digital temperature sensor and the temperature transmitted to the microcontroller and ultimately di
10、splay temperature by the LED The digital thermometer requires the high degree is positive 99 and the low degree is negative 55 the error is less than 01LED can read the number This digital thermometer could replace the traditional mercurial thermometer can be used in family or industrial and agricul
11、tural production it has a great value KEY WORDSMCU DS18B20LED displayDigital thermometer目 錄 畢 業(yè) 設(shè) 計 論 文 評 語I畢業(yè)設(shè)計論文答辯記錄成績及評語II畢 業(yè) 設(shè) 計 任 務(wù) 書III畢 業(yè) 設(shè) 計 開 題 報 告IV中文摘要VABSTRACTVI目 錄i第一章 引言1第二章 方案選擇及總體設(shè)計221 數(shù)字溫度計設(shè)計方案論證2211 方案一2212 方案二2213 終選222 系統(tǒng)概述323 總體設(shè)計3231 實現(xiàn)功能3232 擴展功能4第三章 硬件設(shè)計531 總體電路設(shè)計5311 主控制器STC
12、89C525312 顯示電路9313 報警溫度調(diào)整按鍵9314報警電路11315控制加溫電路1232 DS18B20溫度傳感器12321溫度傳感計DS18B20電路設(shè)計17第四章 程序流程圖設(shè)計1941 主程序1942 讀出溫度子程序2043 溫度轉(zhuǎn)換命令子程序2044 計算溫度子程序與報警程序2145 顯示數(shù)據(jù)刷新子程序2146 按鍵掃描處理子程序22第五章 系統(tǒng)調(diào)試與運行23第六章 結(jié)論24致 謝25附 錄26A電路總原理圖26B程序清單27參考文獻(xiàn)36引言溫度是日常生活工業(yè)醫(yī)學(xué)環(huán)境保護(hù)化工石油等領(lǐng)域最常遇到的一個物理量測量溫度的基本方法是使用溫度計直接讀取溫度最常見到的測量溫度的工具是各
13、種各樣的溫度計例如水銀玻璃溫度計酒精溫度計熱電偶或熱電阻溫度計等它們常常以刻度的形式表示溫度的高低人們必須通過讀取刻度值的多少來測量溫度利用單片機和溫度傳感器構(gòu)成的電子式智能溫度計就可以直接測量溫度得到溫度的數(shù)字值既簡單方便又直觀準(zhǔn)確在傳統(tǒng)的溫度測量系統(tǒng)設(shè)計中往往采用模擬技術(shù)進(jìn)行設(shè)計這樣就不可避免地遇到諸如引線誤差補償多點測量中的切換誤差和信號調(diào)理電路的誤差等問題而其中某一環(huán)節(jié)處理不當(dāng)就可能造成整個系統(tǒng)性能的下降隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展特別是大規(guī)模集成電路設(shè)計技術(shù)的發(fā)展微型化集成化數(shù)字化正成為傳感器發(fā)展的一個重要方向美國Dallas半導(dǎo)體公司推出的數(shù)字溫度傳感器DSl8B20具有獨特的單總線
14、接口僅需要占用一個通用IO端口即可完成與微處理器的通信用戶可編程設(shè)定912位的分辨率以上特性使得DSl8B20非常適用于構(gòu)建高精度多點溫度測量系統(tǒng)本課題設(shè)計的數(shù)字溫度計選用DS18B20數(shù)字溫度傳感器它與單片機組成一個測溫系統(tǒng)具有線路簡單體積小等特點而且一條總線可連接器件構(gòu)成一個低電壓低功耗的多點數(shù)字測溫系統(tǒng)適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量有廣泛的應(yīng)用前景AD轉(zhuǎn)換后就可以用單片機進(jìn)行數(shù)據(jù)的處理在顯示電路上就可以將被測溫度顯示出來這種設(shè)計需要用到AD轉(zhuǎn)換電路其中還涉及到電阻與溫度的對應(yīng)值的計算感溫電路比較麻煩而且在對采集的信號進(jìn)行放大時容易受溫度的影響出現(xiàn)較大的偏差 方案二進(jìn)而考慮到用溫度傳感器
15、在單片機電路設(shè)計中大多都是使用傳感器所以這是非常容易想到的所以可以采用一只溫度傳感器DS18B20此傳感器可以很容易直接讀取被測溫度值進(jìn)行轉(zhuǎn)換電路簡單精度高軟硬件都以實現(xiàn)而且使用單片機的接口便于系統(tǒng)的再擴展?jié)M足設(shè)計要求一條總線可連接器件構(gòu)成一個低電壓低功耗的多點數(shù)字測溫系統(tǒng)適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量有廣泛的應(yīng)用前景 系統(tǒng)概述在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制傳統(tǒng)的測溫元件有熱電偶和熱電阻而熱電偶和熱電阻測出的一般都是電壓再轉(zhuǎn)換成對應(yīng)的溫度需要比較多的外部硬度支持硬件電路1復(fù)雜軟件調(diào)試復(fù)雜制作成本高故本設(shè)計使用集成傳感器DS18B20作為測溫傳感器系統(tǒng)主要分為溫度采集模塊數(shù)
16、據(jù)傳輸模塊報警模塊LED顯示模塊和供電模塊系統(tǒng)設(shè)計原理圖如圖2-1所示 圖-1 基于單片機的溫度控制系統(tǒng)設(shè)計原理圖DS18B20之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件測溫范圍為55125最大分辨率可達(dá)00625DS18B20可以直接讀出被測溫度值而且采用3線制與單片機相連減少了外部的硬件電路具有低成本和易使用的特點 總體設(shè)計231 實現(xiàn)功能 采用數(shù)字溫度傳感器基于單片機的數(shù)字溫度計本溫度計屬 于多功能溫度計可以設(shè)置上下報警溫度當(dāng)溫度不在設(shè)置范圍內(nèi)時可以報警采集到的溫度數(shù)據(jù)通過數(shù)碼管顯示出來采集的溫度范圍為0到99度精確到1度232 擴展功能 測溫范圍 -55125 誤差0
17、5以內(nèi)采用LED數(shù)碼管直讀顯示測溫范圍為-55125 的上線溫度和下線溫度 報警功能能在上限和下限溫度時蜂鳴器報警發(fā)光二極管閃爍LED數(shù)碼管直讀顯示當(dāng)溫度為負(fù)則顯示負(fù)號最低位顯示攝氏度符號C硬件設(shè)計總體電路設(shè)計溫度計電路設(shè)計原理圖如圖2-1所示控制器使用單片機溫度傳感器使用DS18B20用4位共陽LED數(shù)碼管以動態(tài)掃描法實現(xiàn)溫度顯示采用USB燒入程序及供電用12M晶振電路還包括按鍵電路復(fù)位電路報警電路控制加溫電路單片機外設(shè)電路等整個系統(tǒng)的原理圖如下圖所示 主控制器STC89C52 STC89C52 是低電壓 高性能 CMOS 8 位單片機 片內(nèi)含 8k bytes 的可反復(fù)擦寫的 Flash
18、只讀程序存儲器和 256 bytes 的隨機存取數(shù) 據(jù)存儲器RAM 器件采用高密度非易失性存儲技術(shù)生產(chǎn)與標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容 片內(nèi)置通用 8 位中央處理器 CPU和 Flash 存儲單元功能強大 STC89C52 單片機適合于許多 較為復(fù)雜控制應(yīng)用場合STC89C52 單片機為 40 引腳雙列直插芯片 有四個 IO 口 P0P1P2P3每一條 IO 線都能獨立地作輸出或輸 入STC89C52 PDIP 管腳封裝如圖 所示STC89c52 包含以下部分1一個 8 位微處理器 CPU 2片內(nèi)數(shù)據(jù)存儲器 RAM 和特殊功能寄存器 SFR 3片內(nèi)程序存儲器 ROM 4
19、兩個定時計數(shù)器 T0T1可用作定時器也可用以對外部脈 沖進(jìn)行計數(shù) 5四個 8 位可編程的并行 IO 端口每個端口既可作輸入也可 作輸出6一個串行端口用于數(shù)據(jù)的串行通信 7中斷控制系統(tǒng) 8內(nèi)部時鐘電路STC89c52部分引腳說明1 時鐘電路引腳XTAL1 和XTAL2XTAL2 18 腳 接外部晶體和微調(diào)電容的一端在8051 片內(nèi)它是振蕩電路反相放大器的輸出端振蕩電路的頻率就是晶體固有頻率若需采用外部時鐘電路時該引腳輸入外部時鐘脈沖要檢查80518031 的振蕩電路是否正常工作可用示波器查看XTAL2 端是否有脈沖信號輸出XTAL1 19 腳 接外部晶體和微調(diào)電容的另一端在片內(nèi)它是振蕩電路反相放
20、大器的輸入端在采用外部時鐘時該引腳必須接地控制信號引腳RSTALEPSEN 和EARSTVPD 9 腳 RST是復(fù)位信號輸入端高電平有效當(dāng)此輸入端保持備用電源的輸入端當(dāng)主電源Vcc 發(fā)生故障降低到低電平規(guī)定值時將5V 電源自動兩個機器周期 24個時鐘振蕩周期 的高電平時就可以完成復(fù)位操作RST 引腳的第二功能是VPD即接入RST 端為RAM 提供備用電源以保證存儲在RAM 中的信息不丟失從而合復(fù)位后能繼續(xù)正常運行ALEPROG 30 腳 地址鎖存允許信號端當(dāng)8051 上電正常工作后ALE 引腳不斷向外輸出正脈沖信號此頻率為振蕩器頻率fOSC 的16CPU 訪問片外存儲器時ALE 輸出信號作為鎖
21、存低8 位地址的控制信號平時不訪問片外存儲器時ALE 端也以振蕩頻率的16 固定輸出正脈沖因而ALE 信號可以用作對外輸出時鐘或定時信號如果想確定80518031 芯片的好壞可用示波器查看ALE端是否有脈沖信號輸出如有脈沖信號輸出則80518031 基本上是好的ALE 端的負(fù)載驅(qū)動能力為8 個LS 型TTL 低功耗甚高速TTL 負(fù)載此引腳的第二功能PROG 在對片內(nèi)帶有4KB EPROM 的8751 編程寫入 固化程序 時作為編程脈沖輸入端PSEN 29 腳 程序存儲允許輸出信號端在訪問片外程序存儲器時此端定時輸出負(fù)脈沖作為讀片外存儲器的選通信號此引肢接EPROM 的OE 端 見后面幾章任何一
22、個小系統(tǒng)硬件圖 PSEN 端有效即允許讀出EPROMROM 中的指令碼PSEN 端同樣可驅(qū)動8 個LS 型TTL 負(fù)載要檢查一個80518031 小系統(tǒng)上電后CPU 能否正常到EPROMROM 中讀取指令碼也可用示波器看PSEN 端有無脈沖輸出如有則說明基本上工作正常EAVpp 31 腳 外部程序存儲器地址允許輸入端固化編程電壓輸入端當(dāng)EA 引腳接高電平時CPU只訪問片內(nèi)EPROMROM并執(zhí)行內(nèi)部程序存儲器中的指令但當(dāng)PC 程序計數(shù)器 的值超過0FFFH 對87518051 為4K 時將自動轉(zhuǎn)去執(zhí)行片外程序存儲器內(nèi)的程序當(dāng)輸入信號EA 引腳接低電平 接地 時CPU 只訪問外部EPROMROM
23、并執(zhí)行外部程序存儲器中的指令而不管是否有片內(nèi)程序存儲器對于無片內(nèi)ROM 的8031 或8032需外擴EPROM此時必須將EA 引腳接地此引腳的第二功能是Vpp 是對8751 片內(nèi)EPROM固化編程時作為施加較高編程電壓 一般12V21V 的輸入端3 輸入輸出端口P0P1P2P3P0口 P00P073932 腳 P0口是一個漏極開路的8 位準(zhǔn)雙向IO口作為漏極開路的輸出端口每位能驅(qū)動8 個LS 型TTL 負(fù)載當(dāng)P0 口作為輸入口使用時應(yīng)先向口鎖存器 地址80H 寫入全1此時P0 口的全部引腳浮空可作為高阻抗輸入作輸入口使用時要先寫1這就是準(zhǔn)雙向口的含義在CPU 訪問片外存儲器時P0口分時提供低8
24、 位地址和8 位數(shù)據(jù)的復(fù)用總線在此期間P0口內(nèi)部上拉電阻有效P1口 P10P1718 腳 P1口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向IO口P1口每位能驅(qū)動4 個LS 型TTL 負(fù)載在P1口作為輸入口使用時應(yīng)先向P1口鎖存地址 90H 寫入全1此時P1口引腳由內(nèi)部上拉電阻拉成高電平P2口 P20P272128 腳 P2口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向IO口P口每位能驅(qū)動4個LS 型TTL 負(fù)載在訪問片外EPROMRAM 時它輸出高8 位地址P3口 P30P371017 腳 P3口是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向IO口P3口每位能驅(qū)動4個LS型TTL負(fù)載P3口與其它IO 端口有很大的區(qū)別它的每
25、個引腳都有第二功能如下P30 RXD 串行數(shù)據(jù)接收P31 RXD 串行數(shù)據(jù)發(fā)送P32 INT0 外部中斷0輸入P33 INT1 外部中斷1輸入P34 T0 定時計數(shù)器0的外部計數(shù)輸入P35 T1 定時計數(shù)器1的外部計數(shù)輸入P36 WR 外部數(shù)據(jù)存儲器寫選通P37 RD 外部數(shù)據(jù)存儲器讀選通 顯示電路顯示電路采用8位共陰極LED數(shù)碼管其中的前5位P0口高電平有效作為段碼輸出并作為數(shù)碼管的驅(qū)動P2口的低3位作為數(shù)碼管的位選端采用動態(tài)掃描的方式顯示如圖3-2所示1 74HC573 11腳接ACC鎖存不起作用相當(dāng)于直通相應(yīng)的段賦值1有效2 74HC138 ABC賦值 07則輸出端分別是Y0Y7 置0如
26、P2 0則Y0 0 P2 6則Y6 0即選通第七個數(shù)碼管 圖3-2顯示電路 報警溫度調(diào)整按鍵本系統(tǒng)設(shè)計個按鍵采用查詢方式均采用軟 件消抖硬件連接如圖所示按鍵圖3-4 復(fù)位按鍵報警或0需要直續(xù)賦值變化的電平Led等的正極都是接5V的高電平所以負(fù)極低電平時led燈亮反之則滅Led燈D2連接單片機P10口當(dāng)溫度超過設(shè)定的上下限溫度時D2閃爍報警當(dāng)達(dá)到上下限溫度時報警led燈閃爍電路如下 圖3-6 LED電路315控制加溫電路RELAY-SPDT這個繼電器是控制加溫電路工作狀態(tài)的插座J12的12腳連到加溫電路的電源兩端繼電器觸電K1作為加溫電路的電源開關(guān)當(dāng)溫度超過設(shè)定的上下限溫度時程序控制繼電器自動打
27、開控制加溫或者減溫系統(tǒng)進(jìn)行工作當(dāng)溫度恢復(fù)正常值則繼電器自動關(guān)閉 圖3-7 繼電器控制電路 DS18B20溫度傳感器DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器與傳統(tǒng)的熱敏電阻等測溫元件相比它能直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式DS18B20的性能特點如下·獨特的單線接口僅需要一個端口引腳進(jìn)行通信·實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫·可通過數(shù)據(jù)線供電電壓范圍為3055V·在DS18B20中的每個器件上都有獨一無二的序列號·溫度以9或12位數(shù)字量讀出
28、3;報警搜索命令識別并標(biāo)志超過程序限定溫度 溫度報警條件 的器件·負(fù)電壓特性電源極性接反時溫度計不會因發(fā)熱而燒毀但不能工作 圖3-7 DS18B20內(nèi)部結(jié)構(gòu)圖 DS18B20采用3腳PR35封裝或8腳SOIC封裝其內(nèi)部結(jié)構(gòu)框圖如圖3-7所示64位ROM的位結(jié)構(gòu)如圖3-8所示開始8位是產(chǎn)品類型的編號接著是每個器件的惟一的序號共有48位最后8位是前56位的CRC檢驗碼這也是多個DS18B20可以采用一線進(jìn)行通信的原因非易失性溫度報警觸發(fā)器TH和TL可通過軟件寫入戶報警上下限 8位檢驗CRC48位序列號8位工廠代碼10HMSB LSB MSB LSB MSB LSB 圖3-8 64位ROM
29、結(jié)構(gòu)圖DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器結(jié)構(gòu)如圖3所示 頭2個字節(jié)包含測量得的溫度信息第3和第4字節(jié)是TH和TL的拷貝是易失的每次上電復(fù)位時被刷新第5個字節(jié)為配置寄存器9它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辯率DS18B20工作時按此寄存器中的分辯率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值該字節(jié)各位的定義如圖3-8所示低5位一直為1TM是測試模式位用于設(shè)置DS18B20在工作模式還是在測試模式在DS18B20出廠時該位被設(shè)置為0用戶不要去改動R1和R0決定溫度轉(zhuǎn)換的精度位數(shù)即用來設(shè)置分辯率定義方法見表1 溫度 L
30、SB溫度 MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC1字節(jié)2字節(jié)4字節(jié) TH用戶字節(jié)15字節(jié) TH用戶字節(jié)26字節(jié) EEROM7字節(jié)8字節(jié)9字節(jié) TMR1R011111圖3-9 高速暫存RAM結(jié)構(gòu)圖 圖3-10 配置寄存器 表1 DS18B20分辯率的定義規(guī)定R1R0分辯率位溫度最大轉(zhuǎn)換時間ms0099375211 0 110187510113751112750由表1可見DS18B20溫度轉(zhuǎn)換的時間比較長而且設(shè)定的分辯率越高所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長因此在實際應(yīng)用中要將分辯率和轉(zhuǎn)換時間權(quán)衡考慮高速暫存RAM的第678字節(jié)保留未用表現(xiàn)為全邏輯1轉(zhuǎn)換完成后溫度值就以16位帶
31、符號擴展的二進(jìn)制補碼形式存儲在高速暫存存儲器的第12字節(jié)單片機可以通過單線接口讀出該數(shù)據(jù)讀數(shù)據(jù)時低位在先高位在后數(shù)據(jù)格式以00625LSB形式表示溫度值格式如圖4-6所示當(dāng)符號位S 0時表示測得的溫度值為正值可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制當(dāng)符號位S 1時表示測得的溫度值為負(fù)值要先將被補碼變成原碼再計算十進(jìn)制值表2是一部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù) 2321202-12-22-32-4LS字節(jié) S S S SS262524MS字節(jié)圖3-11溫度數(shù)據(jù)值格式DS18B20完成溫度轉(zhuǎn)換后就把測得的溫度值與RAM中的THTL字節(jié)內(nèi)容作比較若T TH或T TL則將該器件內(nèi)的報警標(biāo)志位置位并對主機發(fā)出的報警
32、搜索命令作出響應(yīng)因此可用多只DS18B20同時測量溫度并進(jìn)行報警搜索主機根據(jù)ROM的前56位來計算CRC值并和存入DS18B20的CRC值作比較以判斷主機收到的ROM數(shù)據(jù)是否正確DS18B20的測量原理如圖3-11所示圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入圖中還隱含著計數(shù)門當(dāng)計數(shù)門打開時DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)表2DS18B20溫度與測得值對應(yīng)表溫度二進(jìn)制表示十六進(jìn)制表示1250000 0111 1101 000007D0H850000
33、 0101 0101 00000550H2506250000 0001 1001 00010191H101250000 0000 1010 001000A2H050000 0000 0000 10000008H00000 0000 0000 00000000H051111 1111 1111 1000FFF8H101251111 1111 0101 1110FF5EH2506251111 1110 0110 1111FE6FH551111 1100 1001 0000FC90H進(jìn)而完成溫度測量計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定每次測量前首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1溫度寄
34、存器中減法計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù)當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1減法計數(shù)器1的預(yù)置值將重新被裝入減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù)如此循環(huán)直到減法計數(shù)器2計數(shù)到0時停止溫度寄存器值的累加此時溫度寄存器中的數(shù)值就是所測溫度值圖3-11中的斜率累加器用于補償和修正測溫過程中的非線形性其輸出用于修正減法計數(shù)器的預(yù)置值只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程直到溫度寄存器值達(dá)到被測溫度值 另外由于DS18B20單線通信功能是分時完成的它有嚴(yán)格的時隙概念因此讀寫時序很重要系統(tǒng)對DS18B2
35、0的各種操作必須按協(xié)議進(jìn)行操作協(xié)議為初始化DS18B20 發(fā)復(fù)位脈沖 發(fā)ROM功能命令 發(fā)存儲器操作命令 處理數(shù)據(jù)45 DS18B20的其他介紹DS18B20的存儲器包括高速暫存器RAM和可電擦除RAM可電擦除RAM又包括溫度觸發(fā)器TH和TL以及一個配置寄存器存儲器能完整的確定一線端口的通訊數(shù)字開始用寫寄存器的命令寫進(jìn)寄存器接著也可以用讀寄存器的命令來確認(rèn)這些數(shù)字當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中當(dāng)修改過寄存器中的數(shù)時這個過程能確保數(shù)字的完整性高速暫存器RAM是由8個字節(jié)的存儲器組成第一和第二個字節(jié)是溫度的顯示位第三和第四個字節(jié)是復(fù)制TH和TL同時第三和第四個
36、字節(jié)的數(shù)字可以更新第五個字節(jié)是復(fù)制配置寄存器同時第五個字節(jié)的數(shù)字可以更新六七八三個字節(jié)是計算機自身使用用讀寄存器的命令能讀出第九個字節(jié)這個字節(jié)是對前面的八個字節(jié)進(jìn)行校驗DS18B20采用一線通信接口因為一線通信接口必須在先完成ROM設(shè)定否則記憶和控制功能將無法使用主要首先提供以下功能命令之一讀ROMROM匹配搜索ROM跳過ROM報警檢查這些指令操作作用在沒有一個器件的64位光刻ROM序列號可以在掛在一線上多個器件選定某一個器件同時總線也可以知道總線上掛有有多少什么樣的設(shè)備DS18B20可以使用外部電源VDD也可以使用內(nèi)部的寄生電源當(dāng)VDD端口接30V55V的電壓時是使用外部電源當(dāng)VDD端口接地
37、時使用了內(nèi)部的寄生電源無論是內(nèi)部寄生電源還是外部供電IO口線要接5K左右的上拉電阻DS18B20電路設(shè)計 DS18B20 最大的特點是單總線數(shù)據(jù)傳輸方式DS18B20 的數(shù)據(jù)IO 均由同一條線來完 成DS18B20 的電源供電方式有2 種 外部供電方式和寄生電源方式工作于寄生電源方 式時 VDD 和GND 均接地 他在需要遠(yuǎn)程溫度探測和空間受限的場合特別有用 原理是當(dāng) 1 W ire 總線的信號線DQ 為高電平時 竊取信號能量給DS18B20 供電 同時一部分能量給 內(nèi)部電容充電 當(dāng)DQ為低電平時釋放能量為DS18B20 供電但寄生電源方式需要強上拉電 路 軟件控制變得復(fù)雜 特別是在完成溫度轉(zhuǎn)
38、換和拷貝數(shù)據(jù)到E2PROM 時 同時芯片的性 能也有所降低因此 在條件允許的場合 盡量采用外供電方式無論是內(nèi)部寄生電源還是 外部供電IO口線要接5K左右的上拉電在這里采用前者方式供電DS18B20與芯片連 接電路如圖 32所示圖312圖 DS18B20與單片機的連接外部電源供電方式是DS18B20最佳的工作方式工作穩(wěn)定可靠抗干擾能力強而且電 路也比較簡單 可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng) 在開發(fā)中使用外部電源供電方式 畢竟比寄生電源方式只多接一根VCC引線在外接電源方式下可以充分發(fā)揮DS18B20寬電 源電壓范圍的優(yōu)點即使電源電壓VCC 降到3V 時依然能夠保證溫度量精度 由于DS18B2
39、0 只有一根數(shù)據(jù)線因此它和主機單片機通信是需要串行通信而 89C52 有兩個串行端口所以可以不用軟件來模擬實現(xiàn)經(jīng)過單線接口訪問DC18B20 必 須遵循如下協(xié)議初始化ROM 操作命令存儲器操作命令和控制操作要使傳感器工作 一切處理均嚴(yán)格按照時序 圖41 主程序流程圖讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)在讀出時需進(jìn)行CRC校驗校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫其程序流程圖如圖42示 圖4-3溫度轉(zhuǎn)換命令流程圖 圖4-2 讀出溫度子程序流程圖 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms在本程序設(shè)計中采用1s顯示程序延時
40、法等待轉(zhuǎn)換的完成溫度轉(zhuǎn)換命令子程序流程圖如上圖圖43所示計算溫度子程序與報警程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算并進(jìn)行溫度值正負(fù)的判定其程序流程圖如圖44所示顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作當(dāng)標(biāo)志位位為1時將符號顯示位移入第一位程序流程圖如圖45 圖44計算溫度流程圖 圖45顯示數(shù)據(jù)刷新流程圖 按鍵掃描處理子程序按鍵采用掃描查詢方式設(shè)置標(biāo)志位當(dāng)標(biāo)志位為1時顯示設(shè)置溫度否則顯示當(dāng)前溫度如下圖46示 圖4-6按鍵掃描處理圖 系統(tǒng)調(diào)試與運行本人主要負(fù)責(zé)的內(nèi)容是寫程序所以系統(tǒng)的調(diào)試以程序為主軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的性檢驗然后
41、分別進(jìn)行主程序讀出溫度子程序溫度轉(zhuǎn)換命令子程序計算溫度子程序顯示數(shù)據(jù)刷新等子程序的編程及調(diào)試由于DS18B20與單片機采用串行數(shù)據(jù)傳送因此對DS18B20進(jìn)行讀寫編程時必須嚴(yán)格地保證讀寫時序否則將無法讀取測量結(jié)果本程序采用單片機C語言編寫用EWAVR-KS4編譯器編程調(diào)試軟件調(diào)試到能顯示溫度值而且在有溫度變化時顯示溫度能改變就基本完成55125的測量范圍使得該溫度計完全適合一般的應(yīng)用場合其低電壓供電特性可做成用電池供電的手持電子溫度計 DS18B20溫度計還可以在高低溫報警遠(yuǎn)距離多點測量控制等方面進(jìn)行應(yīng)用開發(fā)但在實際設(shè)計中應(yīng)注意以下問題1DS18B20工作時電流高達(dá)15mA總線上掛接點數(shù)較多且
42、同時進(jìn)行轉(zhuǎn)換時要考慮增加總線驅(qū)動可用單片機端口在溫度轉(zhuǎn)換時導(dǎo)通一個MOSFET供電2連接DS18B20的總線電纜是有長度限制的因此在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配等問題3在DS18B20測溫度程序設(shè)計中向DS18B20發(fā)出溫度轉(zhuǎn)換命令后程序總要等待DS18B20的返回信號一旦某個DS18B20接觸不好或斷線當(dāng)程序讀該DS18B20時將沒有返回信號程序進(jìn)入死循環(huán)這一點在進(jìn)行DS18B20硬件連接和軟件設(shè)計時要給予一定的重視 結(jié)論本設(shè)計方案達(dá)到了任務(wù)書的要求并擴展了功能實現(xiàn)了數(shù)字溫度計的設(shè)計實現(xiàn)了較為精確的測溫功能1對被測對象的測溫結(jié)果精度可以達(dá)到
43、7;05°C突出了本設(shè)計的特點2所測溫度值的范圍在55125符合指定工作溫度范圍3由蜂鳴器報警電路控制的報警功能也調(diào)試實現(xiàn)并在LED上正確顯示了溫度值繼電器控制成功 本設(shè)計中的數(shù)字計直接測的方式該計的靈敏度高響應(yīng)時間短抗干擾能力強而且具有測量范圍大讀數(shù)方便優(yōu)點在接通電源時數(shù)碼管上顯示的數(shù)字會不清晰或者出現(xiàn)抖動這是由于電源電壓不穩(wěn)或是接觸不良所引起可以使用電容的方法來消除上述現(xiàn)象該系統(tǒng)成本低器件均為常用元件有很高的工程應(yīng)用價值如稍加改動本系統(tǒng)致 謝本論文的工作是在我的導(dǎo)師楊端的悉心指導(dǎo)下完成的楊老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響在此衷心感謝三年來龐老師對我的關(guān)心和
44、指導(dǎo)楊老師悉心指導(dǎo)我們完成了畢業(yè)論文工作在學(xué)習(xí)上和生活上都給予了我很大的關(guān)心和幫助在此向楊老師表示衷心的謝意龐教授對于我的論文提出了許多的寶貴意見在此表示衷心的感謝在撰寫論文期間馬同學(xué)徐學(xué)姐等同學(xué)對我論文中的格式研究工作給予了熱情幫助在此向他們表達(dá)我的感激之情另外也感謝家人朋友他們的理解和支持使我能夠在學(xué)校專心完成我的學(xué)業(yè) 附 錄A電路總原理圖 B程序清單include include _nop_ 延時函數(shù)用define dm P0 段碼輸出口define uchar unsigned chardefine uint unsigned intsbit RELAY P11sbit led1 P1
45、2sbit DQ P13 溫度輸入口sbit led P10sbit beep P17 蜂鳴器和指示燈sbit set P30 溫度設(shè)置切換鍵sbit add P31 溫度加sbit dec P32 溫度減int temp1 0 顯示當(dāng)前溫度和設(shè)置溫度的標(biāo)志位為0 時顯示當(dāng)前溫度uint huint tempuchar ruchar high 29low 15uchar signuchar q 0uchar tt 0uchar scale溫度小數(shù)部分用查表法uchar code ditab16 0x000x010x010x020x030x030x040x040x050x060x060x070x
46、080x080x090x09 小數(shù)斷碼表uchar code table_dm12 0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x000x40 共陰LED 段碼表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-"uchar code table_dm21 0x39 uchar
47、 table_dm1 0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef 個位帶小數(shù)點的斷碼表uchar data temp_data2 0x000x00 讀出溫度暫放uchar data display5 0x000x000x000x000x00 顯示單元數(shù)據(jù)共4 個數(shù)據(jù)和一個運算暫用11us 延時函數(shù)void delay uint t for t 0t- void scan int jfor j 0j 5j switch j delay 50 case 0 P0 0x39P2 4delay 100 case 1 P0 table_dmdisplay0P2 3d
48、elay 100 xiaoshucase 2 P0 table_dm1display1P2 2delay 100 geweicase 3 P0 table_dmdisplay2P2 1delay 100 shiweicase 4 P0 table_dmdisplay3P2 0delay 100 baiwei DS18B20 復(fù)位函數(shù)ow_reset void char presence 1while presence while presence DQ 1_nop_ _nop_ 從高拉倒低DQ 0delay 50 550 usDQ 1delay 6 66 uspresence DQ prese
49、nce 0 復(fù)位成功繼續(xù)下一步 delay 45 延時500 uspresence DQ DQ 1 拉高電平 DS18B20 寫命令函數(shù)向1-WIRE 總線上寫1 個字節(jié)void write_byte uchar val uchar ifor i 8i 0i- DQ 1_nop_ _nop_ 從高拉倒低DQ 0_nop_ _nop_ _nop_ _nop_ 5 usDQ val0x01 最低位移出delay 6 66 usval val2 右移1 位 DQ 1delay 1 DS18B20 讀1 字節(jié)函數(shù)從總線上取1 個字節(jié)uchar read_byte void uchar iuchar v
50、alue 0for i 8i 0i- DQ 1_nop_ _nop_ value 1DQ 0_nop_ _nop_ _nop_ _nop_ 4 usDQ 1_nop_ _nop_ _nop_ _nop_ 4 usif DQ value 0x80delay 6 66 us DQ 1return value 讀出溫度函數(shù)read_temp ow_reset 總線復(fù)位delay 200 write_byte 0xcc 發(fā)命令write_byte 0x44 發(fā)轉(zhuǎn)換命令ow_reset delay 1 write_byte 0xcc 發(fā)命令write_byte 0xbe temp_data0 read_
51、byte 讀溫度值的第字節(jié)temp_data1 read_byte 讀溫度值的高字節(jié)temp temp_data1temp 8temp temptemp_data0 兩字節(jié)合成一個整型變量return temp 返回溫度值 溫度數(shù)據(jù)處理函數(shù) work_temp uint tem uchar n 0if tem 6348 溫度值正負(fù)判斷 tem 65536-temn 1 負(fù)溫度求補碼標(biāo)志位置1display4 tem0x0f 取小數(shù)部分的值display0 ditabdisplay4 存入小數(shù)部分顯示值display4 tem 4 取中間八位即整數(shù)部分的值display3 display4100
52、 取百位數(shù)據(jù)暫存display1 display4100 取后兩位數(shù)據(jù)暫存display2 display110 取十位數(shù)據(jù)暫存display1 display110 個位數(shù)據(jù)r display1display210display3100符號位顯示判斷if display3 display3 0x0a 最高位為0 時不顯示if display2 display2 0x0a 次高位為0 時不顯示 if n display3 0x0b 負(fù)溫度時最高位顯示"-" void BEEP if r highr 129 r low beep beepRELAY 1led leddelay 300 else beep 0RELAY 0led 1 if r low beep beepRELAY 1led1 led1d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 入廠打工合同范例
- 聚合物合成課程設(shè)計
- 新車分期租賃合同范例
- 定制窗戶配件合同范例
- 全科醫(yī)學(xué)導(dǎo)論模擬習(xí)題(含參考答案)
- 農(nóng)村水源地租賃合同范例
- 保姆雇傭合同范例
- 電車電池質(zhì)保合同范例
- 2025年西雙版納道路運輸從業(yè)資格考試系統(tǒng)
- 果園管護(hù)合同范例
- 學(xué)校食堂應(yīng)對臨時增員的預(yù)案
- 康復(fù)治療技術(shù)歷年真題單選題100道及答案
- 北京郵電大學(xué)《自然語言處理基礎(chǔ)》2022-2023學(xué)年期末試卷
- 畢業(yè)答辯基于4P理論研究ZARA快時尚品牌在國內(nèi)的研究策略李丹
- 漢字文化解密學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 醫(yī)生給病人免責(zé)協(xié)議書(2篇)
- 滬科版2023~2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)預(yù)測卷(二)(含答案)
- 第二章 田徑-短跑途中跑技術(shù) 教案 2023-2024學(xué)年人教版初中體育與健康七年級全一冊
- 空運陸運操作崗位招聘面試題及回答建議(某大型國企)2024年
- 《元旦新氣象夢想再起航》主題班會
- 2024-2030年中國集中供熱行業(yè)供需平衡與投資運行模式規(guī)劃研究報告
評論
0/150
提交評論