【正文】
1ustREC∞15usDS18B20采樣15us1usDS18B20采樣 DS18B20寫操作時序圖寫周期最少為60微秒,最長不超過120微秒,寫周期一開始作為主機先把總線拉低1微秒表示寫周期開始,隨后若主機想寫0,則繼續(xù)拉低電平最少60微秒直至寫周期結束,然后釋放總線為高電平;若主機想寫1,在一開始拉低總線電平1微秒后就釋放總線為高電平,一直到寫周期結束。而作為從機的DS18B20則在檢測到總線被拉低后等待15微秒然后從15μs到45μs開始對總線采樣,在采樣期內總線為高電平則為1,若采樣期內總線為低電平則為0。對于讀數(shù)據(jù)操作時序也分為讀0時序和讀1時序兩個過程,讀時序是從主機把單總線拉低之后,在1微秒之后就得釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結束;若要送出1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內的15微秒時間內完成對總線進行采樣檢測,采樣期內總線為低電平則確認為0,采樣期內總線為高電平則確認為1,完成一個讀時序過程,至少需要60μs才能完成。VCCGND單線總線控制器讀”0”時間隙控制器讀”1”時間隙1ustREC∞控制器采樣30us控制器采樣 DS18B20讀操作時序圖 超溫報警電路9012 Q2蜂鳴器+5V 報警電路圖本次課程設計所設計的系統(tǒng)的報警模塊的結構比較簡單的,只是一個蜂鳴器模塊,當溫度低于下限和高于上限時,單片機I/O口上輸入一個低電平,就可以使蜂鳴器報警。 溫度檢測根據(jù)DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復 位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當DS18B20收到信號后等待 16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。在系統(tǒng)安裝及工作之前應將主機逐個與DS18B20掛接,以讀出其序列號。其工作過程為:主機發(fā)出一個脈沖,待“0”電平大于480μs后,復位DS1820,在DS1820所發(fā)響應脈沖由主機接收后,主機再發(fā)讀ROM命令代碼33H,然后發(fā)一個脈沖(15μs),并接著讀取DS1820序列號的一位。用同樣方法讀取序列號的56位。另外,由于DS1820單線通信功能是分時完成的,遵循嚴格的時隙概念,因此,系統(tǒng)對DS1820和各種操作必須按協(xié)議進行,即:初始化DS1820(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。(具體工作程序見附錄C)。開始初始化DS18B20發(fā)跳過ROM命令,轉發(fā)溫度轉換命令等待轉換完成:I=1初始化DS18B20發(fā)匹配ROM命令。發(fā)第I個DS18B20的ID讀取溫度到緩沖區(qū)調用溫度處理子程序第n 個DS18B20處理完否YN 調試結果及分析環(huán)境溫度28攝氏度,室內面積20平方米測試儀器:數(shù)字萬用表,溫度計0100攝氏度使系統(tǒng)運行,采用溫度計同時測量室內度變化情況,得出系統(tǒng)測量的溫度。設定溫度由0攝氏度到40攝氏度標定溫差=1攝氏度。調節(jié)時間15s(具體視現(xiàn)場情況)靜態(tài)誤差=。最大超調量1攝氏度,對于實際室內的溫度控制,可以再提出以下2點方法:Ⅰ增加傳感器個數(shù),對各個溫度傳感器采集的數(shù)據(jù)進行求算術平均,可得到較為準確的溫度值。 Ⅱ對實際室內的溫度控制,可采用功率較大的電爐,并且通過風扇對箱內溫度進行充分攪和,降溫設備可采用空氣壓縮機等制冷設備。,發(fā)現(xiàn)雖然傳感器的溫度采集精度最高可得到 ℃,℃。通過分析,當對浮點數(shù)求平均處理時,遇到同一時刻兩個傳感頭采集的溫度相差不大,℃℃為了解該數(shù)據(jù)是否真實,可采用一個高精度的數(shù)字溫度計測試,發(fā)現(xiàn)讀出的值與其基本一致,由此推斷如果在同一時間增加采集溫度的個數(shù),則可以進一步提高溫度的精度。 本章小結本章對溫度控制系統(tǒng)中的的各個主要模塊的硬件及軟件工作過程做了介紹,在本章中對各模塊與主控單片機的電路連接,及各硬件的內部結構和應用做了詳細論述。結論在工業(yè)生產和日常生活中,對溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內變化,穩(wěn)定性好,不振蕩,對系統(tǒng)的快速性要求不高。在論文中簡單分析了單片機溫度控制系統(tǒng)設計過程及實現(xiàn)方法。本系統(tǒng)的測溫范圍為20℃~40℃,溫度檢測系統(tǒng)根據(jù)設定的溫度范圍完成一定范圍的溫度控制。本文的主要內容總結如下:,對溫度控制系統(tǒng)在工業(yè)生產,日常生活中的應用。,溫度傳感器使用的是DS18B20,在本文中重點介紹了STC單片機和DS18B20傳感器的特點及應用,為硬件電路的設計和測試程序設計做了基礎準備。對控制系統(tǒng)中的各個單元模塊的電路連接和程序運行流程圖都做了詳細的介紹,主要涉及了單片機控制系統(tǒng)、溫度傳感器系統(tǒng)、顯示系統(tǒng)、按鍵系統(tǒng)、報警系統(tǒng)的設計等。,在KeilC編譯環(huán)境下運行通過并經由STC公司的STC-ISP軟件下載到系統(tǒng)中。主要包括DS18B20初始化、讀、寫程序,LCD顯示程序,報警程序等,附錄給出了部分程序及代碼。測試通過,因此系統(tǒng)設計已初步成功,可以滿足基本的數(shù)據(jù)采集要求。在設計實驗的過程中,通過采用先分塊設計,在整體調試的方法,實現(xiàn)各個擊破。由于系統(tǒng)的復雜性和硬件使用要求以及時間等各方面的制約,考慮到系統(tǒng)的實時性和運算能力,系統(tǒng)并沒有采用復雜的處理算法和控制算法,一切以實用為主。對溫度控制算法還有待進一步的研究和改進。同時,在電路保護方面的設計有待進一步的研究和實踐。致謝本設計是在尊敬的劉卓夫老師的悉心指導和關懷幫助下完成的。因此,首先要對劉老師表示感謝。在這幾個月的學習生活中,劉老師嚴謹?shù)闹螌W態(tài)度、扎實的專業(yè)知識、對新知識及課題的熱情以及謙和的待人方式,對我產生了深遠的影響。劉老師對我嚴格要求,讓我明白要學會自己動手獨立做事及向別人討教的益處。劉老師為我提供了完備的硬件設施和技術資料,創(chuàng)造了良好的學習和工作環(huán)境,不僅使課題能順利完成,而且使我在學習過程中進一步加深了對知識的理解和靈活運用,在日后工作和學習中將受益終身。在此,再次向劉老師表示最衷心的感謝!同時我要感謝我的同學,特別是我的室友們,正是他們在這幾年里陪我一起成長,一起學習,才讓我有了今天的成績。他們在平時的學習和生活中他們給予了我無私的關懷和幫助,在此表示我最誠摯的謝意。參考文獻1 彭偉.單片機C語言程序設計實訓100例——基于8051+Proteus仿真.電子工業(yè)出版社.20092 余錫存..20033 張毅剛.單片機原理及應用[M].高等教育出版社.2004:1371564 金發(fā)慶等編..20025 王忠飛,胥芳.MCS51單片機原理及嵌入式系統(tǒng)應用[M].西安:西安電子科技大學出版社.2007:P2682736 胡壽松.自動控制原理.北京:國防工業(yè)出版社.2000:1031247 宏晶STC單片機官方網站.STC12系列單片機器件手冊.20118 何力民編.單片機高級教程.北京:北京航空大學出版社.20009 趙娜,趙剛,于珍珠等.基于51單片機的溫度測量系統(tǒng)[J] .微計算機信息.2007,12:14614810 金發(fā)慶等編.傳感器技術與應用[M] .北京機械工業(yè)出版社.200211 于勇等編.51單片機C語言常用模塊與綜合系統(tǒng)設計實例精講.電子工業(yè)出版社.2007:889712 周潤景等編.基于DS18B20的溫度測量模塊設計[M] .機械工業(yè)出版社.2004:113146附錄ADesign of the Temperature Control System Based on AT89S51ABSTRACT: The principle and functions of the temperature control system based on microcontroller AT89S51 are studied, and the temperature measurement unit consists of the 1Wire bus digital temperature sensor DS18B20. The system can be expected to detect the preset temperature, display time and save monitoring data. An alarm will be given by system if the temperature exceeds the upper and lower limit value of the temperature which can be set discretionarily and then automatic control is achieved, thus the temperature is achieved monitoring intelligently within a certain range. Basing on principle of the system, it is easy to make a variety of other nonlinear control systems so long as the software design is reasonably changed. The system has been proved to be accurate, reliable and satisfied through field practice.KEYWORDS: AT89S51。 microcontroller。 DS18B20。 temperatureⅠ.INTRODUCTIONTemperature is a very important parameter in human life. In the modern society, temperature control (TC) is not only used in industrial production, but also widely used in other fields. With the improvement of the life quality, we can find the TC appliance in hotels, factories and home as well. And the trend that TC will better serve the whole society, so it is of great significance to measure and control the temperature.Based on the AT89S51 and temperature sensor DS18B20, this system controls the condition temperature intelligently. The temperature can be set discretionarily within a certain range. The system can show the time on LCD, and save monitoring data。 and automatically control the temperature when the condition temperature exceeds the upper and lower limit value. By doing so it is to keep the temperature unchanged. The system is of high antijamming, high control precision and flexible design。 it also fits the rugged environment. It is mainly used in people39。s life to improve the quality of the work and life. It is also versatile, so that it can be convenient to extend the use of the system. So the design is of profound importance. The general design, hardware design and software design of the system are covered.Ⅱ.SYSTEM GENERAL DESIGNThe hardware block diagram of the TC is shown in Fig. 1. The system hardware includes the microcontroller, temperature detection circuit, keyboard control circuit, clock circuit, Display, alarm, drive circuit and external RAM. Based on the AT89S51, the DS18B20 will transfer the temperature signal detected to digital signal. And the signal is sent to the microcontroller for processing.