![基于AT89S52單片機的多點溫度測量與監(jiān)控(DOC畢設論文).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-12/26/f3889940-707c-4aa5-9b68-402a35c94081/f3889940-707c-4aa5-9b68-402a35c940811.gif)
![基于AT89S52單片機的多點溫度測量與監(jiān)控(DOC畢設論文).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-12/26/f3889940-707c-4aa5-9b68-402a35c94081/f3889940-707c-4aa5-9b68-402a35c940812.gif)
![基于AT89S52單片機的多點溫度測量與監(jiān)控(DOC畢設論文).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-12/26/f3889940-707c-4aa5-9b68-402a35c94081/f3889940-707c-4aa5-9b68-402a35c940813.gif)
![基于AT89S52單片機的多點溫度測量與監(jiān)控(DOC畢設論文).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-12/26/f3889940-707c-4aa5-9b68-402a35c94081/f3889940-707c-4aa5-9b68-402a35c940814.gif)
![基于AT89S52單片機的多點溫度測量與監(jiān)控(DOC畢設論文).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-12/26/f3889940-707c-4aa5-9b68-402a35c94081/f3889940-707c-4aa5-9b68-402a35c940815.gif)
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2010 2011學年第 一 學期畢業(yè)設計課題名稱:基于AT89S52單片機的多點溫度測量與監(jiān)控總目錄第一部分 任務書 第二部分 開題報告第三部分 畢業(yè)設計正文 第 一 部 分任務書揚州工業(yè)職業(yè)技術學院畢業(yè)設計任務書系 部電子系指導老師馬梅職稱講師學生姓名劉興龍班級0802應用電子學號0805170224設計題目基于AT89S52單片機的多點溫度測量與監(jiān)控設計內容目標和要求設計內容目標:1、以AT89S52單片機為測溫CPU,以DS18B20為溫度傳感器,組成由鍵盤及顯示電路、溫度測量電路、串口通信電路等組成的多點溫度監(jiān)測系統。2、完成程序設計及實物調試。設計要求:1、提出選題的初步設想和研究目的。2、收集、整理與理論和實際有關的、完整的、準確的信息資料。3、掌握MCS-51單片機的結構與原理。4、確定設計多點溫度測量與監(jiān)控的整體方案。5、完成多點溫度測量與監(jiān)控的軟硬件設計。教研室審核系部審核第 二 部 分開題報告揚州工業(yè)職業(yè)技術學院 電子信息工程 系11屆畢業(yè)設計(論文)開題報告書(表1)學生姓名劉興龍專業(yè)應用電子班級0802應用電子學號0805170224題 目基于AT89S52單片機的多點溫度測量與監(jiān)控指導教師馬梅職稱講師學 位碩士題目類別 工程設計 基礎研究 應用研究 其它【課題的內容與要求】本次畢業(yè)設計主要應用MCS-51系列單片機原理和控制理論設計簡易溫度測量與監(jiān)控模型的電路仿真及實物,并利用C語言進行程序設計。以單片機AT89S52為控制器的數碼管動態(tài)顯示及串口通信部分,可實時顯示溫度并將數值傳給電腦?!厩把浴侩S著信息技術革命的深入和計算機技術的飛速發(fā)展,單片機的應用越來越廣泛,并逐漸發(fā)展成為一門關鍵的技術學科。單片機具有一些突出優(yōu)點:體積小、重量輕、耗電少、電源單一、功能強、價格低、運行速度快、抗干擾能力強、可靠性高,所以在通信、家電、工業(yè)控制、儀器儀表、汽車等產品中都可以看到單片機的身影。在工業(yè)生產及日常生活中,多點溫度檢測系統的應用十分廣泛,例如消防電氣的非破壞性溫度檢測,電力設備的過熱故障預知檢測,空調系統的溫度檢測,大型糧庫的溫度監(jiān)測,各類運輸工具組件的過熱檢測,醫(yī)療與診斷設備的溫度測試等。數字溫度傳感器DSl8820的多點溫度檢測系統利用單總線的特點,可以方便地組建傳感器網絡,從而實現多點溫度的測量。系統設計靈活、抗干擾性好,可以在惡劣的工作環(huán)境中進行溫度測量?!痉桨傅谋容^與評價】溫度傳感器有:傳統熱敏溫度傳感器和IC溫度傳感器。價格:毫無疑問,單個的熱敏溫度傳感器比IC溫度傳感器有很大的價格優(yōu)勢。但如果要以數字方式來讀取熱敏溫度傳感器的溫度值,就要安裝有模數轉換模塊。另外,隨著工藝水平不斷提高,IC溫度傳感器的價格也不斷下降,其價格也逐漸可以和熱敏溫度傳感器相媲美。例如,美國國家半導體公司的LM19, 其價格與熱敏溫度傳感器相相當。封裝:IC溫度傳感器的封裝多種多樣,且占用空間小。精度:IC溫度傳感器的精度高(熱敏溫度傳感器如加裝精確的外加電路也是可以的)。另外,熱敏溫度傳感器往往需要使用者逐個校調,而IC溫度傳感器在出廠時已完成這一步?;谝陨蠋c,本次畢業(yè)設計選擇IC溫度傳感器。在IC溫度傳感器中選擇平時接觸較多的DS18B20。【預期的效果及指標】對Proteus V7.1、Keil 4軟件有了更深的理解,不僅是對軟件,對高頻電子線路和模擬電子有更進一步的理解。先電腦上做好仿真之后,然后對其進行實物調試,能實現系統各性能指標均符合要求?!具M度安排】2010 年 9 月 21 日 - 2010 年 9 月 30 日 選題、調研、收集資料2010 年 10 月 8 日 - 2010 年 10 月 15 日 論證、開題2010 年 10 月 16 日 - 2010 年 11 月 30 日 設計(寫作初稿)2010 年 12 月 1 日 - 2010 年 12 月 10 日 修改、定稿、打印【參考文獻】1 DALLAS公司的DS18B20芯片資料.2009年2 段向東、毋茂盛、毋玉芝.Keil C51 程序設計中幾種精確延時方法.單片機與嵌入式系統應用.2007 年,第12 期:33頁-35頁3 王學梅、金廣鋒.數字溫度傳感器DSl820在糧倉溫度智能控制系統中的應用.科技廣場.2009年,第5期:217頁-218頁4 陳生翰、劉其洪、丁柱.單總線數字溫度傳感器DSl820自動識別的設計與實現.儀表技術與傳感器.2009年,第5期:16頁-18頁5 雷建龍.數字溫度傳感器DSl820讀出數據錯誤分析.電子器件.2007年,第30卷(第6期):2183頁-2185頁【指導教師意見】(有針對性地說明選題意義及工作安排是否恰當等)多點溫度監(jiān)控系統的應用在實際中很廣泛,因此選題很有意義,并且工作進度安排合理,能保障按時完成畢業(yè)設計。同意提交開題論證 修改后提交 不同意提交(請說明理由)指導教師簽章: 年 月 日 【系部意見】同意指導教師意見 不同意指導教師意見(請說明理由) 其它(請說明)隊系(部)主任簽章: 年 月 日第 三 部 分畢業(yè)設計正文基于AT89S52單片機的多點溫度測量與監(jiān)控劉興龍0802應用電子摘 要隨著電子產品智能化程度越來越高,采用單片機來溫度監(jiān)控已成為當今的主流。本文介紹了數字溫度測量及監(jiān)控的系統設計。本文采用單片機來實現對溫度的控制。它的主要組成部分有: AT89S52單片機、鍵盤及顯示電路、溫度測量電路、串口通信電路等組成。它可以實時的顯示和設定溫度,實現對溫度的自動控制。通過測試表明,本設計對溫度的控制有方便、簡單的特點,從而大幅提高了被控溫度的技術指標。關鍵詞單片機 單總線數字溫度傳感器 串口發(fā)送 上位機AT89S52 Microcontroller based multi-point temperature measurement and monitoringLiu Xinglong0802 application of electronicAbstract:With more and more intelligent electronic products, using SCM to temperature monitoring has become mainstream. This article describes the digital temperature measurement and control system design. In this paper, single chip to achieve the temperature control. Its main components are: AT89S52 microcontroller, keyboard and display circuit, the temperature measurement circuit, serial communication circuit. It can be real-time display and set temperature, to achieve automatic control of temperature. Test shows that the design of temperature control are easy, simple features, which significantly increased the temperature was charged with technical indicators.Key words: SCM Single-bus digital temperature sensor Serial port PC目 錄第一章 系統的總體設計11.1 設計背景11.2 電路的總體工作原理1第二章 方案論證42.1 題目分析42.2 具體控制要求42.3 溫度傳感器的選擇42.4 DSl820簡介4第三章 系統的硬件電路63.1 最小系統63.2 溫度傳感電路63.3 鍵盤、顯示、報警電路73.4 串口通信電路93.5 實物圖10第四章 系統的軟件設計154.1下位機程序設計164.2上位機程序設計17第五章 全文總結195.1 經濟效益分析195.2 社會效益分析19致謝21參考文獻22附錄I 元器件清單23附錄II 主程序24附錄 子程序29附錄 上位機程序39第一章 系統的總體設計1.1 設計背景溫度控制廣泛應用于人們的生產和生活中,人們使用傳統溫度計來采集溫度,通過人工操作加熱、通風和降溫設備來控制溫度,這樣控制精度低、實時性差,在某些對溫度的要求較高行業(yè)中,由于工作環(huán)境溫度不合理而引發(fā)的事故時有發(fā)生。對工業(yè)生產可靠進行造成影響,甚至操作人員的安全。為了避免這些缺點,需要在某些特定的環(huán)境里安裝數字溫度測量及控制設備。本設計以單總線的DS18B20為溫度傳感器,允許在一根數據線上掛接多個DS18B20,尤其在大范圍多點測溫的情況下,其電路連接及其方便,易于維修、更換。51系列單片機價格低廉,購買方便,具有多種封裝形式,可將系統進一步微型化。本設計是一個數字溫度測量及監(jiān)控系統,能夠進行大范圍的溫度測量,并能在超限的情況下進行控制、調整,并報警。保證環(huán)境保持在限定的溫度中。1.2 電路的總體工作原理系統采用AT89S52測溫CPU,采用獨立鍵盤把設定溫度的最高值和最低值存入單片機的數據存儲器,再由單片機將溫度最高值和最低值存入DS18B20,由于大范圍的溫度值可能有很多,系統自身顯示模塊很難完全顯示,完成測量后將本次所測得的數據通過串口傳給上位機,由上位機對溫度進行控制、調整乃至儲統計等高級功能。也可進一步完善上位機的軟件功能,單個上位機可接多個下位機,從而完成更大范圍的溫度監(jiān)測。測溫電路鍵盤顯示電路報警電路串口發(fā)送電路AT89S52圖1-1 硬件框圖開機設置高低溫限設置成功返回測溫串口發(fā)送高溫則斷電低溫則加電串口數據發(fā)送及上位機數據處理溫度是否正常否是圖1-2 程序框圖根據系統的設計要求,選擇DS18B20作為本系統的溫度傳感器,選擇AT89S52單片機為測溫來完成數據采集、處理、顯示、報警等功能。DS18B20采用單總線傳輸數據,一根線上可掛接多個DS18B20,省卻了采樣保持電路、運放、數模轉換電路以及進行長距離傳輸時的串并轉換電路,簡化了電路,降低了系統的硬件成本。中央微處理器 AT89S52:低功耗、高性能CMOS 8位微控制器,具有8K 在系統可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得AT89S52單片機為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。按照實際需要,同時也考慮到設計成本與整個系統的精巧性,所以在本系統中就選用價格較低、工作穩(wěn)定的AT89S52單片機作為整個系統的控制器。第二章 方案論證本章對畢業(yè)設計題目進行分析,根據要實現的功能,提出了實現系統功能的實現方案。2.1 題目分析本設計是一個數字多點溫度監(jiān)控系統,能夠實現多點溫度測量,能在超限的情況下進行控制、調整,并報警,并可以將溫度數據通過串口發(fā)送給上位機。2.2 具體控制要求根據設計的要求,要利用溫度傳感器實時溫度。當溫度高于設定的溫度時,關閉電源或打開降溫裝置進行調整使溫度在設定的范圍內;當溫度低于設定的溫度時,打開電源或升溫裝置進行調整使溫度在設定的范圍內。同時要求能設定溫度限制。該設計的主要任務是能對溫度進行自動的監(jiān)控,并通過串口把溫度值傳給上位機。硬件電路有溫度采集電路,鍵盤及顯示電路,溫控及報警電路等幾個部分。2.3 溫度傳感器的選擇溫度傳感器有:傳統熱敏溫度傳感器和IC溫度傳感器。價格:毫無疑問,單個的熱敏溫度傳感器比IC溫度傳感器有很大的價格優(yōu)勢。但如果要以數字方式來讀取熱敏溫度傳感器的溫度值,就要安裝有模數轉換模塊。增加硬件開支,降低系統穩(wěn)定性。另外,隨著工藝水平不斷提高,IC溫度傳感器的價格也不斷下降,其價格也逐漸可以和熱敏溫度傳感器相媲美。例如,美國國家半導體公司的LM19, 其價格與熱敏溫度傳感器相相當。封裝:IC溫度傳感器的封裝多種多樣,且占用空間小。精度:IC溫度傳感器的精度高(熱敏溫度傳感器如加裝精確的外加電路也是可以的)。另外,熱敏溫度傳感器往往需要使用者逐個校調,而IC溫度傳感器在出廠時已完成這一步?;谝陨蠋c,本次畢業(yè)設計選擇IC溫度傳感器。在IC溫度傳感器中選擇平時接觸較多的DS18B20。2.4 DSl8B20簡介DSl8B20,它是DALLAS公司生產的一線式數字溫度傳感器,測溫范圍為一55+125,測溫分辨率可達0062 5,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等特點,特別適合于構成多點溫度測控系統。DS18B20有如下特點: 單線結構,只需一根信號線和CPU相連。 不需要外部元件,直接輸出串行數據。 可不需要外部電源,直接通過信號線供電,電源電壓范圍為3.3V5V。 高測溫范圍:-55+125,在-10+85范圍內,精度為O.5。 測溫分辨率高,當選用12位轉換位數時,溫度分辨率可達00625。 數字量的轉換精度及轉換時間可通過簡單的編程來控制:9位精度的轉換時間為9375 ms:10位精度的轉換時間187.5ms:12位精度的轉換時間750ms。 具有非易失性上、下限報警設定的功能,用戶可方便地通過編程修改上、下限的數值。 可通過報警搜索命令識別哪片DS18820采集的溫度超越上、下限。第三章 系統的硬件電路3.1 最小系統圖3-1 單片機最小系統3.2 溫度傳感電路DS18B20的性能特點:采用單總線專用技術,既可通過串行口線,也可通過其它I/O口線與微機接口,無須經過其它變換電路,直接輸出被測溫度值(9位二進制數,含符號位)測溫范圍為-55-+125,測量分辨率為0.0625內含64位經過激光修正的只讀存儲器ROM適配各種單片機或系統機用戶可分別設定各路溫度的上、下限內含寄生電源。DS18B20內部結構主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖所示:圖3-2 DS18B20引腳圖引腳說明:VDD:可選電源DQ:數據GND:地圖3-3 溫度傳感電路3.3 鍵盤、顯示、報警電路圖3-4 鍵盤電路圖3-5顯示電路(數碼管為共陽極數碼管)圖3-6 蜂鳴器報警電路圖3-7 繼電器部分3.4 串口通信電路圖3-8 串口通信3.5 實物圖圖3-9 圖片左下方的萬能板上的元件為DS18B20圖3-10 串口線連接上位機用于通信,USB線接上位機USB口作為電源線使用圖3-11此圖為電路通電時的狀態(tài),圖中顯示的溫度為22.5000攝氏度圖3-12 萬能板上的DS18B20及連接線圖3-13 萬能板上的DS18B20圖3-14 萬能板上的DS18B20圖3-15 單片機實驗板全貌圖3-16 VB程序的編劇環(huán)境圖3-17 上位機程序的實現效果第四章 系統的軟件設計開機設置高低溫限設置成功返回測溫串口發(fā)送高溫則斷電低溫則加電串口數據發(fā)送及上位機數據處理溫度是否正常否是圖4-1 程序框圖程序分為兩個部分:下位機程序和上位機程序。下位機程序既單片機程序,包括:主程序部分,DS18B20復位、寫、讀程序,顯示程序,鍵盤掃描程序,高低溫限設定程序,延時程序,精確延時程序,編碼轉換程序,報警程序,串口發(fā)送程序,中斷程序。上位機程序使用Microsoft Visual Basic 6.0編寫,使用MSComm控件控制,因程序簡單,下面再做詳細介紹。4.1下位機程序設計開機外部中斷、定時器、串口初始化發(fā)送溫度轉換命令取出溫度值并存儲顯示串口發(fā)送溫度值斷電/加電,報警串口發(fā)送將第j個溫度與高低溫限對j5取出高低溫限j5發(fā)送第j個序列號發(fā)送第j個序列號YNYN不正常YN顯示20秒后無條件轉移圖4-2 主程序框圖復位發(fā)送對應的序列號讀出高低溫限并存儲發(fā)送對應的序列號退出中斷進入中斷選擇一個DS18B20將高低溫限寫入對應的DS18B20設置高溫限制設置低溫限制圖4-3 設置高低溫限程序框圖主程序請參見附錄II,子程序請參見附錄。4.2上位機程序設計上位機程序較之下位機簡單,用MSComm 控件進行控制。因本文著重單片機的程序設計,故此處僅簡單介紹,具體程序請參見附錄4。MSComm控件提供下列兩種處理通訊的方式:事件驅動方式和查詢方式。 事件驅動方式:事件驅動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 線上一個字符到達或一個變化發(fā)生時。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲并處理這些通訊事件。OnComm 事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 CommEvent 屬性。在編程過程中,就可以在OnComm事件處理函數中加入自己的處理代碼。這種方法的優(yōu)點是程序響應及時,可靠性高。每個MSComm 控件對應著一個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個 MSComm 控件。查詢方式:查詢方式實質上還是事件驅動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關鍵功能之后,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫一個簡單的電話撥號程序,則沒有必要對每接收一個字符都產生事件,因為唯一等待接收的字符是調制解調器的“確定”響應。圖4-4 VB程序環(huán)境圖4-5 上位機程序的實現效果第五章 全文總結5.1 經濟效益分析本系統的設計,是為了保證某特定環(huán)境溫度維持在設定的范圍內,以保證工作系統在穩(wěn)定的狀態(tài)下工作。本系統的設計成本很低,零件成本不超過26塊(AT89S52一片7塊5 +萬能板一塊2元+DS18B20一個7塊+8個共陽極數碼管4塊+電阻、按鈕等元件5塊25.5元)如果用2051代替AT89S52和話,只要20.5元。如果采用大批量生產的話,生產成本會更低。在市場上的溫度自動控制系統的價格在百元人民幣以上,故本系統具有高性價比。只要配上適當的繼電器,這個系統便還可以實現很多領域的溫度自動控制。這對于提高系統的利用率,避免重復設計有很大的幫助的。在本系統的作用下,可以為工作系統提供一個良好的環(huán)境,使產品的數量和質量有很大的提高。使得產品的生產成本降低,從而使系統的使用者獲得的利潤提高了。分析表明:本系統是一個性價比比較好的系統,不論對于生產者還是使用者來說,它都可以帶來好的經濟效益。5.2 社會效益分析本設計是以AT89S52為核心,是軟硬件相結合的自動控制的典型例子。在單片機自動控制已經廣泛的應用于人們的生產和生活的今天,傳統用模擬電路來控制溫度的做法,已經逐漸被淘汰。這個系統的實現,改變了傳統的溫度控制方法,為溫度的控制開辟了一條新的道路。根據我國的科技和工業(yè)水平,這個系統的設計是符合工業(yè)生產的需要。實現我國的工業(yè)化,自動控制是其中的一個重要目標,自動控制系統正廣泛的應用于工業(yè)生產和人們的日常生活。本系統的設計成功知識實現自動控制的“冰山一角”,但它為以后更加智能化、人性化的自動控制系統的設計,作了鋪墊。因此這種系統的設計具有比較好的社會效益。經過兩個月的方案論證、系統的硬件和軟件的設計、系統的調試。查閱了大量的關于傳感器、單片機及其接口電路、以及控制方面的理論。經過了一番特殊的體驗后,經歷了失敗的痛苦,也嘗到了成功的喜悅。第一次靠用所學的專業(yè)知識來解決問題。檢查了自己的知識水平,使我對自己有一個全新的認識。通過這次畢業(yè)設計,不僅鍛煉自己分析問題、處理問題的能力,還提高了自己的動手能力。這些培養(yǎng)和鍛煉對于我們這些即將走向工作崗位的大學生來說,是很重要的。這次畢業(yè)設計基本的完成了任務書的要求,實現了溫度的控制。通過測試表明系統的設計是正確的,可行的。但是由于設計者的設計經驗和知識水平有限,系統還存在許多不足和缺陷。致謝本次畢業(yè)設計,得到了很多老師和同學的支持,為我創(chuàng)造了很多有利條件,在這里,我要特別感謝我的導師馬梅老師,馬梅老師給了我很多幫助,指導我了解了很多單片機的相關知識,并在當我設計遇到困難時,給予幫助和鼓勵,給了我莫大的信心,為我順利完成畢業(yè)設計起到了非常重要的作用。同時還要感謝幫助我的同學,在我遇到困難時給予我耐心的幫助。再次對在本次畢業(yè)設計中給予過我?guī)椭睦蠋熀屯瑢W至上我最真摯的謝意。參考文獻1 DALLAS公司的DS18B20芯片資料.2009年2 段向東、毋茂盛、毋玉芝.Keil C51 程序設計中幾種精確延時方法.單片機與嵌入式系統應用.2007 年,第12 期:33頁-35頁3 王學梅、金廣鋒.數字溫度傳感器DSl820在糧倉溫度智能控制系統中的應用.科技廣場.2009年,第5期:217頁-218頁4 陳生翰、劉其洪、丁柱.單總線數字溫度傳感器DSl820自動識別的設計與實現.儀表技術與傳感器.2009年,第5期:16頁-18頁5 雷建龍.數字溫度傳感器DSl820讀出數據錯誤分析.電子器件.2007年,第30卷(第6期):2183頁-2185頁附錄I 元器件清單51單片機實驗板一塊萬能板一塊DS18B20 四個串口線一條USB下載線一條導線若干附錄II 主程序#includereg52.hsbit DQ=P12;sbit NPN=P34;/高溫限制sbit PNP=P35;/低溫限制sbit BUZZ=P36;/蜂鳴器報警void delay8zus(unsigned char);void delay(unsigned char z);void display(unsigned char *);void deal(unsigned char,unsigned char,bit);void restart();void timer0_init(void);void RS232_init(void);void send(unsigned char);void write_DS18B20(unsigned char z);void send(unsigned char z);void temperature_send(unsigned char,unsigned char,bit);unsigned char read_DS18B20(void);bit select_a_ds18b20();bit ii,zf;unsigned int count;unsigned char date8,ca12=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0xbf,0xff;/09,負號,全高電位。unsigned char ROMdate58=0x28,0xb5,0x1d,0x31,0x02,0x00,0x00,0xea,0x28,0xA8,0x48,0xC3,0x02,0x00,0x00,0xCA, 0X28,0XB5,0X73,0XC3,0X02,0X00,0X00,0X2F,0X28,0X84,0X8C,0XC3,0X02,0X00,0X00,0X3C, 0X28,0X82,0X42,0XC3,0X02,0X00,0X00,0X0E;typedef structunsigned char H;unsigned char L;char alarm_flog;/警報標志位,超過正常溫度,則致1,低于正常溫度,則致-1,溫度正常,則致0temperature;temperature T5;/使用結構體來保存溫度數據void main()unsigned char i,j,temp,Tmax,Tmin;IT1=1;/外部中斷1下降沿有效EX1=1;/開外部中斷0timer0_init();RS232_init();loop1:restart();write_DS18B20(0xcc);write_DS18B20(0x44);delay(200);TR0=0;/先停止timer0,以免對測溫產生干擾for(j=0;j5;j+)restart();write_DS18B20(0x55);for(i=0;i16)zf=0;Tj.H=!Tj.H;Tj.L=!Tj.L+1;temp=Tj.L&0xf0;temp=4;Tj.H=Tj.HTmax) Tj.alarm_flog=1;NPN=1;BUZZ=0;if(Tj.LTmax) Tj.alarm_flog=-1;PNP=1;BUZZ=0;if(Tj.HTmax) Tj.alarm_flog=0;PNP=0;BUZZ=1;temperature_send(Tj.H,Tj.L,zf);deal(Tj.H,Tj.L,zf);TR0=1;for(j=0;j2300)/300大約是2秒,2300大約是20秒count=0;ii=0;附錄 子程序DS18B20復位.c#includereg52.hvoid delay8zus(unsigned char);sbit DQ=P12;void restart()DQ=1;delay8zus(50);DQ=0;delay8zus(800/8);DQ=1;delay8zus(950/8);DS18B20寫.c#includereg52.h#includeINTRINS.Hsbit DQ=P12;void delay8zus(unsigned char);void write_DS18B20(unsigned char z)unsigned char i;for(i=8;i0;i-)DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=z&0x01;delay8zus(40/8);DQ=1;z=1;DS18B20讀.c#includereg52.h#includeINTRINS.Hsbit DQ=P12;void delay8zus(unsigned char);unsigned char readdate=0;unsigned char read_DS18B20(void)unsigned char i;readdate=0;for(i=0;i=1;DQ=1;if(DQ) readdate|=0x80;delay8zus(110/8);return readdate;精確8us級延時.c/延時時間為8*z+2+1個us,2為函數調用時間,1為函數返回時間void delay8zus(unsigned char z)for(;z1;z-);延時.c/*z的單位為毫秒,適用于11.0592M的晶振,單片機的機器周期為12個晶振周期*/void delay(unsigned char z)unsigned char a,b;for(a=z+1;a1;a-)for(b=125;b1;b-);8位共陽極數碼管顯示.c#includereg52.h /指針*p為指向一個擁有8個數組元素的數組。unsigned char p38=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/該數組為段選數組。void delay(unsigned char);void display(unsigned char *p)unsigned char j;for(j=0;j8;P2=p3j,P0=pj,delay(2),j+);設置高低溫限制.cextern unsigned char ca12;extern unsigned char ROMdate58;#includereg52.hsbit up=P13;/加鍵sbit down=P11;/減鍵sbit sure=P14;/確定鍵sbit cancel=P10;/取消鍵void restart();void write_DS18B20(unsigned char z);unsigned char read_DS18B20(void);void delay(unsigned char);void set(unsigned char *);bit select_a_ds18b20()/返回值為1則表示修改成功,0表示失敗bit i=1;unsigned char num=1;while(i)if(down=0) delay(5);if(down=0) while(!down);num-;if(num=0) num=5;if(up=0) delay(5);if(up=0) while(!up);num+;if(num=6) num=1;if(sure=0) delay(5);if(sure=0) while(!sure);i=0;if(cancel=0) delay(5);if(cancel=0) while(!cancel);goto loop;/取消,則無條件轉移到最后P2=0Xfe;P0=canum;delay(1);set(ROMdatenum-1);loop:if(i)return 0;elsereturn 1;void set(unsigned char *p)/傳送要修改的ds18b20的序列號的入口地址char i=1,TH,TL,th,tl;restart();/先讀出高低溫限write_DS18B20(0x55);for(i=0;i99)P2=0X0fb;P0=ca1;delay(1);if(TH99)P2=0Xfb;P0=ca1;delay(1);if(TL0)P2=0Xfb;P0=0xbf;delay(1);restart();write_DS18B20(0x55);for(i=0;i8;write_DS18B20(pi),i+);write_DS18B20(0x4e);write_DS18B20(TH);write_DS18B20(TL);restart();write_DS18B20(0xcc);write_DS18B20(0x48);delay(200);delay(200);定時器初始化.c#includereg52.hvoid timer0_init(void)TMOD=TMOD|0X01;/這樣做可不影響定時器1的值TH0=0;TL0=0;EA=1;TR0=1;ET0=1;溫度轉換成顯示編碼.c/預處理,將要顯示的十進制數預先轉換成8位數碼管可以顯示的編碼。#includereg52.hextern unsigned char date8;/staticextern unsigned char ca12;void deal(unsigned char TH,unsigned char TL,bit zhengfu)unsigned char i;for(i=0;i8;datei=0xff,i+);if(zhengfu=0)/加負號if(TH=10) date6=0XBF;date4=caTH%10;if(TH10) date5=caTH/10%10;if(TH100) date6=caTH/100%10;date0=ca(TL*625)%10;date1=ca(TL*625)/10%10;date2=ca(TL*625)/100%10;date3=ca(TL*625)/1000%10;date4=date4&0x7f;/date4=(date4)+0x80);/加小數點串口初始化.c#includereg52.hvoid RS232_init(void)TMOD=0X20;TH1=0XFD;TL1=0XFD;TR1=1;SM1=1;SM0=0;REN=1;EA=1;ES=1;串口發(fā)送.c#includereg52.hvoid send(unsigned char z)ES=0;SBUF=z;while(!TI);TI=0;ES=1;串口溫度數據發(fā)送.cvoid send(unsigned char);void temperature_send(unsigned char TH,unsigned char TL,bit zhengfu)if(zhengfu=0) send(-);send(TH/10%10+48);send(TH%10+48);send(.);send(TL*625)/1000%10+48);send(TL*625)/100%10+48);send(TL*625)/10%10+48);send(TL*625)%10+48);send( );/換行附錄 上位機程序編程界面Private Sub Form_Load()MSComm1.Settings = 9600,N,8,1 波特率9600bit/s,無校驗,8位數據,1位停止位MSComm1.CommPort = 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人長期租車合同(五篇)
- 2025年人事總監(jiān)個人年終總結例文(三篇)
- 2025年中隊副隊長年終工作總結樣本(二篇)
- 2025年中學??倓展ぷ髂甓瓤偨Y(2篇)
- 2025年五年級英語教學心得體會樣本(3篇)
- 2025年個人政治思想小結參考(3篇)
- 2025年產品購買合同參考模板(三篇)
- 2025年仲裁辦上半年工作總結及下半年工作安排模版(二篇)
- 2025年倉儲管理年終工作總結樣本(2篇)
- 2025年五提活動的心得體會范例(3篇)
- 知名企業(yè)建筑工程抹灰工程標準規(guī)范圖示手冊
- 重大事故隱患排查治理
- 2025保安部年度工作計劃
- 寵物貓護理教學
- 2024年江蘇經貿職業(yè)技術學院單招職業(yè)適應性測試題庫
- 圖書借閱登記表
- 中華人民共和國能源法
- 人居環(huán)境綜合治理項目項目背景及必要性分析
- 招標采購基礎知識培訓
- 2024年法律職業(yè)資格考試(試卷二)客觀題試題及解答參考
評論
0/150
提交評論