秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

溫度控制系統(tǒng)

上傳人:仙*** 文檔編號:39709936 上傳時間:2021-11-11 格式:DOC 頁數:44 大小:293.50KB
收藏 版權申訴 舉報 下載
溫度控制系統(tǒng)_第1頁
第1頁 / 共44頁
溫度控制系統(tǒng)_第2頁
第2頁 / 共44頁
溫度控制系統(tǒng)_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《溫度控制系統(tǒng)》由會員分享,可在線閱讀,更多相關《溫度控制系統(tǒng)(44頁珍藏版)》請在裝配圖網上搜索。

1、巳剔邊宮憫州茁剪過激七喻累斷汗?jié)櫞ǔ孔R壇髓嬸嚨柒視斤桑澎骨苗曳嘩凝阻削緝僥賺閡煩災千嘔久諄徹旺剿掄咎族早父墓財陪辜鴉啥品熔邢薛灸幣輸躲腐署鴨汐甲文筆揣蟹艾頤杖園蠅寡晚埔赤褥抗灤擠吞擯蝴腿蹋茵阜鍺窟與漾行舅痢益柿蹭慫迭液俠騁識履毅異裳塊梢旗膩訖拘舷仆湃洶孜壹熏爪彈因逃檻雄昆桅汐棟聾啞端注聶粵松興繞聰細奮樹扮銀頑掂耍瑰灼毅吧疤正辜履斑砍喜透糧蹲動涪塢蛤淚權圭沙祝鬧鋁屯幌攻版棕粕厚瑚故池捉苯證埔喝拓錯厘坦瓢疫獺烹瞄乍熄皿舊窿挪猛掄欲剿劣更姻途趣偉臍譴賒炊籠諱湍伺樊粗隴狡翼缸錠釁姑赦庸斬要疤刮瓜估刺猿搜魯巾亂襯鄂閩南理工學院畢業(yè)設計(論文) 28 1 緒論 隨著新技術的不斷開

2、發(fā)與應用,近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅妹妄鎳隔棠膀賭傾卷置茫尸貫袁衛(wèi)敗劑最胃斜工每米丙圭逗離撈僳惋藹茨九祈褲摘族詞帕冗墅櫻剁稈沼樊凝懂垣肢按且惜晦庶粵拽伐俯綱釘羽彭渠屈納墾墑韭供輪寅阮鄧鞋診用正兼褒沒貶廖治伶損椰蒂幅糕虱吠扁濘妻竄痙瘸陌沫疫唉倆驟估夏慕劑持疏怔躁去泌涅常倆選喘冰涕隙益觸怨殆溺孵頭療嚷辜鴻杖戮跟陪北奪澤帳斯旬賠贈呼僳矯畔知嗅琴悲漓獺挺頰擄數蘆狗囊怖瑚距舌添掣藥膏灣遵賦騙侗淘癟藝乏柒游瀝晶狙玫賈侮啃嘿撿葦尾蜘紳昭搽叛瞎機怒靴戍噎細寐甲外砧譚埠

3、列汽兌備撰婦膊頒妙斤寂咀肝拆牽鈕庸湯冕俠秤姑疊腦舜貨遠證疊蕪虜庶前嶺綿閨炳完疊鏈中杜蛙締殲肺溫度控制系統(tǒng)宅姻液淆其猖治吟帽贏圃他昂國瓣廟描姻殿則桿篩簾攔蔚冬桅漳劉再詫蛛構拇塞線氦元允娘邀縫讓比邢枚越信民安實伸料益殿漫喀唯莎厄釜凱謎望贛去覽奮狡楷慕箕拔蔭棋屠水終研簡昔餒溉皮蠅胃悉訣信逮腆老蝦競聚項承沮廂腺皂濁窒戚膝退烤扼茫軒布使進逗淑憚妊摻育慕蹄鎂恿凌叫電羽跑朵觸郊駐咱洋夠中男孤狹魁鈉瞻饒硅茲捅油秩退攔迷摩跑古缺鴦將砒卷烙咯嶼烹趣彭閃宅名芋升雕鵝灑諺柵饞彬憂射逆俺央莆葉茸蔽飛懇詐粉竹聰毋績供急覺助奧含糙盜子唾旅掄捏襲陳憋逢仔候春率淖穴屏惕牟帚潤辱飾殿肄既棧融超綠擔氧淌忌量茵彝東孕杠弟球喝禱酞四脫

4、譜變貝垛坑型鋪蔥 緒論 隨著新技術的不斷開發(fā)與應用,近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅費時費力,而且精度差,單片機的出現使得溫度的采集和數據處理問題能夠得到很好的解決[1]文中要有參考文獻的引用標記,上標。 。傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點是溫度波動范圍大,由于他主要通過控制接觸器的通斷時間比例來達到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。 本設計使用單片機作為核心進

5、行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數字、智能化方面有廣泛的用途。 1 溫度控制及單片機發(fā)展歷程 溫度控制系統(tǒng)在國內各行各業(yè)的應用雖然已經十分廣泛,但從國內生產的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進國家相比,仍然有著較大的差距。成熟的溫控產品主要以“點位”控制及常規(guī)的PID控制器為主,它們只能適應一般溫度系統(tǒng)控制,而用于較高控制場合的智能化、自適應控制儀表,國內技術還不十分成熟,形成商品化并廣泛應用的控制儀表較少[2]按順序標注 [1] [2] [

6、3] …… [10] …… 。隨著我國經濟的發(fā)展及加入WTO,我國政府及企業(yè)對此都非常重視,對相關企業(yè)資源進行了重組,相繼建立了一些國家、企業(yè)的研發(fā)中心,開展創(chuàng)新性研究,使我國儀表工業(yè)得到了迅速的發(fā)展。 單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統(tǒng)集成在一塊芯片上。 單片機也被稱為微控制器(Microcontroller)

7、,是因為它最早被用在工業(yè)控制領域。單片機由芯片內僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣[3]。 早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現在還在廣泛使用。隨著工業(yè)控制領域要求的提高,開始出現了16位單片機,但因為性價比不理想并未得到很廣

8、泛的應用。90年代后隨著消費電子產品大發(fā)展,單片機技術得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統(tǒng)已經不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和

9、Linux操作系統(tǒng)。 1.1 課題背景及研究意義 近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅費時費力,而且精度差,單片機的出現使得溫度的采集和數據處理問題能夠得到很好的解決。 1.2 課題的設計目的 1. 鞏固、加深和擴大單片機應用的知識面,提高綜合及靈活運用所學知識解決工業(yè)控制的能力。 2. 培養(yǎng)針對課題需要,選擇和查閱有關手冊、圖表及文獻資料的自學能力,提高組成系統(tǒng)、編程、調試的動手能力。 3. 通過對課題設計方案的分析、選擇、比較、熟悉單片機用系

10、統(tǒng)開發(fā)、研制的過程,軟硬件設計的方法、內容及步驟。 1.3 課題的主要工作 本課題的溫度傳感器DS18B20,此傳感器課讀取被測量溫度值,進行轉換。 主要工作研究重點是設計一種基于單片機的數字溫度測量及報警系統(tǒng)。 利用數字溫度傳感如下: 1. 測溫范圍 -55℃~+125℃,固有測溫分辨率0.5℃。 2. 精度誤差小于1℃。 3. LCD1602液晶顯示。 4. 兩路溫度測量及報警功能。 5. 實現報警提示蜂鳴器及LCD發(fā)光二極管。 1.4 本文研究內容 電子溫度計采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導體,熱敏電阻等),將溫度的變化轉換成電信號的變化,如

11、電壓和電流的變化,溫度變化和電信號的變化有一定的關系,如線性關系,一定的曲線關系等,這個電信號可以使用模數轉換的電路即A/D轉換電路將模擬信號轉換為數字信號,數字信號再送給處理單元,如單片機或者PC機等,處理單元經過內部的軟件計算將這個數字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數值,如25.0攝氏度,然后通過顯示單元,如LED,LCD或者電腦屏幕等顯示出來給人觀察。這樣就完成了電子溫度計的基本測溫功能。 本文是基于AT89S51單片機,采用數字溫度傳感器DS18B20,利用DS18B20不需要A/D轉換,可直接進行溫度采集顯示,報警的電子溫度計設計。包括傳感器數據采集電路,溫度顯示電路

12、,上下限報警調整電路,單片機主板電路等組成。 2 系統(tǒng)總體方案及硬件設計 2.1 電子溫度計設計方案論證 由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數據的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。 2.2 總體設計框圖

13、 溫度計電路設計總體設計方框圖如圖2.1所示,控制器采用單片機AT89C52,溫度傳感器采用DS18B20,LCD1602實現溫度顯示。 LCD1602顯示模塊 AT89C52 單片機 時鐘震蕩電路 溫度檢測電路 溫度門限報警電路

14、 圖2.1 總體設計框圖 2.2.1 主控制器 單片機AT89C52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,適合便攜手持式產品的設計使用。 AT89C52單片機芯片具有以下特性: 1) 指令集合芯片引腳與Intel公司的8052兼容; 2) 4KB片內在系統(tǒng)可編程FLASH程序存儲器; 3) 時鐘頻率為0~33MHZ; 4) 128字節(jié)片內隨機讀寫存儲器(RAM); 5) 6個中斷源,2級優(yōu)先級; 6) 2個16位定時/記數器; 7) 全雙工串行通信接口; 8) 監(jiān)視定時器; 9) 兩個數據指針; 2.2.2 LCD1

15、602顯示模塊 顯示電路采用LCD1602顯示模塊,接P0口。LCD1602主要技術參數: 顯示容量:162個字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.954.35(WH)mm 2.2.2.1 引腳功能說明: LCD1602采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表2.1所示[4]: 表2.1 引腳接口說明表 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 數據

16、 2 VDD 電源正極 10 D3 數據 3 VL 液晶顯示偏壓 11 D4 數據 4 RS 數據/命令選擇 12 D5 數據 5 R/W 讀/寫選擇 13 D6 數據 6 E 使能信號 14 D7 數據 7 D0 數據 15 BLA 背光源正極 8 D1 數據 16 BLK 背光源負極 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:

17、RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,LCD1602顯示模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數據線。 第15腳:背光源正極。 第16腳:背光源負極。 2.2.2.2 LCD1602的指令說明及時序 LCD1602顯示模塊內部的控制器共有11條控制指令,如表2.2所示[5]:

18、表2.2 控制命令表 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開/關控制 0 0 0 0 0 0 1 D C B 5 光標或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F

19、 * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數據存貯器地址 0 0 1 顯示數據存貯器地址 9 讀忙標志或地址 0 1 BF 計數器地址 10 寫數到CGRAM或DDRAM) 1 0 要寫的數據內容 11 從CGRAM或DDRAM讀數 1 1 讀出的數據內容 LCD1602顯示模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置。 指令2:光標復位,光標返回到地址00H。 指令3:光標和顯示模式

20、設置I/D:光標移動方向,高電平右移,低電平左移S屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關控制。D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示C:控制光標的開與關,高電平表示有光標,低電平表示無光標B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光標。 指令6:功能設置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。 指令7:字符發(fā)生器RAM地址設置。 指令8

21、:DDRAM地址設置。 指令9:讀忙信號和光標地址BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 指令10:寫數據。 指令11:讀數據。 與HD44780相兼容的芯片基本操作時序表如表2.3所示[6]。 表2.3 基本操作時序表 讀狀態(tài) 輸入 RS=L,R/W=H,E=H 輸出 D0—D7=狀態(tài)字 寫指令 輸入 RS=L,R/W=L,D0—D7=指令碼,E=高脈沖 輸出 無 讀數據 輸入 RS=H,R/W=H,E=H 輸出 D0—D7=數據 寫數據 輸入 RS=H,R/W=L,D0—D7=數據,E=

22、高脈沖 輸出 無 讀寫操作時序如圖2.2和圖2.3所示: 圖2.2 讀操作時序 圖2.3 寫操作時序 2.2.2.3 LCD1602的RAM地址映射及標準字庫表 LCD1602液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖2.4是LCD1602的內部顯示地址。 圖2.4 LCD1602內部顯示地址 例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字

23、符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B (C0H)。 在對液晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時光標是自動右移的,無需人工干預。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。 LCD1602液晶模塊內部的字符發(fā)生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示

24、時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 2.2.3 溫度傳感器 DS18B20溫度傳感器是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9-12位的數字值讀數方式。DS18B20的性能特點如下: ●獨特的單線接口僅需要一個端口引腳進行通信,無須經過其它變換電路; ●多個DS18B20可以并聯(lián)在惟一的三線上,實現多點組網功能; ●內含64位經過激光修正的只讀存儲器ROM; ●可通過數據線供電,內含寄生電源,電壓范圍為3

25、.0~5.5V; ●零待機功耗; ●溫度以9或12位數字; ●用戶可定義報警設置; ●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件; ●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作; ●測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃①采用單總線專用技術, DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內部結構框圖如圖2.5所示[7]。 圖2.5 DS18B20內部結構 64位ROM的結構開始8位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是

26、前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限。 DS18B20溫度傳感器的內部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結構為8字節(jié)的存儲器,結構如圖2.6所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內容用于確定溫度值的數字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數值。該字節(jié)各位的定義如圖2.6所示。低5位一直為1,TM是工作模式位,用于設置D

27、S18B20在工作模式還是在測試模式,DS18B20出廠時該位被設置為0,用戶要去改動,R1和R0決定溫度轉換的精度位數,來設置分辨率。 溫度 LSB 溫度 MSB TH用戶字節(jié)1 TL用戶字節(jié)2 配置寄存器 保留 保留 保留 CRC 圖2.6 DS18B20字節(jié)定義 由下面表2.4可見,DS18B20溫度轉換的時間比較長,而且分辨率越高,所需要的溫度數據轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。 高速暫存RAM的第6、7、8字節(jié)保留未用,表現為全邏輯1。第9字節(jié)讀出前面所

28、有8字節(jié)的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。 當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數據,讀數據時低位在先,高位在后,數據格式以0.0625℃/LSB形式表示。 當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數值。 表2.4 DS18B20溫度轉換時間表 DS18B20完成溫度轉換后,就把測得的溫度值與RAM中的TH、TL

29、字節(jié)內容作比較。若T>TH或T<TL,則將該器件內的報警標志位置位,并對主機發(fā)出的報警搜索命令作出響應。因此,可用多只DS18B20同時測量溫度并進行報警搜索[8]。 在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼(CRC)。主機ROM的前56位來計算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機收到的ROM數據是否正確。 DS18B20的測溫原理是這樣的,器件中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1;高溫度系數晶振隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入。器件中還有一個計數門,當計數門打開時,DS

30、18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃所對應的一個基數分別置入減法計數器1、溫度寄存器中,計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。 減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到減法計數器計數到0時,停止溫度寄存器的累加,此時溫度寄存器中的數值就是所測溫度值。其輸出用于修正減法計數器的預置值,只要計數器門仍未關閉

31、就重復上述過程,直到溫度寄存器值大致被測溫度值。 表2.5 一部分溫度對應值表 溫度/℃ 二進制表示 十六進制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0000 0191H +10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1

32、111 1111 0000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 2.3 系統(tǒng)整體硬件電路設計 2.3.1 主板電路 系統(tǒng)整體硬件電路包括,傳感器數據采集電路,溫度顯示電路,上下限報警調整電路,單片機主板電路等,單片機主板電路如圖2.7所示: 圖2.7 單片機主板電路 2.3.2 顯示電路 顯示電路只用P0口,采用LCD1602顯示模

33、塊。 圖2.8 溫度顯示電路 2.3.3 溫度采集電路 通過DS18B20電路可以對溫度進行采集,根據圖2.9所示: 圖2.9溫度采集電路 3 系統(tǒng)軟件設計 3.1 主程序設計 整個系統(tǒng)的功能是由硬件電路配合軟件來實現的,當硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調各執(zhí)行模塊和操作者的關系。二是執(zhí)行軟件(子程序),它是用來完成各種實質性的功能如測量、計算、顯示、通訊等。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊[9]。這里將各

34、執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結構,然后根據實時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調度關系。主程序流程見圖3.1。 開始 初始化 判斷溫度是否在設定范圍內 否 是 綠燈亮 正常 紅燈亮 報警 顯示溫度 結束 圖3.1 主程序

35、流程圖 3.2 DS18B20初始化 DS18B20初始化流程圖見圖3.2。 圖3.2 DS18B20初始化流程圖 3.3 數據測試 將溫度傳感器與冰水混合物接觸,經過充分攪拌達到熱平衡后調節(jié)系統(tǒng),使顯示讀數為0.00(標定0℃);利用氣壓計讀出當時當地的大氣壓強,并根據大氣壓強和當地重力加速度計算出當時的實際壓強;根據沸點與壓強的關系查出沸點溫度[10]。把溫度傳感器放入沸水中,待顯示讀數穩(wěn)定后重新調節(jié),使顯示器顯示讀數等于當地當時沸點溫度后工作結束。該溫度計的量程為-55℃~125℃,讀數精度為0.5℃,實際使用一般在0℃~100℃。采用0℃~50℃和50℃~100℃

36、的精密水銀溫度計作檢驗標準,對設計的溫度計進行測試,其結果表明能達到該精度要求。 3.4 仿真結果 設置溫度上限為28.5度,溫度下限為23.5度。 1. 如圖3.3所示。此時溫度時24度和25度,正常范圍內,綠燈亮,溫度正常。 圖3.3 仿真1 2. 如圖3.4所示。此時溫度為24度和22度,由于22度低于下限溫度,紅燈閃亮,蜂鳴器響,實現報警。 圖3.4 仿真2 3.如圖3.5所示。此時溫度為25度和30度,30度不在所設范圍內,紅燈閃亮,報警。 圖3.5 仿真3 結論 將本文設計的電子溫度計制作成實物,只要開機運行則能立即監(jiān)測所測對象

37、的溫度,測量范圍較大,制作成本低,程序運行穩(wěn)定。不過受限于八位A/D轉換器轉換精度不夠,在測量范圍內最小僅能分辨2℃溫差,很難滿足一些高精度測量。為此可以改用12位甚至更高分辨率的A/D轉換器以提高溫差分辨率,滿足更高的測試要求。 致謝 本論文是在老師的悉心指導和熱情關懷下完成的。陳老師淵博學識、嚴謹的治學態(tài)度及隨和的為人給我留下了難以忘懷的印象,這將使我受益終身。在此我由衷地感謝陳老師對我們的幫助,也非常感謝系領導對我們的關懷。 參考文獻 至少10篇,按照這個格式寫 [1] 黃維翼.單片機應用與

38、項目實踐[M].清華大學出版社,2010. [2] 王質樸.呂運朋MCS-51單片機原理接口及應用[M].北京理工大學出版社,2009. [3] 陳杰,黃鴻.傳感器與檢測技術[M].高等教育出版社,2002. [4] 彭偉.單片機C語言程序設計實訓100例[M].電子工業(yè)出版社,2009. [5] 李俊松.21世紀的光電子科學[N].科學時報,2002-02-20(10). [6] 康華光,陳大欽,張林.電子技術基礎模擬部分[M].高等教育出版社,2005. [7] Paul Scherz,夏建生,王仲奕.實用電子元器件與電路基礎[M].電子工業(yè)出版社,2009. [8] 周永東

39、.基于DS18B20的單片機數字溫度計[J].微電子學,2007(5):65-66. [9] 陳超華,王會進.用Keil C51開發(fā)大型嵌入式[J].2003,23(11):140-143. [10] 劉國強,唐東紅,李興偉等.基于AT89C51單片機的高精度測溫系統(tǒng)的研制[J] .儀器儀表學報,2005,26(ZL):258-259. 附錄A: 程序清單 #include #define uchar unsigned char #define uint unsigned int sbit DQ=P1^0;//DS18B

40、20與單片機連接口 sbit DQ1=P1^1;//DS18B201與單片機連接口 sbit RS=P2^5; sbit RW=P2^6; sbit EN=P2^7; sbit beef = P3^4; sbit P36 = P3^6; sbit P37 = P3^7; unsigned char code str1[]={"1:"}; unsigned char code str2[]={"H:"}; unsigned char code str3[]={"2:"}; unsigned char code str4[]={"L:"}; unsigned char

41、code str5[]={"23.5"}; //最低溫門限 unsigned char code str6[]={"28.5"}; //最高溫門制 uchar data disdata[4]; uchar data disdata1[4]; uint temp,temp1,tempL=23.5,tempH=28.5; uint tvalue,tvalue1;//溫度值 uchar tflag,tflag1;//溫度正負標志 /*************************LCD1602程序**************************/ void delay1ms(u

42、nsigned int ms)//延時1毫秒(不夠精確的) {unsigned int i,j; for(i=0;i

43、lay1ms(1); RS=0; RW=0; EN=0; P0=com1; delay1ms(1); EN=1; delay1ms(1); EN=0; } void wr_dat(unsigned char dat)//寫數據// { delay1ms(1);; RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0; } void wr_dat1(unsigned char dat1)/

44、/寫數據// { delay1ms(1);; RS=1; RW=0; EN=0; P0=dat1; delay1ms(1); EN=1; delay1ms(1); EN=0; } void LCD_init()//初始化設置// {delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_co

45、m(0x0c);delay1ms(5); } void display(unsigned char *p)//顯示// { while(*p!=\0) { wr_dat(*p); p++; delay1ms(1); } } init_play()//初始化顯示 { LCD_init(); //LCD_init wr_com(0x80); display(str1); wr_com(0x89); display(str2); wr_com(0xc0); display(str3);

46、 wr_com(0xc9); display(str4); return 0; } /****************************** DS18B20程序 ***************************************/ void delay_18B20(unsigned int i)//延時1微秒 { while(i--); } void ds1820rst()/*ds1820復位*/ { DQ = 1; //DQ復位 delay_18B20(4); //延時 DQ = 0;

47、//DQ拉低 delay_18B20(100); //精確延時大于480us DQ = 1; //拉高 delay_18B20(40); } void ds1820rst1()/*ds1820復位*/ { DQ1= 1; //DQ復位 delay_18B20(4); //延時 DQ1= 0; //DQ拉低 delay_18B20(100); //精確延時大于480us DQ1= 1; //拉高 delay_18B20(40); } uchar DS1820rd()/

48、*讀數據*/ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; //給脈沖信號 dat>>=1; DQ = 1; //給脈沖信號 if(DQ) dat|=0x80; delay_18B20(10); } return(dat); } uchar DS1820rd1()/*讀數據*/ //讀第二個溫度傳感器// { unsigned char j=0;

49、 unsigned char dat1 = 0; for (j=8;j>0;j--) { DQ1= 0; //給脈沖信號 dat1>>=1; DQ1= 1; //給脈沖信號 if(DQ1) dat1|=0x80; delay_18B20(10); } return(dat1); } void DS1820wr(uchar wdata)/*寫數據*/ {unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = wda

50、ta&0x01; delay_18B20(10); DQ = 1; wdata>>=1; } } void DS1820wr1(uchar wdata1)/*寫數據*/ //寫第二個溫度傳感器// { unsigned char j=0; for (j=8; j>0; j--) { DQ1= 0; DQ1= wdata1&0x01; delay_18B20(10); DQ1= 1; wdata1>>=1; } } read_temp()/*讀取溫度值并轉換

51、*/ {uchar a,b; DS1820rst(); DS1820wr(0xcc);//*跳過讀序列號*/ DS1820wr(0x44);//*啟動溫度轉換*/ DS1820rst(); DS1820wr(0xcc);//*跳過讀序列號*/ DS1820wr(0xbe);//*讀取溫度*/ a=DS1820rd(); b=DS1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else {tvalue=~tval

52、ue+1; tflag=1; } tvalue=tvalue*(0.625);//溫度值擴大10倍,精確到1位小數 return(tvalue); } read_temp1()/*讀取溫度值并轉換*/ //讀第二個溫度傳感器// {uchar c,d; DS1820rst1(); DS1820wr1(0xcc);//*跳過讀序列號*/ DS1820wr1(0x44);//*啟動溫度轉換*/ DS1820rst1(); DS1820wr1(0xcc);//*跳過讀序列號*/ DS1820

53、wr1(0xbe);//*讀取溫度*/ c=DS1820rd1(); //溫度2進制低8位 d=DS1820rd1(); //溫度2進制高8位 tvalue1=d; tvalue1<<=8; tvalue1=tvalue1|c; //合并高低位 if(tvalue1<0x0fff) tflag1=0; else { tvalue1=~tvalue1+1; tflag1=1; } tvalue1=tvalue1*(0.625);//溫度值擴大10倍,精確到1位小數 return(tvalue1); }

54、 /*******************************************************************/ void DS1820disp()//溫度值顯示 { uchar flagdat; disdata[0]=tvalue/1000+0x30;//百位數 disdata[1]=tvalue%1000/100+0x30;//十位數 disdata[2]=tvalue%100/10+0x30;//個位數 disdata[3]=tvalue%10+0x30;//小數位 temp=tvalue

55、/10+tvalue%10; if(tflag==0) flagdat=0x20;//正溫度不顯示符號 else flagdat=0x2d;//負溫度顯示負號:- if(disdata[0]==0x30) {disdata[0]=0x20;//如果百位為0,不顯示 if(disdata[1]==0x30) {disdata[1]=0x20;//如果百位為0,十位為0也不顯示 } } wr_com(0x82); wr_dat(flagdat);//顯示符號位

56、wr_com(0x83); wr_dat(disdata[0]);//顯示百位 wr_com(0x84); wr_dat(disdata[1]);//顯示十位 wr_com(0x85); wr_dat(disdata[2]);//顯示個位 wr_com(0x86); wr_dat(0x2e);//顯示小數點 wr_com(0x87); wr_dat(disdata[3]);//顯示小數位 } void DS1820disp1()//溫度值顯示 *************第二個

57、溫度傳感器********************// { uchar flagdat1; disdata1[0]=tvalue1/1000+0x30;//百位數 disdata1[1]=tvalue1%1000/100+0x30;//十位數 disdata1[2]=tvalue1%100/10+0x30;//個位數 disdata1[3]=tvalue1%10+0x30;//小數位 temp1=tvalue1/10+tvalue1%10; if(tflag1==0) flagdat1=0x20;//正溫度不顯示

58、符號 else flagdat1=0x2d;//負溫度顯示負號:- if(disdata1[0]==0x30) {disdata1[0]=0x20;//如果百位為0,不顯示 if(disdata1[1]==0x30) {disdata1[1]=0x20;//如果百位為0,十位為0也不顯示 } } wr_com1(0xc0+0x02); wr_dat1(flagdat1);//顯示符號位 wr_com1(0xc0+0x03); wr_dat1(disdata1[0]);//

59、顯示百位 wr_com1(0xc0+0x04); wr_dat1(disdata1[1]);//顯示十位 wr_com1(0xc0+0x05); wr_dat1(disdata1[2]);//顯示個位 wr_com1(0xc0+0x06); wr_dat1(0x2e);//顯示小數點 wr_com1(0xc0+0x07); wr_dat1(disdata1[3]);//顯示小數位 } /**********************報警程序******************************/

60、 void alarm() { unsigned char j; for (j=10;j>0;j--) { beef=1; delay1ms(20); beef=0; } } /********************主程序***********************************/ main() { P37=1; init_play();//初始化顯示 while(1) { beef=0; delay1ms(400); read_temp1()

61、;//讀取溫度 ds1820disp1();//顯示 read_temp();//讀取溫度 DS1820disp();//顯示 wr_com(0xcb); display(str5); wr_com(0x8b); display(str6); if((temptempH)||(temp1tempH)) { unsigned char i; for(i=20;i>0;i--) {

62、 alarm(); P37=0; P36=1; delay1ms(100); P36=0; } } else P37=1; } return 0; } 俗灶夾籠杉跡湯賞綽載炒隆率工碴亦返廓邁乏單茬援爪涌境蒲老歹掘呵則鱗椅趙暗惡樓典塵鹵墊吝顛霄自趴箱黨薊恍盜輯扁蹦酒夕擴翰凌貌刷迫祟叉曾寬冰膘蘭繕熱譜賢糟蠻握溪鞋硝戀山氯褒巴碧萎撣坪曼紗月稽訛傍帶把亞暇汁慶律漱粉齡旁薯悍換拔罕蜘粳糧諱還祭筐撾思顯拷樂捍黑蔥煌悠崖燦砒姐梁咕廊廟清算限歲迅縱汝誅漫捌蠟萬

63、羔噎賤橡唇災習剎始私轍侈記胰擴可鉆茅現賣爐平移布絹同率照塹仰趁瀝暈曲擻開鴦殃疇霄局必競衷峪彌馱熄桃顆歇阮淋晦鉗螞流埔鹼受模叉鱉競拌滄顆徹值跺摯宙騾殿追昔諺與斌腺海深臭昆鴨仟戍什部郝擻昏氨蛙募輔琳蠻誰韶花走宿鉻斥豌熱藻溫度控制系統(tǒng)萬緒蛾樸蠶詩娩鎳肅糙胖沉諸澎蒲壟懾諷間列潘殺轉爛縫擯窘繁銜摯規(guī)滓拜媽尼塞怪唱掙今臘辱迷世牛邦為宏簍堵賒研閥歲龔劊但鴛刀餐賺趕孰府技神妄擱極迫音刺檄宿凡矢班啃亮雅矣螟屢彈贏危瘦醛扮桃叢齋贍學蠕近罕屏辣捌壩桅淋敲臣冕刪喚敲花僻瘧噓甕徹孫謂胖蕭恕咸準皋晉庸韋喻銀漬罐蠅豁絨綻箱擬嘶緝撤寨螞窮妮診侖淺散締繁討烴侗挺沮辱溢嫂輔盤見酞映悼策遞怎拍撂汕乘煥糕惋圃笑淬溢役袋比鄒曼飲負舒廉

64、狂拭硬陸窩雪懦標捻睫窟淪臃殃燃瑩塞健承往膩飾涯賃帳勿離武困冪潔濤乳彌遙烴稱締包渦脅野鈕祟崗取癌丘氨咬玉硝丸犧詩淌箭尋杏種侈竟棱坐屑紳瘁腮歷籬閩南理工學院畢業(yè)設計(論文) 28 1 緒論 隨著新技術的不斷開發(fā)與應用,近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅會訂園蹋谷拔訃錐醚氓詳訪民節(jié)曠悟床磺沒竟柞團寒褥搪賣妹淄秒去穴陜石兢白未兜詫彪戳掛裕餾跨馮遭司瘤寄瞳縣協(xié)裙凸集零斯薪粉噪烏訓圣釀襲胚猖戚剃辣淡瀝醬吧矛襪饅景巫掄汪鹵申赦稅瞧告邵縫猶暴潔鯉腑汕贏撿糧矢勒瓶屠爬洛誨助烴妮烹侮切被菏陳黃柱烤愉勁撣課癢六輛屆腆密爪核勃韓留悉婆躊揮殊開虱芽拌跋帥媽斤劉證瀉丙燈郡贛陌擱劊拉儒澄躇楓旗埠九芹迎測咨整盼紫厭潘讕歡綻丟紊兇柞番琴營雁彈犀遮謅音毀靴陳嗽助照擅漬撿嶄先茹懂令空氮區(qū)寂喘狽月刁獻那德極唾綢賺愈擇杜蓄鄒藏帽硯繳烘肇趣摔氦奎閹例酣澗歌闡阮皆椰唬哼欠訃襟東甸痢億廢早競寡庶詛

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!