基于51單片機的溫度自動控制系統設計研究畢業論文_第1頁
基于51單片機的溫度自動控制系統設計研究畢業論文_第2頁
基于51單片機的溫度自動控制系統設計研究畢業論文_第3頁
基于51單片機的溫度自動控制系統設計研究畢業論文_第4頁
基于51單片機的溫度自動控制系統設計研究畢業論文_第5頁
已閱讀5頁,還剩30頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PAGE31 / NUMPAGES35 本 科 畢 業 設 計(論文)題目 基于51單片機的溫度自動控制 系統設計研究院(系部) 電氣與自動化工程系 專業名稱 通信工程 摘 要基于單片機的溫度控制器,采用DS18B20溫度傳感器采集所要測量的當前環境的溫度,通過單片機進行處理并加以顯示。單片機采用的是AT89S52系列單片機。溫度傳感器DS18B20具有12位精度,可較為精確的測量當前環境的溫度。該溫度控制器具有設定溫度上、下限的功能,通過控制繼電器控制外部降溫、加熱裝置,從而實現環境溫度處于設定溫度上、下限圍。該溫度控制器的顯示部分采用LED數碼管顯示,具有顯示當先溫度、溫度上、下限值的功

2、能。按鍵部分采用四個按鍵,每個按鍵的功能不同,通過按鍵的配合使用,可以實現切換LED數碼管顯示,調節溫度上下限的功能。該系統結構簡單,精度高、量程寬、靈敏度高、體積小、功耗低,抗干擾能力強,適合于惡劣環境下進行現場溫度測量,有廣泛的應用前景。關鍵詞:單片機 AT89S52 DS18B20 數碼管 繼電器AbstractTemperature controller based on MCU, using the current environment to measure the temperature of sensor DS18B20, processing and display by M

3、CU. The microcontroller is series of MCU AT89S52. The temperature of sensor DS18B20, with 12 accuracy, can accurately measure the current environment temperature.The temperature controller can set temperature, and have the lower limit function,control the relay to control the external cooling, heate

4、 device.So as to realize the environmental temperature at the setting temperature, and lower bounds.The temperature controller with the display parts, adopts LED digital tube display.Displaying the current temperature, lower value. The part of the four keys, with defferent function , can realize the

5、 switch LED digital tube display, adjust the temperature upper limition .This system is simple, high precision, wide range, high sensitivity, small size, low power consumption, strong anti-jamming capability, suitable for harsh environments on-site temperature measurement, has a broad application pr

6、ospection.Key words:MCU AT89S52 DS18B20 digitron relay目錄TOC o 1-3 h u HYPERLINK l _Toc355641489前言 PAGEREF _Toc355641489 h 1HYPERLINK l _Toc3556414901 系統方案設計 PAGEREF _Toc355641490 h 2HYPERLINK l _Toc3556414911.1 方案論證 PAGEREF _Toc355641491 h 2HYPERLINK l _Toc3556414921.1.1 方案一 PAGEREF _Toc355641492 h

7、2HYPERLINK l _Toc3556414931.1.2 方案二 PAGEREF _Toc355641493 h 2HYPERLINK l _Toc3556414941.2 系統設計框圖 PAGEREF _Toc355641494 h 3HYPERLINK l _Toc3556414952 系統硬件設計 PAGEREF _Toc355641495 h 4HYPERLINK l _Toc3556414962.1 單片機選擇 PAGEREF _Toc355641496 h 4HYPERLINK l _Toc3556414972.1.1 AT89S52 特點 PAGEREF _Toc35564

8、1497 h 4HYPERLINK l _Toc3556414982.1.2 AT89S52 功能描述 PAGEREF _Toc355641498 h 5HYPERLINK l _Toc3556414992.1.3 AT89S52 引腳功能 PAGEREF _Toc355641499 h 5HYPERLINK l _Toc3556415002.2 溫度傳感器的選擇 PAGEREF _Toc355641500 h 6HYPERLINK l _Toc3556415012.2.1 DS18B20簡單介紹 PAGEREF _Toc355641501 h 6HYPERLINK l _Toc3556415

9、022.2.2 DS18B20性能特點 PAGEREF _Toc355641502 h 7HYPERLINK l _Toc3556415032.2.3 DS18B20部結構 PAGEREF _Toc355641503 h 7HYPERLINK l _Toc3556415042.2.4 DS18B20測溫原理 PAGEREF _Toc355641504 h 8HYPERLINK l _Toc3556415052.2.5 DS18B20工作時序 PAGEREF _Toc355641505 h 10HYPERLINK l _Toc3556415062.3 硬件電路設計 PAGEREF _Toc355

10、641506 h 11HYPERLINK l _Toc3556415072.3.1 測溫電路 PAGEREF _Toc355641507 h 11HYPERLINK l _Toc3556415082.3.2 顯示電路 PAGEREF _Toc355641508 h 13HYPERLINK l _Toc3556415092.3.3 報警電路 PAGEREF _Toc355641509 h 15HYPERLINK l _Toc3556415102.3.4 降溫、加熱電路 PAGEREF _Toc355641510 h 15HYPERLINK l _Toc3556415112.3.5 其他電路 PA

11、GEREF _Toc355641511 h 16HYPERLINK l _Toc3556415123 系統軟件設計 PAGEREF _Toc355641512 h 18HYPERLINK l _Toc3556415133.1軟件設計 PAGEREF _Toc355641513 h 18HYPERLINK l _Toc3556415154 系統調試 PAGEREF _Toc355641515 h 20HYPERLINK l _Toc3556415164.1 軟件調試 PAGEREF _Toc355641516 h 20HYPERLINK l _Toc3556415174.2 元器件調試 PAGE

12、REF _Toc355641517 h 20HYPERLINK l _Toc3556415185 總結 PAGEREF _Toc355641518 h 22HYPERLINK l _Toc355641519致 PAGEREF _Toc355641519 h 23HYPERLINK l _Toc355641520參考文獻 PAGEREF _Toc355641520 h 24HYPERLINK l _Toc355641521附錄一 PAGEREF _Toc355641521 h 25HYPERLINK l _Toc355641522附錄二 PAGEREF _Toc355641522 h 34前 言

13、溫度是工業生產中常見的工藝參數之一,任何物理變化和化學反應過程都與溫度密切相關,因此溫度控制是生產自動化的重要任務。例如:在農業溫室大棚生產、冶金工業、化工生產、電力工程、造紙行業、機械制作、和食品加工等諸多領域中,人們都需要對各類環境、加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制,不僅具有控制方便、組態簡單和靈活性大等優點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業中經常遇到的問題?;趩纹瑱C的溫度控制系統可以實現溫度的顯示、預警等功能,對于工業生產效率的提高,可以起到很大的作用。科學技術是

14、第一生產力,對溫度實現比較系統化的檢測控制使人們的生產節奏有一個良好的循環。從而將節約更多的人力物力,降低生產過程中可以省略的一些繁瑣的細節。一個簡單有效地控制系統可以在一定程度上使工廠的生產效益上一個臺階,只要運用得當,就有可能做到。本設計是基于當前社會發展的良好形勢,經過慎重考慮后決定的,也是對自己所學知識的一次檢驗,期望能夠獲得溫故而知新的效果。只有不斷地學習才能不斷的進步。結合社會的實際情況,然后根據自己的特點,更好的去了解自己,充分挖掘自己的潛力。學以致用是老師要求我們的努力方向,現今社會要求我們對知識的應用越來越熟練,只有靠自己鍥而不舍的奮發圖強,才能爭取自己的一片天地。1 系統方

15、案設計1.1方案論證由于本方案是基于溫度傳感器的溫度自動控制。可以采用兩種方案:一種是使用熱敏電阻之類的元件;另一種是使用數字溫度傳感器1.1.1 方案一選用熱敏電阻電路,測溫部分選用熱敏電阻,將隨被測溫度變化的電壓或電流采樣,進行A/D轉換后就可以用單片機進行數據處理,實現溫度顯示。這種設計需要用到A/D轉換電路,增大了電路的復雜性,而且要做到高精度也比較困難。1.1.2 方案二考慮到單片機屬于數字系統,容易想到數字溫度傳感器,可選用DS18B20數字溫度傳感器,此傳感器為單總線數字溫度傳感器,體積小、構成的系統結構簡單,它可直接將溫度轉化成數字信號給單片機處理。另外DS18B20具有3引腳

16、的小體積封裝,測溫圍為-55+125攝氏度,測溫分辨率可達0.0625攝氏度,其測量圍與精度都能符合設計要求。以上兩種方案相比較,第二種方案的電路、軟件設計更簡單,此方案設計的系統在功耗、測量精度、圍等方面都能很好地達到要求,故本設計采用方案二。1.2 系統設計框圖本方案設計的系統由單片機系統、數字溫度傳感器、數碼管顯示模塊、按鍵控制模塊、溫度報警模塊、溫度控制模塊組成,其總體架構如圖1-1所示顯示電路驅動電路單片機測溫電路報警電路電路時鐘電路加熱電路電路按鍵輸入電路降溫電路復位電路圖1-1 系統框圖2 系統硬件設計2.1 單片機選擇AT89S52作為溫度測試系統的核心器件。該器件是INTEL

17、公司生產的MCS-51系列單片機中的基礎產品,采用可靠的CMOS工藝制造技術,具有高性能的8位單片機,屬于標準的MCS-51產品。單片機AT89S52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統的設計需要,單片機如圖2-1所示。2.1.1 AT89S52 特點與MCS-51 兼容;4K字節可編程閃爍存儲器;壽命:1000寫/擦循環;數據保留時間:10年;全靜態工作:0MHz-33MHz;三級程序存儲器鎖定;128*8位部RAM;32位可編程I/O線;兩個16位定時器/計數器;5個中斷源;可編程串行通道;低功耗的閑置和掉電模式;片振蕩器和時鐘電路。圖2-1 AT89S52單

18、片機2.1.2 AT89S52 功能描述AT89S52是一種低損耗、高性能、CMOS八位微處理器,片有4k字節的在線可重復編程、快速擦除、快速寫入程序的存儲器,能承復寫入/擦除1000次,數據保存時間為十年。它與MCS-51系列單片機在指令系統和引腳上完全兼容,不僅可完全代替MCS-51系列單片機,而且能使系統具有許多MCS-51系列產品沒有的功能 郭天祥.51單片機C語言教程-入門、提高、開發、拓展全攻略M.:電子工業,2009.。AT89S52可構成真正的單片機最小應用系統,縮小系統休積,增加系統的可靠性,降低系統的成本。只要程序長度小于4K,四個I/O全部提供給用戶??捎?V電壓編程,而

19、且擦寫時間僅擊10毫秒,僅為8751/87C51的擦除時間的百分之一,與8751/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的需求,可以直接在5V電壓下進行編程,不需要12V電源。改寫時不拔下芯片,適合許多嵌入式控制領域。工作電壓圍寬,全靜態工作,工作頻率寬在0MHz-33MHz之間,比8751/87C51等51系列的6MHz-12MHz更具有靈活性。 AT89S52芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密于段,能完全保證程序或系統不被仿制。2.1.3 AT89S52 引腳功能AT89S52 單片機 P3 口第二功能如圖2-2所示 蔡美琴、毛敏等.MCS-51系

20、列單片機系統與其應用M.:高等教育,2009.。圖2-2 P3口的第二功能2.2 溫度傳感器的選擇由于傳統的熱敏電阻等測溫元件測出的一般都是電壓,再轉換成對應的溫度,需要比較多的外部元件支持,且硬件電路復雜,制作成本相對較高。這里采用DALLAS公司的數字溫度傳感器DS18B20作為測溫元件。2.2.1DS18B20簡單介紹DALLAS 最新單線數字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場合、且適用電壓更寬、更經濟。DALLAS 半導體公司的數字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量圍為-55+125 攝氏度,可編

21、程為9位12 位轉換精度,測溫分辨率可達0.0625攝氏度,分辨率設定參數以與用戶設定的報警溫度存儲在EEPROM 中,掉電后依然保存。被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可以在遠端引入,也可以采用寄生電源方式產生;多個DS18B20可以并聯到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。2.2.2 DS18B20性能特點(1)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微

22、處理器與DS18B20的雙向通訊。(2)DS18B20支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫(3)DS18B20在使用中不需要任何外圍元件,全部傳感元件與轉換電路集成在形如一只三極管的集成電路(4)適應電壓圍更寬,電壓圍:3.05.5V,在寄生電源方式下可由數據線供電(5)測溫圍55125,在-10+85時精度為0.5(6)可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現高精度測溫(7)在9位分辨率時最多在93.75ms把溫度轉換為數字,12位分辨率時最多在750ms把溫度值轉換為數字,速度更快(8)測量結

23、果直接輸出數字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力2.2.3DS18B20部結構DS18B20部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。圖2-3為DS18B20的部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數據的高速暫存器(含便箋式RAM),用于存儲用戶設定的溫度上下限值的TH和TL觸發器存儲與控制邏輯、8位循環冗余校驗碼(CRC)發生器等七部分,如圖2-3所示。64位ROM和單線接口存儲器與控制邏輯高速緩存溫度控制器溫度控制器溫度控制器溫度控制器溫度控制器

24、圖2-3 DS18B20部結構框圖2.2.4 DS18B20測溫原理DS18B20的測溫原理如圖2-4所示,圖中低溫度系數晶振的振蕩頻率受溫度的影響很小用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數,進而完成溫度測量.計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55 所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器1和溫度寄存器被預置在-55 所對應的一個基數值。減法計數器1對低溫度系數晶振產生

25、的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用,于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。如圖2-4所示。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統對DS18B20的各種操作必須按協議進行。操作

26、協議為:初始化DS18B20(發復位脈沖)發ROM功能命令發存儲器操作命令處理數據。斜率累加器比較預置溫度寄存器計數器=0預置低溫度系數振蕩器計數器2=0高溫度系數振蕩器Tx停止12加1圖2-4 DS18B20測溫原理圖2.2.5 DS18B20工作時序圖2-5為時序圖中各總線狀態。總線控制器低電平DS18B20低電平電阻上拉總線控制器和DS18B20同為低電平圖2-5工作時序圖()初始化(時序圖見圖2-6)。圖2-6 初始化時序圖 先將數據線置高電平1。 延時(改時間要求不是很嚴格,但是要盡可能短一點)。 數據線拉到低電平0. 延時750us(改時間圍可以在480-960us)。 數據線拉到

27、高電平1。 延時等待。如果初始化成功則在15-60ms 產生一個有DS18B20 返回的低電平0,據該狀態可以確定它的存在。但是應注意不能無限的等待,不然會使程序進入死循環,所以要進行超時判斷。 若CPU 讀到數據線上的低電平0 后,還要進行延時,其延時的時間從發出高電平算起(第5 步的時間算起)最少要480us。 將數據線再次拉到高電平1 后結束。()DS18B20 寫數據 數據線先置低電平0。 延時確定的時間為15us。 按從低位到高位的順序發送數據(一次只發送一位)。 延時時間為45us。 將數據線拉到高電平1。 重復-步驟,直到發送完整個字節。 最后將數據線拉到高電平1。()DS18B

28、20 讀數據 將數據線拉到高電平1。 延時2us。 將數據線拉低到0。 延時6us。 將數據線拉高到1。 延時4us。 讀數據線的狀態得到一個狀態位,并進行數據處理。 延時30us。 重復-步驟,直到讀完一個字節。2.3 硬件電路設計2.3.1 測溫電路本設計采用DS18B20溫度傳感器作為溫度采集電路核心部件。DS18B20是美國DALLAS 半導體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優點,可直接將溫度轉化成串行數字信號供處理器處理。目前常用的單片機與外設之間進行數據傳輸的串行總線主要有IC 總線以同步串行二線方式進行通

29、信(一條時鐘線,一條數據線),SPI總線則以同步串行三線方式進行通信(一條時鐘線,一條數據輸入線,一條數據輸出線),而SCI 總線是以異步方式進行通信的(一條數據輸入線,一條數據輸出線)。這些總線至少需要兩條或兩條以上的信號線,而DS18B20使用的單總線技術與上述總線不同,它采用單條信號線,既可傳輸時鐘,又可傳輸數據,而且數據傳輸是雙向的,因而單總線技術具有線路簡單,硬件開銷少,成本低廉,便于總線擴展和維護等優點。單總線適用于單主機系統,能夠控制一個或多個從機設備。主機可以是微控制器,從機可以是單總線器件,他們之間的數據交換只通過一條信號線。當只有一個從機設備時,系統可按單節點系統操作;當有

30、從機設備時,系統則按多節點系統操作。設備(主機或從機)通過一個漏極開路或三態端口連至該數據線,以允許設備在不發送數據時能夠釋放出總線,而讓其他設備使用總線。單總線要求外接4.7k的上拉電阻。本設計系統的溫度采集電路圖如圖2-7所示 閆勝利.Altium Designer實用寶典-原理圖與PCB設計M. ,電子工業,2007.。圖2-7 測溫電路由圖可以看出,DS18B20 和單片機的連接非常簡單,單片機只需要一個I/O 口就可以控制DS18B20。這個圖的接法是單片機與一個DS18B20 通信,如果要控制多個DS18B20 進行溫度采集,只要將所有的DS18B20 的I/O 口全部連在一起就可

31、以了。在具體操作時,通過讀取每個DS18B20 部芯片的序列號來識別。本系統僅操作一個DS18B20 進行溫度采集。2.3.2 顯示電路單片機應用系統中,通常都需要進行人機對話,這包括人對應用系統的狀態干預與數據輸入,以與應用系統向人們顯示運行狀態與運行結果等。LED 顯示電路由段驅動電路和位驅動電路組成。由于單片機的并行口不能驅動LED 顯示器,必須采用專門的驅動電路芯片,使之產生足夠大的電流,顯示器才能正常工作。如果驅動電路能力差,即負載能力不夠,顯示器亮度就低,而且驅動電路長期在超負荷下運行容易損壞。LED 顯示器的顯示控制方式分為靜態顯示和動態顯示兩種,若選擇靜態顯示,則LED 驅動器

32、的選擇較為簡單,只要驅動器的驅動能力與顯示器的電流相匹配即可;動態顯示則不同,由于一位數據的顯示是由段和位選信號共同配合完成的,因此,要同時考慮段和位的驅動能力,而且段的驅動能力決定位的驅動能力 朱清惠等.Prnteus教程:電子線路設計制版與仿真M.:清華大學,2008.。數碼管位選代碼如圖2-8所示。管腳數顯示dpgfedcba十六進制數0110000000C0H1111110010F9H2101001000A4H3101100000B0H41001001099H51001001092H61000001082H7111110000F8H81000000080H91001000090H圖2-

33、8 數碼管位選代碼2.3.3 報警電路當溫度超過設定溫度時,實現聲光報警,蜂鳴器鳴叫、二極管閃爍。蜂鳴器由單片機P37口控制,用三極管驅動,電路如圖2-9所示 康華光.電子技術基礎一模擬部分M.:高等教育,2008.。圖2-9 報警電路2.3.4 降溫、加熱電路繼電器是一種電子控制器件,它具有控制系統(又稱輸入回路)和被控制系統(又稱輸出回路),通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關”。故在電路中起著自動調節、安全保護、轉換電路等作用。當溫度超過設定溫度后,單片機控制繼電器,繼電器通過三極管驅動,但三極管由導通變為截止時,繼電器繞組感生出一個較大的自感電

34、壓。它與電源電壓疊加后加到控制繼電器線圈的三極管上,使發射結有可能被擊穿。為了消除這個感應電動勢的有害影響,在繼電器線圈兩端反向并聯抑制二極管,以吸收該電動勢,保證三極管的安全。降溫、加熱電路如圖2-10所示。圖2-10 降溫、加熱電路2.3.5 其他電路按鍵輸入電路考慮到系統的要求,還需設計按鍵輸入電路,基于單片機的溫度控制系統工作時應具備以下功能:可以切換顯示實時溫度和溫度上限值??梢哉{節溫度上、下限。要實現這些功能,可以通過按鍵輸入電路。鍵盤結構可分為獨立式鍵盤和行列式鍵盤(矩陣式)兩類,由于本系統只采用4個按鍵,因此可選用獨立式按鍵,按鍵采用輕觸開關。這4個按鍵的功能分別是:調整溫度上

35、限、加1、減1,復位。如圖2-11所示。圖2-11 按鍵電路電源電路由于該系統需要穩定的5V 電源,因此設計時必須采用能滿足電壓,電流和穩定性要求的電源。本電源采用三端集成穩壓器LM7805。它僅有輸入端、輸出端與公共端三個引腳。其部設有過流保護,過熱保護與調整管安全保護電路。由于所需外接元件少,使用方便、可靠,因此可作為穩壓電源。圖2-12為電源電路連接圖 康華光.電子技術基礎一數字部分M.:高等教育,2009.。圖2-12 電源電路3 系統軟件設計3.1軟件設計整個系統的功能是由硬件電路配合軟件來實現的,當硬件基本定型后,軟件的功能也就基本定下來了。按照軟件的功能,把軟件分為兩大類:一是監

36、控軟件(主程序),它是整個控制系統的核心,專門用來協調各執行模塊和操作者的關系。二是執行軟件(子程序),它是用來完成各種實質性的功能如測量、計算、顯示、通訊等。每一個執行軟件也就是一個小的功能執行模塊。這里將各執行模塊一一列出,并為每一個執行模塊進行功能定義和接口定義。各執行模塊規劃好后,就可以規劃監控程序了。首先要根據系統的總體功能選擇一種最合適的監控程序結構,然后根據實時性的要求,合理地安排監控軟件和各執行模塊之間地調度關系。圖3-1為讀取數據流程圖,具體代碼參考附錄一 鈴術雅成.晶體管電路設計M.科學,2010.。開始延時1545us釋放總線延時45us讀一位數據延時1us以上清DQ準備

37、發送發溫度讀取命令DS18B20初始化N8位數據是否讀完Y結束讀取圖3-1 數據讀取流程圖 譚浩強.C程序設計M.:清華人學, 2008.4 系統調試4.1 軟件調試本次設計采用preteus仿真,測試采用模擬溫度測試,測試結果如下。當環境溫度大于38度時,蜂鳴器報警,并啟動繼電器,模擬降溫裝置啟動。當環境溫度小于5度時,蜂鳴器報警,并啟動繼電器,模擬加熱裝置啟動。在用proteus仿真過程中出現一些問題,包括以下幾個方面。數碼管顯示亂碼,出現這種情況主要是程序錯誤,我用的是四位共陰數碼管,而在編寫程序時,卻誤用成了共陽數碼管的代碼,經改正后顯示正常。降溫、加熱電路啟動錯誤,在沒有超過報警溫度

38、時,電路啟動,超過報警溫度后,卻又關閉,經排查是單片機引腳是高電平,而降溫加熱子程序中,設置的是高電平啟動。設置成低電平啟動時,電路工作正常。按鍵電路沒反應,在按下設置鍵以與調整鍵時,系統沒有反應。經排查后發現是按鍵沒接地。接地后按鍵電路工作正常。4.2 元器件調試在系統元件的焊接中出現過很多問題,在經過逐一排查后,系統最終運行起來,其中出現的包括以下幾個方面。開機后系統顯示亂碼,系統不起作用,經排查后發現晶振電路用錯了電容,換成22pF后系統工作,但仍顯示亂碼。查資料后發現,由于用的是片存儲器,但EA/Vpp沒有接高電平,接上高電平后數碼管顯示正常。系統工作不正常,溫度一直顯示85度,確定程

39、序沒有問題后,經排查后發現由于之前把傳感器接反,導致DS18B20燒壞,重新更換后問題解決,顯示正常。數碼管顯示太暗,系統運行后發現,數碼管顯示的太暗,看不太清楚,故在數碼管位選腳上加上拉電阻,經測試后,數碼管顯示正常。5 總 結此次課程設計中,難點在于DS18B20的使用,即對它的時序控制、初始化以與字節讀寫方法,任何一個環節出錯或是時序控制不到位的話就不能得到正確的數據。一旦學會了正確的使用方法,就能感覺到它帶來的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設計中,把程序按功能分模塊的話能提高編程效率,把問題一一解決,同時畫流程圖能幫助理清思路,使問題簡單化。定義變量時,盡

40、量定義局部變量,在字符型變量能達到要求的情況下就不用定義成整形變量了,以節省存空間。同時局部變量應避免與全局變量取同名,否則全局變量將被屏蔽或與局部變量相沖突而達不到設計的效果。另一方面,取變量名時也要講究技巧,應盡量使其見名知意,同樣地,寫程序時加注釋確是非常必要的,否則隔一段時間后,想再改進或做擴展的話就比較困難了,因為即使是自己寫的程序也變得難讀難懂了。在做鍵盤消抖時,延時的時間比較重要,一般為10ms左右,延時太短就會使按鍵太過靈敏,按一下就使數字跳變幾次;而延時過長則可能使按鍵按下了卻無響應,在外部定義初始化一個延時函數的入口參量則能很方便地調整延時時間,以達到比較好的效果。另外,如

41、果對按鍵進行釋放判斷的話就能解決長時間按鍵導致按鍵重復響應的問題??偟膩碚f,自己從這次獨立的畢業設計中收獲了一些知識與經驗,一些從書本中學之不來的東西,不是說理論無用,而這恰恰是在理論的土壤中開出的花朵,是在理論的肩膀望見的更寬廣的道路!成功來之不易,自主動手動腦實踐,小小的成果亦能帶來碩大的喜悅。致 首先,我要感理工大學萬方科技學院,感電氣系對我四年的培養,讓我學到了許許多多的知識,感各位老師在這四年里對我的關懷與照顧,在此致以我深深的意。本論文從選題到最后定稿成文,本校鴻圖老師一直給予了悉心指導,老師那種嚴謹的作風,廣博深邃的洞察力,孜孜不倦的開拓精神和敬業精神令我深受啟迪和教益,謹向我的

42、指導老師鴻圖老師致以深深的意。我國古代有句成語叫做“管中窺豹,略見一斑”,本文是基于單片機與溫度傳感器,組成溫度自動控制裝置。但是,由于我水平有限,在理論的描述、資料的運用等方面難免有不當、不深、不周之處,有些觀點也尚欠成熟,敬請各位老師批評指正。 最后,我還要向所有曾經幫助過我的同學和朋友們致敬。你們的鼓勵和幫助永遠是我前進的動力。參考文獻1 郭天祥.51單片機C語言教程-入門、提高、開發、拓展全攻略M.:電子工業,2009.2 蔡美琴、毛敏等.MCS-51系列單片機系統與其應用M.:高等教育,2009.3閆勝利.Altium Designer實用寶典-原理圖與PCB設計M. ,電子工業,2

43、007.4 朱清惠等.Prnteus教程:電子線路設計制版與仿真M.:清華大學,2008.5 康華光.電子技術基礎一模擬部分M.:高等教育,2008.6 康華光.電子技術基礎一數字部分M.:高等教育,2009.7 鈴術雅成.晶體管電路設計M.科學,2010.8 譚浩強.C程序設計M.:清華人學, 2008.附錄一源程序:/*程序名稱:DS18B20溫度測量、報警系統簡要說明:DS18B20溫度計,溫度測量圍099.9攝氏度 可設置上限報警溫度、下限報警溫度 即高于上限值或者低于下限值時蜂鳴器報警,并啟動降溫、加熱電路 默認上限報警溫度為38、默認下限報警溫度為5 報警值可設置圍:最低上限報警值

44、等于當前下限報警值 最高下限報警值等于當前上限報警值 將下限報警值調為0時為關閉下限報警功能 */#include #include DS18B20.h #define uint unsigned int#define uchar unsigned char /宏定義#define SET P3_1 /定義調整鍵#define DEC P3_2 /定義減少鍵#define ADD P3_3 /定義增加鍵#define BEEP P3_7 /定義蜂鳴器#define Cool P3_5 /定義降溫#define Hot P3_0 /定義加熱bit shanshuo_st; /閃爍間隔標志bit

45、beep_st; /蜂鳴器間隔標志sbit DIAN = P27; /小數點uchar x=0; /計數器signed char m; /溫度值全局變量uchar n; /溫度值全局變量uchar set_st=0; /狀態標志signed char shangxian=38; /上限報警溫度,默認值為38signed char xiaxian=5; /下限報警溫度,默認值為5uchar code LEDData=0 x3f,0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07,0 x7f,0 x6f;uchar code ALARMData=0 x3f,0 x

46、06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/*延時子程序*/void Delay(uint num) while( -num );/*初始化定時器0*/void InitTimer(void) TMOD=0 x1; TH0=0 x3c; TL0=0 xb0; /50ms(晶振12M)/*定時器0中斷服務程序*/void timer0(void) interrupt 1 TH0=0 x3c; TL0=0 xb0; x+;/*外部中斷0服務程序*/void int0(void) interrupt 0 EX0=0; /關外部中斷0 if(DEC=0&set_st=1) shangxian-; if(shangxianxiaxian)shangxian=xiaxian; else if(DEC=0&set_st=2) xiaxian-; if(xiaxian99)shangxian=99; else if(ADD=0&set_st=2) xiaxian+; if(xiaxianshangxian)xiaxian=shangxian;

溫馨提示

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

評論

0/150

提交評論