基于單片機的多路溫度采集系統(tǒng)畢業(yè)設計_第1頁
基于單片機的多路溫度采集系統(tǒng)畢業(yè)設計_第2頁
基于單片機的多路溫度采集系統(tǒng)畢業(yè)設計_第3頁
基于單片機的多路溫度采集系統(tǒng)畢業(yè)設計_第4頁
基于單片機的多路溫度采集系統(tǒng)畢業(yè)設計_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE45 / NUMPAGES52 學生畢業(yè)設計(論文)題 目基于單片機的多路溫度采集系統(tǒng)設計作 者院 (系)能源工程學院專 業(yè)測控技術與儀器指導教師答辯日期榆 林 學 院畢業(yè)設計(論文)誠信責任書本人重聲明:所呈交的畢業(yè)設計(論文),是本人在導師的指導下獨立進行研究所取得的成果。畢業(yè)設計(論文)中凡引用他人已經發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點等,均已明確注明出處。盡我所知,除文中已經注明引用的容外,本論文不包含任何其他個人或集體已經公開發(fā)表或撰寫過的研究成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人畢業(yè)設計(論文)與資料若有不實,愿意承擔一切相關的法律責任。論

2、文作者簽名:年 月 日摘 要 單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實現(xiàn)對數(shù)字信息的處理和控制。單片機由于其微小的體積和極低的成本,而廣泛的應用于家用電器、工業(yè)控制等領域中。多路溫度采集系統(tǒng)是利用溫度傳感器DS18B20檢測溫度,并由單片機處理顯示。 本設計利用AT89S52單片機為處理器,結合溫度采集電路、鍵盤電路、顯示電路、報警電路等實現(xiàn)對多路溫度的實時檢測與顯示。通過設計實物并調試,對系統(tǒng)存在的問題進行了分析和總結,并提出了改進措施。實驗證明:該信號采集系統(tǒng)性能穩(wěn)定,采集精度高,具有極高的性價比。關鍵詞:單片機;DS18B2

3、0;溫度采集Design of Multi-channel Temperature Acquisition System Based on AT89S52 MCU ABSTRACTSingle-chip is a device which consists of a set of CPU, RAM, ROM, I/O interface, interrupt system and other parts. You only need external power supply and clock then the digital information processing and contr

4、ol can be achieved on.Because of the small scale, low price and high efficiency of MCU, it is widely used in home appliances and industrial control. Multi-channel temperature acquisition systemis used temperature thermometer DS18B20 to detect the temperature, process and display by the single-chip.T

5、his design uses AT89S52 as microprocessor to realize design goal this design including temperature gathering circuit, keyboard circuit,display circuit,alarm circuit etc. to achieve the temperature detection and the display.To introduce the problems during the debugging are analyzed and summarized, s

6、ome measure about the system improvement are proposed.The result of experiments indicated that signal sampling system has good performance, high precision, and has a very high pertormance-to-price ration.Key words: MCU;DS18B20;temperature acquisition目 錄 TOC o 1-3 h z u HYPERLINK l _Toc327355355摘要 PA

7、GEREF _Toc327355355 h IHYPERLINK l _Toc327355356ABSTRACT PAGEREF _Toc327355356 h IIHYPERLINK l _Toc3273553571 緒論 PAGEREF _Toc327355357 h 1HYPERLINK l _Toc3273553581.1選題背景 PAGEREF _Toc327355358 h 1HYPERLINK l _Toc3273553591.2本設計國外狀況 PAGEREF _Toc327355359 h 1HYPERLINK l _Toc3273553601.3本設計的任務和主要容 PAGE

8、REF _Toc327355360 h 2HYPERLINK l _Toc3273553612 系統(tǒng)總體設計 PAGEREF _Toc327355361 h 3HYPERLINK l _Toc3273553622.1系統(tǒng)概述 PAGEREF _Toc327355362 h 3HYPERLINK l _Toc3273553632.2系統(tǒng)工作原理分析 PAGEREF _Toc327355363 h 3HYPERLINK l _Toc3273553643 系統(tǒng)的硬件設計 PAGEREF _Toc327355364 h 4HYPERLINK l _Toc3273553653.1 溫度采集系統(tǒng)的開發(fā)過程

9、 PAGEREF _Toc327355365 h 4HYPERLINK l _Toc3273553663.2 單片機的最小系統(tǒng)設計 PAGEREF _Toc327355366 h 4HYPERLINK l _Toc3273553673.2.1 單片機的選型 PAGEREF _Toc327355367 h 4HYPERLINK l _Toc3273553683.2.2 AT89S52的性能與應用 PAGEREF _Toc327355368 h 5HYPERLINK l _Toc3273553693.2.3 時鐘電路設計 PAGEREF _Toc327355369 h 7HYPERLINK l _

10、Toc3273553703.2.4 復位電路設計 PAGEREF _Toc327355370 h 7HYPERLINK l _Toc3273553713.3溫度采集接口電路設計 PAGEREF _Toc327355371 h 8HYPERLINK l _Toc3273553723.3.1 DS18B20簡介 PAGEREF _Toc327355372 h 8HYPERLINK l _Toc3273553743.3.2 DS18B20與單片機的接口設計 PAGEREF _Toc327355374 h 12HYPERLINK l _Toc3273553753.4顯示器與鍵盤電路的設計 PAGERE

11、F _Toc327355375 h 13HYPERLINK l _Toc3273553763.4.1 顯示電路設計 PAGEREF _Toc327355376 h 13HYPERLINK l _Toc3273553773.4.2 鍵盤電路設計 PAGEREF _Toc327355377 h 14HYPERLINK l _Toc3273553783.5 報警電路設計 PAGEREF _Toc327355378 h 15HYPERLINK l _Toc3273553794 多路溫度采集系統(tǒng)的軟件設計 PAGEREF _Toc327355379 h 16HYPERLINK l _Toc3273553

12、804.1 主程序流程設計 PAGEREF _Toc327355380 h 16HYPERLINK l _Toc3273553814.2 程序設計與巡檢子程序設計 PAGEREF _Toc327355381 h 17HYPERLINK l _Toc3273553824.3巡檢鍵盤與數(shù)碼管多通道顯示 PAGEREF _Toc327355382 h 19HYPERLINK l _Toc3273553834.4 溫度報警程序設計 PAGEREF _Toc327355383 h 22HYPERLINK l _Toc3273553845 系統(tǒng)仿真 PAGEREF _Toc327355384 h 23HY

13、PERLINK l _Toc3273553856 總結 PAGEREF _Toc327355385 h 26HYPERLINK l _Toc327355386參考文獻 PAGEREF _Toc327355386 h 27HYPERLINK l _Toc327355387致 PAGEREF _Toc327355387 h 28HYPERLINK l _Toc327355388附錄A 多路溫度檢測系統(tǒng)示意圖 PAGEREF _Toc327355388 h 29HYPERLINK l _Toc327355389附錄B DS18B20溫度測量程序 PAGEREF _Toc327355389 h 301

14、 緒論本設計主要設計一種多路溫度采集檢測系統(tǒng),采用目前低價位但技術十分成熟的AT89S52單片機作為核,選用DS18B20作為溫度傳感器,送到顯示器循環(huán)顯示所測的四路溫度數(shù)值,并根據(jù)現(xiàn)場工業(yè)需要,設置了一定圍的報警值,報警優(yōu)先顯示,利用按鍵消除報警??捎冒存I查看某一路的溫度值,查看時數(shù)據(jù)采集不中斷。軟件算法上采用了直接擬合的方法(通過電壓-溫度關系來計算溫度值),符合課題要求。本課題構成的多路溫度系統(tǒng)具有結構簡單、價格低廉、測量精度高、量程寬的特點,在很多場合具有一定的適用性。1.1選題背景溫度是工業(yè)對象中主要的被控參數(shù)之一,在各個種類的企業(yè)中應用廣泛的各種加熱設備、反應爐設備等都需要嚴格的控

15、制溫度。隨著時代的進步,科技的發(fā)展,各行各業(yè)對于溫度采集系統(tǒng)的要求也在不斷提高以達到設備環(huán)境、生產流程的安全要求,也越來越成為溫度采集系統(tǒng)的幾個重要指標。隨著集成電路技術的越來越快、越來越大規(guī)?;陌l(fā)展,由于單片機具有體積小、功能強、性價比高等優(yōu)點,基于單片機開發(fā)出來的一系列采集、控制系統(tǒng)也逐漸受到廣泛關注。采取單片機作為核心,可完成對溫度的采集要求。所以基于單片機的多路溫度采集系統(tǒng)被廣泛應用于很多工業(yè)過程控制中,使產品既提高了產品的功能和質量,又降低了成本,簡化了設計。采用單片機設計的多路溫度采集系統(tǒng),可進行溫度檢測、采集與顯示,對于提高生產效率,節(jié)約能源、資源都有非常重要的作用。1.2 本

16、設計國外狀況二十世紀七十年代單片機的出現(xiàn)是近代計算機技術發(fā)展史上的一個重要里程碑,單片機的誕生標志著計算機正式形成了通用計算機系統(tǒng)和嵌入式計算機系統(tǒng)兩大分支。在不斷的完善通用操作系統(tǒng)的過程中,單片機在數(shù)據(jù)處理,模擬仿真,人工智能等得到了廣泛的應用。單片機目前以8位機為主流,不斷增強控制能力,降低成本,減小體積,改善開發(fā)環(huán)境,以空前的速度迅速而廣泛地取代經典電子系統(tǒng)。溫度是表征物體冷熱程度的物理量,是國際單位制中7個基本物理量之一,它與人類生活、工農業(yè)生產和科學研究有著密切關系。隨著科學技術的不斷提高,溫度測量采集技術也在不斷的發(fā)展著。溫度采集是過程控制中的重要課題,各行業(yè)對高性能的溫度采集系統(tǒng)

17、的需求也在日益增加。在溫度采集方面各國均取得了許多可喜的成果,其中前聯(lián)的壓石英頻率溫度計分辨能力可達0.0001攝氏度,而且在-40230攝氏度圍溫度與頻率的線性特性;我國生產的石英溫度傳感器分辨率達到0.0001攝氏度,誤差在0.05攝氏度以。國的溫度控制儀發(fā)展經歷了三個階段:第一階段為動圈式控溫儀,顯示精度差,升溫速度和加熱時間設定都不能自動控制;第二階段為數(shù)字式控溫儀,精度有所提高,但控制精度低,反應不靈敏;第三階段為智能型控溫儀,帶有特有的程序,控制精度高,減少了誤差。雖然溫度的采集方法有很多種,但在很多情況下,對于一些特殊條件的溫度測量來講,想要的到精確的結果并不容易,需要熟練掌握各

18、種測量方法的原理與特點,同時結合設計要求才能完成。與此同時,還需探究新的采集方法,改進以前的技術,以滿足不同條件下的溫度采集需要。1.3本設計的任務和主要容如何基于AT89S52對4路溫度進行采集的具體要求,有以下幾點:(1)選用哪種傳感器將溫度信號轉化為電信號;(2)單片機外圍硬件的電路設計;(3)部程序的編寫。在溫度采集系統(tǒng)中我們經常用到集成型溫度傳感器,集成型傳感器可以達到較高的精度,在集成型溫度傳感器的使用過程中,由于采用的單總線傳輸方式進行對遠距離的多點溫度進行檢測,故在程序的控制上較復雜。新型溫度傳感器DS18B20具有體積小、精度高、使用電壓寬采用一線總線等優(yōu)點,在實際應用中取得

19、了良好的測溫效果。用四只DS18B20同時采集4路溫度。AT89S52單片機P3.7接口接單線總線。單片機有一個全雙工的串行通訊口,單片機與電腦之間能更好地進行串口通訊。2 系統(tǒng)總體設計2.1系統(tǒng)概述根據(jù)設計要求的性能指標,本系統(tǒng)不僅要滿足一定精度的溫度采集的基本功能,而且由于測量的路數(shù)為4路,還存在多路信號的循環(huán)顯示問題,還要考慮溫度超限報警輸出的功能,同時系統(tǒng)還具有顯示當前各路的測量溫度值的功能和鍵盤選擇顯示路數(shù)的功能。2.2 系統(tǒng)工作原理分析在測溫系統(tǒng)中我們常常用到集成型溫度傳感器,集成型溫度傳感器可以達到較高的精度,在集成型溫度傳感器的使用過程中,由于采用的單總線傳輸方式進行對遠距離的

20、多點溫度進行檢測,所以在程序的控制上比較復雜。在溫度測量系統(tǒng)中,采用抗干擾能力強的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳感器DS18B20具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網等優(yōu)點,在實際應用中取得了良好的測溫效果。根據(jù)本課題的設計目標以與硬件的特點,本系統(tǒng)的總體設計框圖如圖2-1所示AT89S52報警時鐘電路鍵盤電路4位LED顯示DS18B20 1DS18B20 2DS18B20 3DS18B20 4 圖2-1總體設計框圖3 系統(tǒng)的硬件設計一個溫度采集系統(tǒng),包括被采集信息的采集、轉換、顯示等環(huán)節(jié),在本多路溫度采集系統(tǒng)設計中,包括CPU的選型以與包括

21、顯示電路、存儲器、報警電路、電源電路等設計。3.1 溫度采集系統(tǒng)的開發(fā)過程本設計中以DS18B20為傳感器、AT89S52單片機為控制核心組成的多點溫度測試系統(tǒng)。用4只DS18B20同時測控4路溫度(視實際需要還可擴展通道數(shù))。由于每片DS18B20含有唯一的硅串行數(shù),所以在一條總線上可掛接多個DS18B20芯片。從DS18B20讀出的信息或寫入DS18B20的信息,僅需要一根口線(單線接口)。讀寫與溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。DS18B20提供9位溫度讀數(shù),構成多點溫度檢測系統(tǒng)而無需任何外圍硬件。處理時,將DS18B20信號線與單片

22、機一位口線相連,單片機可掛接多片DS18B20,從而實現(xiàn)多點溫度檢測系統(tǒng)。由于DS18B20只有三個引腳,其中兩根是電源線VDD和GND,另外一根用作總線DQ(Data In/Out),由于其輸出和輸入均是數(shù)字信號且與TTL電平兼容,因此其可以與微處理器直接進行接口,從而省去了一般傳感器所必需的中間轉換環(huán)節(jié)。3.2 單片機的最小系統(tǒng)設計3.2.1 單片機的選型目前,生產單片機的廠商有很多,尤其是近年來微電子技術、計算機技術的飛速發(fā)展,比較著名的有Intel、Philips、Microchip、Motorola、Zilog、Atmel等半導體企業(yè)。在上述著名的半導體企業(yè)產品中,尤其在工業(yè)測控場合

23、,運用較多的為Intel公司的MCS-51系列,Microchip公司的PIC系列,如果作單路溫度測量,恐怕要選擇該系列的CPU,但由于本系統(tǒng)涉與的是多路,各路報警的輸出信號需要單獨輸出,而且考慮信號調理電路的切換等還需要不少的控制線,因此該系列的少引腳特點就不適合本設計的需要,因此,本設計還是選用了ATMEL最新的8位單片機AT89S52作為本系統(tǒng)的CPU。下面簡單地介紹一下AT89S52。3.2.2 AT89S52的性能與應用功能特性描述:AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有8K 在系統(tǒng)可編程 Flash 存儲器。使用 Atmel 公司高密度易失性存儲器技術制

24、造,與工業(yè) 80S52 產品指令和引腳完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89S52 為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決案,其引腳如圖3-1所示。AT89S52 具有以下標準功能:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,一個 6 向量 2 級中斷結構,全雙工串行口,片晶振與時鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。空閑模式下,C

25、PU停止工作,允許 RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM 容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或圖3-1是AT89S52的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口與P3口復用。其對應的引腳功能:Pin40:正電源腳,正常工作或對片EPROM抄寫程序時,接+5V電源。Pin19:時鐘XTAL1腳,片振蕩電路的輸入端。Pin18:時鐘XTAL2腳,片振蕩電路的輸出端。AT89S52的時鐘有兩種方式,一種是片時鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電

26、容的值一般取10PF-30PF;另外一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入。本設計采用片時鐘電路,外接晶振和電容組成振蕩器。圖3-1 AT89S52引腳輸入輸出(I/O)引腳:Pin39-Pin32為。P0.0-P0.7輸入輸出腳,Pin1-Pin8為P1.0-P1.7輸入輸出腳,Pin21-Pin28為P2.0-P2.7輸硬件復位為止入輸出腳,Pin10-Pin17為P3.0-P3.7輸入輸出腳。在對單片機設計中,P0作為數(shù)碼管的段選選通端口何數(shù)字鍵盤接口。Pin9:RESET/ 復位信號復用腳,當AT89S52通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)2

27、個時鐘周期以上的高平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H, P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。 值得注意的是,P0、P1、P2、P3口作為普通I/O口使用時都是準雙向口結構,其輸入操作和輸出操作本質不同,輸入操作是讀引腳狀態(tài),輸出是對鎖存器的寫入操作。當部總線給口鎖存器置0或1時,鎖存器中的0、1狀態(tài)立即反映到引腳上。但在輸入操作時,如果鎖存器狀態(tài)為0引腳被鉗位0狀態(tài),導致無法讀出引腳的高電平輸入。因此,準雙向口作為輸入口時,應先使鎖存器置1(稱之為置輸入方式)。

28、然后,再讀引腳,例如:要將P1口的狀態(tài)讀入到累加器A中,應執(zhí)行以下兩條指令: MOV P1,#0FFH ;P1口置入方式。MOV A, P1 ;讀P1口引腳狀態(tài)到A。此外,I/O口的端口自動識別功能,保證了無論是P1口(低8位地址)P2口(高8位地址)的總線復用,還是P3口的功能復用,部資源自動選擇不需要用指令進行狀態(tài)選擇。隨著計算機技術的發(fā)展,單片機的功能越來越強大,壽命長、速度快、低功耗、低噪聲、可靠性高的特點與16位、32位單片機的出現(xiàn),在工業(yè)領域仍具有很大的發(fā)展?jié)摿Α?.2.3 時鐘電路設計本設計采用部時鐘方式來為系統(tǒng)提供時鐘信號。時鐘電路通常由晶震控制芯片、電容和晶體震蕩器組成。時鐘

29、電路是用來產生AT89C51單片機工作時所需要的時鐘信號。一般時鐘設計有兩種形式:部時鐘和外部時鐘。AT89C51單片機部有一個高增益反響放大器,它用來構成振蕩器。此放大器有兩個引腳,一個是的輸入引腳XTAL1,另一個是輸出引腳XTAL2,這兩個引腳跨接晶體振蕩器和用于微調的電容,目的是用來構成一個自激勵振蕩器。如圖3-2時鐘電路,晶體振蕩器的頻率圍一般在1.2MHz和12MHz之間,單片機的運行速度會受到晶振頻率的影響,因此晶振頻率的選擇很重要。晶振的起振頻率有兩個,一個是11.0592MHZ,另一個是12MHZ,本設計的AT89S52單片機采用的是12MHz。通常電路中的電容C1和C2的值

30、都取為30PF。電路對外接電容的值盡管沒有明確的要求,然而電容的晶體振蕩器頻率會受到電容大小的影響,以與振蕩器的穩(wěn)定性和起振的快速性都會受到影響。為了減少寄生電容,晶振和電容應該與單片機芯片安裝時盡可能的靠近,以確保振蕩器穩(wěn)定,可靠地工作。本設計使用NPO電容,原因是它的溫度穩(wěn)定性比較好。時鐘電路如圖3-2所示。圖3-2 時鐘電路3.2.4 復位電路設計為了使系統(tǒng)能夠從正確的初始狀態(tài)開始工作,就必須在啟動單片機的時候對單片機復位。對電源+5V而言,電容C3和電阻R3構成了微分電路。對于上電復位,上電以后,復位電路通過電容使RST持續(xù)一段時間的高電平,如果RST能夠持續(xù)充足時間的高電平,系統(tǒng)就有

31、足夠的時間復位,那么就實現(xiàn)了系統(tǒng)復位的可靠性。但是,電容的充電時間決定了RST端持續(xù)高電平的時間。隨著電容充電的完成,RST端變成低電平。如圖3-3所示。對于手動按鈕復位,它是通過手動操作按鍵來給RST一個高電平,這種復位方式可以滿足設計的要求,原因是,手動按鍵的時候總是有一個過程,在這個時間段,系統(tǒng)能夠有足夠的時間復位。圖3-3中:C7=10uf,R21=4.7k圖3-3 復位電路3.3溫度采集接口電路設計本設計中以DS18B20為傳感器、AT89S52單片機為控制核心組成的多點溫度測試系統(tǒng)。用4只DS18B20同時測控4路溫度(視實際需要還可擴展通道數(shù))。由于每片DS18B20含有唯一的硅

32、串行數(shù),所以在一條總線上可掛接多個DS18B20芯片。從DS18B20讀出的信息或寫入DS18B20的信息,僅需要一根口線(單線接口)。讀寫與溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。DS18B20提供9位溫度讀數(shù),構成多點溫度檢測系統(tǒng)而無需任何外圍硬件。處理時,將DS18B20信號線與單片機一位口線相連,單片機可掛接多片DS18B20,從而實現(xiàn)多點溫度檢測系統(tǒng)。由于DS18B20只有三個引腳,其中兩根是電源線VDD和GND,另外一根用作總線DQ(Data In/Out),由于其輸出和輸入均是數(shù)字信號且與TTL電平兼容,因此其可以與微處理器直接進行

33、接口,從而省去了一般傳感器所必需的中間轉換環(huán)節(jié)。3.3.1 DS18B20簡介DS18B20是美國Dallas半導體公司推出的第一片支持一線總線接口的溫度傳感器。它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,可直接將溫度轉化成串行數(shù)字信號供微機處理。DS18B20 特點如下:硬件接口簡單,性能穩(wěn)定,單線接口,僅需一根口線與MCU連接無需外圍元件;由總線提供電源;測溫圍為-5575;精度為0.5;9位溫度讀數(shù);A/D變換時間為200ms;用戶自設定溫度報警上下限,其值是非易失性的;報警搜索命令可識別那片DS18B20超溫度限。(1)DS18B20的引腳介紹TO92封裝的DS18

34、B20的引腳排列見圖3.1,其引腳功能描述見表3-1。表3-1 DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。圖3-3 DS18B20的管腳排列(2)DS18B20的產品特點1) 只要求一個端口即可實現(xiàn)通信。2) 在DS18B20中的每個器件上都有獨一無二的序列號。3) 實際應用中不需要外部任何元器件即可實現(xiàn)測溫。 4) 測量溫度圍在55到125之間。 5) 數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。6) 部有溫度上、下

35、限告警設置。 7)支持多點組網功能,多個DS18B20可以并聯(lián)在一根三線上,實現(xiàn)多點測溫8) 負壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 DS18B20的工作原理是:DS18B20采用3腳PR-35封裝,其中 GND為地;I/O為數(shù)據(jù)輸入/輸出端(即單線總線),該腳為漏極開路輸出,常態(tài)下呈高電平;VDD是外部+5V電源端,不用時應接地;DQ為空腳。圖3-4所示為DS18B20的部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器(含RAM),用于存儲用戶設定的溫度上下限值的TH和TL觸發(fā)器存儲與控制邏輯、8位循環(huán)冗余校驗碼(CRC)

36、發(fā)生器等七部分。電源檢測存儲器控制邏輯溫度傳感器高溫度觸發(fā)低溫度觸發(fā)64位ROM和單線借口存儲器8位CRC觸發(fā)器圖3-4 DS18B20部結構圖DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包括復位時序、寫時序和讀時序,如圖3-4,3-5,3-6所示。由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時

37、序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的復位時序圖3-5 DS18B20的復位時序DS18B20的讀時序對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時序是從主機把單總線拉低之后,在15s之就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS

38、18B20在完成一個讀時序過程,至少需要60s才能完成。圖3-6 DS18B20的讀時序DS18B20的寫時序對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。圖3-7 DS18B20的寫時序對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60s,保證DS18B20能夠在15s到45s之間能夠正確地采樣I/O總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15s之就得釋放單總線。LSB設置清除斜率累加器比較預置低溫度系數(shù)振蕩器高溫度系數(shù)振蕩器計數(shù)器計數(shù)器=0=0溫度寄存器預置停止加1圖3-8 DS18B20測溫原理框圖DS18B20的溫度測

39、量原理如下:DS18B20測量溫度時使用特有的溫度測量技術,其測量電路框圖如圖3-8所示。部計數(shù)器對一個受溫度影響的振蕩器的脈沖計數(shù),低溫時振蕩器的脈沖可以通過門電路,而當?shù)竭_某一設置高溫時,振蕩器的脈沖無法通過門電路。計數(shù)器設置為-55時的值,如果計數(shù)器到達0之前,門電路未關閉,則溫度寄存器的值將增加,這表示當前溫度高于-55。同時,計數(shù)器復位在當前溫度值上,電路對振蕩器的溫度系數(shù)進行補償,計數(shù)器重新開始計數(shù)直到回零。如果門電路仍然未關閉,則重復以過程。溫度表示值為9bit,高位為符號位。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18

40、B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。3.3.2DS18B20與單片機的接口設計溫度采集是工業(yè)生產經常遇到的問題。本設計中以DS18B20為傳感器AT89S52單片機為控制核心組成的多點溫度測試系統(tǒng)。用4只DS18B20同時測控4路溫度(視實際需要還可擴展通道數(shù))。本系統(tǒng)采用四位共陽極數(shù)碼管動態(tài)顯示溫度,系統(tǒng)設有上下限報警電路。該控制系統(tǒng)的功能如下: (1)溫度控制得設定圍為0100,最小分辨率為0.5。 (2)實時顯示當前溫度,可以單通道也可以循環(huán)顯示。 (3)命令按鍵5個:通道0通道3按鍵,巡檢鍵,。3.4

41、顯示器與鍵盤電路的設計 基于DS18B20的多點溫度采集,共模擬了4點溫度,具有各點溫度采集功能,通過按鍵設置也可以監(jiān)控某一通道的溫度,還設置報警溫度,具有越限報警功能。SW1SW4通道0通道3報警, XUNJIAN為巡檢鍵,關閉進入巡檢模式。 在本系統(tǒng)中,由于該溫度計還要進行信息的實時顯示,所以設計了LED顯示電路。LED顯示器采用8段發(fā)光二極管。共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓。該電路由晶體管(NPN)、顯示器(共陽極LED)和電阻構成。3.4.1 顯示電路設計本設計使用了四塊共陽極結構的LED,對數(shù)碼管的驅動有兩種選擇,一種是顯示驅動器MAX7221

42、,一種選擇是三極管驅動。MAX7221的特點是顯示多樣、需要單片機輸入輸出口少(只需要3根)、編程靈敏、簡單且實用等,但是它是共陰極的驅動器。因此,選擇直接由三極管驅動。LED數(shù)碼管顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。靜態(tài)顯示就是當顯示器顯示某個字符時侯,和它相應的段(即就是發(fā)光二極管)恒定的導通或者截止,直到顯示要另一個字符為止。比起動態(tài)顯示器,靜態(tài)顯示器的亮度較高,編程也很容易,管理也較簡單,但就是占用輸入輸出線資源較多,而且沒有位選信號,線路復雜,成本也高。動態(tài)顯示就是單片機定時的對LED進行掃描,然后使其逐個的顯示出結果。當數(shù)碼管顯示的時候,由于人眼的視覺暫留效果,仍然感覺到所有的數(shù)碼

43、管都同時在顯示,此方法用到的是硬件掃描,成本低,但是占用的CPU資源多,亮度也不如靜態(tài)顯示。根據(jù)以上所述,本設計選用的顯示方示為動態(tài)顯示。如圖3-9為顯示電路。圖3-9 顯示電路3.4.2 鍵盤電路設計基于DS18B20的多點溫度采集,共模擬了4點溫度,具有各點溫度采集功能,通過按鍵設置也可以監(jiān)控某一通道的溫度,還設置報警溫度,具有越限報警功能。鍵盤電路如圖3-10所示。圖3-10 鍵盤電路3.5 報警電路設計在單片機采集溫度發(fā)生低于或超出所設定的溫度時,單片機系統(tǒng)能相應發(fā)出提醒。本次設計采用蜂鳴器。蜂鳴器可用AT89S52的I/O口線通過設置PNP的飽和截止驅動蜂鳴器發(fā)聲,當I/O口線發(fā)出具

44、有一定的低電平信號,即可使蜂鳴器報警。報警電路如圖3-11所示。 圖3-11 報警電路4 多路溫度采集系統(tǒng)的軟件設計4.1 主程序流程設計開始初始化掃描鍵盤是否有鍵按下?采集溫度是否為單通道顯示?顯示溫度值并且過溫度報警循環(huán)顯示并且過溫度報警結束YNYN圖4-1 主程序框圖(1) 采用模塊程序設計。(2) 采用自頂向下的程序設計。 (3) 外部設備和外部事件盡量采用中斷方式與CPU聯(lián)絡,這樣既便于系統(tǒng)模塊化, 也可提高程序效率。 (4) 近幾年推出的單片機開發(fā)系統(tǒng), 有些是支持高級語言的,如C51與PL/M96的編程和在線跟蹤調試。 (5) 系統(tǒng)的軟件設計應充分考慮到軟件抗干擾措施。4.2 程

45、序設計與巡檢子程序設計程序處理是整個系統(tǒng)的關鍵,即簡潔的硬件結構是靠復雜的軟件來支持的。多個器件掛在一條總線上為了識別不同的器件,在程序設計過程中一般有四個步驟:初始化命令;傳送ROM命令;傳送RAM命令;數(shù)據(jù)交換命令。由于已經在上面獲取了多個DS18B20的ROM代碼并在AT89S52單片機部的E2PROM中建立了測量位置點和傳感器64位ROM代碼之間的關系表,因此對多個溫度的巡回測量流程圖如圖4-2所示。開始復位DS18B20發(fā)出搜索ROM的命令返回讀在線DS18B20序列號所有在線DS18B20是否訪問完?是否存在一個DS18B20?初始化DS18B20啟動所有在線的DS18B20作溫度

46、A/D轉換跳過ROM命令;轉換命令延時104s初始化DS18B20執(zhí)行期間匹配命令發(fā)一個DS18B20序列號發(fā)讀暫存RAM命令讀匹配的DS18B20溫度YNYN圖4-2巡檢顯示子程序流程圖(1) 發(fā)跳過ROM命令CCH。(2) 發(fā)啟動所有在線的DS18B20進行溫度轉換命令44H。(3) 延遲104s。(4) 發(fā)匹配ROM命令55H。(5) 按照E2PROM中建立的關系表的順序取出64位ROM代碼發(fā)送到單總線。(6) 發(fā)讀溫度值命令BEH,讀取溫度值。(7) 進行CRC校驗和數(shù)據(jù)處理后送LED顯示器顯示。(8) 重復第4步到第7步,直到所有的DS18B20測量處理完。需要注意的是,無論是單點還

47、是多點溫度檢測,在系統(tǒng)安裝與工作之前,應將主機逐個與DS18B20掛接,讀出其序列號。其工作過程為:主機發(fā)出一個脈沖,待0電平大于104s后,復位DS18B20,在DS18B20所發(fā)響應脈沖由主機接收后,主機再發(fā)讀ROM命令代碼33H,然后發(fā)一個脈沖(104s),并接著讀取DS18B20序列號的一位。用同樣方法讀取序列號的56位。另外,由于DS1820單線通信功能是分時完成的,遵循嚴格的時隙概念,因此,系統(tǒng)對DS18B20和各種操作必須按協(xié)議進行,即初始化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。在正常測溫情況下,DS18B20的測溫分辨力為0.5。采用下述方法可獲

48、得高分辨率的溫度測量結果:首先用DS18B20提供的讀暫存器指令(BEH)讀出以0.5為分辨率的溫度測量結果,然后切去測量結果中的最低有效位(LSB),得到所測實際溫度的整數(shù)部分,然后再用BEH指令取計數(shù)器1的計數(shù)剩余值和每度計數(shù)值??紤]到DS18B20測量溫度的整數(shù)部分以0.25和0.75為進位界限的關系。4.3巡檢鍵盤與數(shù)碼管多通道顯示選用高亮度發(fā)光LED器件。溫度數(shù)據(jù)按動態(tài)方式顯示,將采集到的數(shù)值通過標度轉換由四位數(shù)碼管顯示。其段選段接P0,位選信號由P2.2、P2.3、P2.4和P2.5設置。存放位置:6AH6DH為0通道設定值存放單元(依次為小數(shù)位,個位,十位,百位數(shù));6EH6FH

49、,76H77H為1通道設定值存放單元(依次為小數(shù)位,個位,十位,百位數(shù));78H7BH為2通道設定值存放單元(依次為小數(shù)位,個位,十位,百位數(shù));7CH7FH為3通道設定值存放單元(依次為小數(shù)位,個位,十位,百位數(shù));51H54H顯示值存放單元(調溫度閃爍時再送回顯示單元)。各顯示按鍵功能如表4-1所示。表4-1 顯示按鍵按 鍵 功 能 XUNJIAN鍵 用于控制循環(huán)顯示各通道溫度數(shù)據(jù) SW1用于實時顯示“0”通道的溫度數(shù)據(jù) SW2用于實時顯示“1”通道的溫度數(shù)據(jù) SW3用于實時顯示“2”通道的溫度數(shù)據(jù) SW4用于實時顯示“3”通道的溫度數(shù)據(jù) 系統(tǒng)經過初始化,進入多通道顯示,然后掃描鍵盤,判斷

50、是否有按鍵按下,然后進行按鍵所控制的通道的溫度采集。所采集的溫度與設定的溫度相比較,越限可以報警。多通道數(shù)據(jù)顯示流程圖如圖4-3所示。開始單通道顯示方式 掃描鍵盤 是SW1嗎? 是否有鍵按下? 是SW2嗎? 是SW3嗎?顯示1通道數(shù)據(jù) 過溫度報警與溫度顯示顯示2通道數(shù)據(jù) 過溫度報警與溫度顯示顯示3通道數(shù)據(jù) 過溫度報警與溫度顯示顯示4通道數(shù)據(jù) 過溫度報警與溫度顯示是XUNJIAN模式嗎?返回 YNY 是SW4嗎?YYYNNNNNY圖4-3 多通道數(shù)據(jù)顯示4.4 溫度報警程序設計由于DS18B20需要初始化才能使用,因此,首先必須對系統(tǒng)進行初始化并且要關閉所有中斷,DS18B20把轉換到的溫度讀出

51、,然后放到累加器A中,把之前設置的溫度報警的上限值轉換成DS18B20的輸出值,這樣然后再與報警上限的溫度值進行比較,如果檢測的結果是溫度沒有超限,那么系統(tǒng)繼續(xù)進行檢測。溫度報警的程序流程如圖4-4所示。報警程序入口DS18B20初始化DS18B20轉換值溫度是否過高?自動報警溫度降低,是否有按鍵接觸?報警結束是否是否報警程序入口圖4-4 報警程序流程圖5 系統(tǒng)仿真本部分采用將DS18B20 的I/ 0 數(shù)據(jù)線與AT89S52 單片機P3. 4、P3. 5、P3. 6 、P3. 7口線相連,用4 只DS18B20 同時測量4 路溫度(視實際需要還可擴展通道數(shù)) 實現(xiàn)多點溫度檢測。DS18B20

52、 只有3 個引腳,其中兩根是電源線VDD 和GND (本設計中采用外部電源供電方式) ,另外1 根用作總線DQ ,其輸出和輸入均是數(shù)字信號且與TTL 電平兼容,因此可以與微處理器直接進行接口。主CPU 經過單線接口訪問DS18B20 的工作流程為:對DS18B20 進行初始化ROM 操作命令存儲器操作命令數(shù)據(jù)處理。主CPU 對ROM 操作完畢后即發(fā)出控制操作命令,使DS18B20 完成溫度測量并將測量結果存入高速暫存器中,然后讀出此結果。(1)鍵盤與顯示部分本設計采用獨立式鍵盤和四位顯示。鍵盤用來設置上限與下限的溫度報警,字符液晶用來顯示通道號、該通道的溫度和所設置的上下限溫度。使用液晶顯示更

53、加形象,而且抗干擾能力強,便于以后擴展。當運行PRO TEUS 軟件時,從液晶屏可以清楚的看到所采集到的溫度值、通道號和上下限報警。(2)軟件電路設計單片機編程在開機之初,主程序先對系統(tǒng)進行初始化,然后采集4 路溫度信號,并在液晶屏上循環(huán)顯示。(3)軟硬聯(lián)合調試整個軟件通過匯編語言編程,先在Keil C51 集成開發(fā)環(huán)境下將編好的程序進行編譯、調試,調試通過后會生成DS18B20。HEX 文件。運行PROTEUS 模擬仿真軟件,打開已繪制好的仿真電路原理圖,選中單片機AT89S52,左鍵點擊AT89S52,出現(xiàn)對應的對話框,在Program File 中找到編譯好的“DS18B20. HEX”

54、文件,然后點擊“O K”就可以進行仿真了。點擊模擬調試按鈕的運行按鈕,進入調試狀態(tài),此時可以看到液晶屏循環(huán)顯示所采集到的溫度值、通道號和上下限報警,同時在虛擬終端上也可以看到上位機接收到的數(shù)據(jù)。利用Proteus 進行單片機系統(tǒng)的仿真設計可以極簡化單片機程序在目標硬件上的調試工作,大幅度節(jié)省制作電路板的時間,對于提高產品的開發(fā)效率、降低開發(fā)成本等有重要作用。圖5-1 系統(tǒng)實物圖圖5-2 DS18B20在實物中的連接圖5-3 實物仿真6 總 結使用DS18B20數(shù)字化溫度傳感器;實現(xiàn)多路測溫;簡化了硬件系統(tǒng),減少了使用模擬傳感器要進行放大A/D轉換等工作。由于它的級聯(lián)功能,可以在單總線上掛靠多個

55、器件,而不必占用多個I/O口,因此使系統(tǒng)更簡捷。如果長距離測溫,還可以使用它的寄生電源功能,省去一根電源線。進行設計和測試后,用模擬值檢測按鍵功能,接著實現(xiàn)了DS18B20對多路溫度信號通道的采集,同時也完成了四路通道的循環(huán)采集和單通道采集,再根據(jù)采集到的實際信號進行運算處理轉換成溫度值送入顯示器顯示。在本次設計過程中,對于如何實現(xiàn)軟件和硬件的結合有著很大的考驗,所要考慮很多因素的影響。如按鍵去抖動,高低電平的變化等。在畢業(yè)設計中,為了少走彎路和節(jié)省時間,應充分考慮并滿足抗干擾的要求,避免在設計完成后再去進行抗干擾的補救措施。綜上所述,用簡單的硬件以與編程方法自動建立關系表,在單總線多點溫度測

56、量系統(tǒng)中實現(xiàn)了數(shù)字溫度傳感器的自動識別,大大有利于系統(tǒng)的調試、維護,減少維護工作量,并解決了過去維護工作必須由專業(yè)人員來完成,而不是由運行人員來完成的不便。本設計創(chuàng)新點在于將單片機技術和一線總線技術相結合,改進現(xiàn)有的用放大和集成電路采集系統(tǒng)。同時充分利用有限端口,在保證溫度采集可靠性的基礎上簡化電路、降低成本。參考文獻1 蔡可健.多路無線測溫系統(tǒng)設計J.傳感器技術,2005,(12):52.2 賈振國.DS18B20與高精度溫度測量的實現(xiàn)J.電子技術應用,2000,(1):58-593 周月霞,傳友. DS18B20 硬件連接與軟件編程J.傳感器世界,2001,(12):35-42.4 周建春

57、,錢敏等.基于單片機和PC串口通信的測溫系統(tǒng)J.通信技術,2011,4(5):78-82.5 毅剛.單片機原理與應用M.:高等教育,2001:397-407.6 恢先,黃輝先.單片機原理與應用M.:復旦大學, 2002:36-52.7 徐淑華,程退安,萬生.單片機微型機原理與應用M.:工業(yè)大學,1994:85-107.8 周云波.由DS18B20單線數(shù)字溫度計構成的單線多點溫度測量系統(tǒng)J.電子技術應用,2006,5(15):42.9 麗君.AT89C51單片機控制的多路溫度檢測系統(tǒng)J.自動化與儀表,2000,(15): 66-68.10 娟,郝弗非.多路溫度檢測自動控制系統(tǒng)的設計實現(xiàn)J.理工大

58、學報,2007,(23):51-53.11 何立明,單片機應用系統(tǒng)抗干擾技術M.:航空航天大學,2000:99-110.12 涂時亮等編.單片微機軟件設計技術M.:科學技術文獻分社,2003:72-80.13 邦田. 電子電路實用抗干擾技術M.:人民郵電,1994:34-52.14 董慧敏,朱智民. 多點溫度檢測系統(tǒng)電路設計J.職業(yè)技術學院學報,2007,(6):167-168.致 我的畢業(yè)設計,是在鵬老師的理論與實踐技術相結合地指導下,進行大膽的理論與實踐相結合,動手能力得到了較嚴格地訓練,使我學到了怎樣去查找翻閱有關理論資料和技術手冊,把書本上知識總結起來去應用于實踐,學到了研究、開發(fā),設

59、計單片微型計算機對工業(yè)過程控制的一套完整的方法,受益很大。在論文上給我很多的幫助和指導。硬件軟件都要涉與。本畢業(yè)設計鍛煉了我的動手能力,進一步強化了專業(yè)知識,提高了將所學知識應用于實踐的能力。在即將走出校門,踏上工作崗位之際,是大有收益的。由于本人水平有限,而且經驗不足。論文中的錯誤與紕漏之處在所難免,懇請各位老師指正。!在此感大學四年對我辛勤教導的老師們以與同窗四年的同學,你們對我四年的關心和照顧。附錄A 多路溫度檢測系統(tǒng)示意圖附錄B DS18B20溫度測量程序TEMPHEAD DATA 36H ;讀取的溫度值存放的單元 TEMPL DATA 26H ;存放讀取溫度的低字節(jié) TEMPH DA

60、TA 27H ;存放讀取溫度的高字節(jié) TEMPHC DATA 28H ;存放BCD碼調整后溫度的高字節(jié) TEMPLC DATA 29H ;存放BCD碼調整后溫度的低字節(jié) DISPLY DATA 70H ;70H74H顯示單元(依次存放為小數(shù)位,個位,十位,百位,通道號數(shù)) DISPLY1 DATA 71H DISPLY2 DATA 72H DISPLY3 DATA 73H TONG DATA 74H STONG0_X DATA 6AH ;6AH6DH為0通道設定值存放單元(依次為小數(shù)位,個位,十位,百位數(shù)) STONG0_G DATA 6BH STONG0_S DATA 6CH STONG0_

溫馨提示

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

評論

0/150

提交評論