




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 摘 要近年來單片機發展十分迅速,單片機的應用已經滲透到各個行業。而溫度的測量及控制變得越來越重要,溫度的控制在各個領域都有積極的意義。傳統的溫度采集方法不僅費時費力,而且精度差,單片機的出現使得溫度的采集和數據處理問題能夠得到很好的解決。所以采用單片機對溫度進行控制不僅具有控制方便、簡單、靈活性大等特點,而且還可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量。本設計是基于AT89C51單片機的恒溫箱控制系統,系統分為硬件和軟件兩部分,其中硬件包括:溫度傳感器、顯示、控制和報警的設計;軟件包括:顯示程序設計、控制程序設計和溫度報警程序設計。編寫程序結合硬件進行調試,能夠實現設置和調
2、節初始溫度值,進行顯示屏顯示,當加熱到設定值后立刻報警。本設計從實際應用出發選取了體積小、精度相對高的數字式溫度傳感元件DS18B20作為溫度采集器,單片機AT89C51作為主控芯片,LCD1602作為顯示輸出,并且其中包含了PID算法,實現了對溫度的實時測量與恒定控制。關鍵詞:單片機;恒溫;控制;報警;PIDAbstract In recent years, microcontroller is developed very rapid,microcontroller applications have penetrated into various industries.And the m
3、easurement and control of temperature becomes more and more important, the temperature control has a positive significance in various fields.The traditional method of temperature acquisition is not only time-consuming and laborious, but poor accuracy,the emergence of microcontroller makes the proble
4、m of data acquisition and processing temperature can get very good settlement.So using microcontroller to control temperature is not only easy to control, simple, flexibility and other characteristics, but also can greatly improve the temperature which was charged with technical indicators, which ca
5、n greatly improve the quality of the product. Thermostatic control play a decisive role in the process of industrial production, temperature control directly affects the yield and quality of industrial production.This design is the constant temperature box control system based on AT89C51 microcontro
6、ller, the system is divided into two parts of hardware and software,the hardware includes:temperature sensor,display,control and alarm design;software includes:a display program design, programdesign and temperature alarm program design. Write a program combining hardware debugging,can realize the s
7、etting and adjusting the initial temperature, for display, alarm immediately when heated to the set value.The design from practical application selected small,relatively high accuracy digital temperature sensor DS18B20 as the temperature logger,AT89C51 microcontroller as the master chip, LCD1602 as
8、display output,and also contains the PID algorithm,realize the real-time measurement of temperature and constant control. Keywords:microcontroller;thermostat; control;alarm;PID 目 錄第1章 緒論11.1 課題背景11.2 課題意義11.3 課題內容21.4 恒溫箱的發展與趨勢21.5 本文結構安排3第2章 系統概述42.1 設計思路分析42.2 系統需求分析42.3 方案選擇52.4 恒溫箱的工作過程62.5 本章小結
9、6第3章 系統硬件設計73.1 硬件電路設計概述73.2 系統功能介紹83.3 時鐘頻率電路設計83.4 顯示電路的設計93.5 開關鍵盤設計113.6 溫度報警電路設計123.7 溫度采集電路133.8 本章小結19第4章 系統軟件設計204.1 軟件任務分析204.2 程序流程圖204.3 系統控制算法244.4 參數整定264.5 本章小結27結 論28參考文獻29致 謝30附 錄31第1章 緒論1.1 課題背景 二十一世紀是科技高速發展的信息時代,電子技術、微型單片機技術的應用更是空前廣泛,是隨著超大規模集成電路技術的發展而誕生的。由于它具有體積小、功能強、性價比高等特點,所以廣泛應用
10、于電子儀表、家用電器、節能裝置、軍事裝置、機器人、工業控制等諸多領域,使產品小型化。智能化,既提高了產品的功能和質量,又降低了成本,簡化了設計。它迅猛的發展到了各個領域,人們也越來越感到應用單片機技術的優越性,因而單片機也得到了廣泛的應用。同時,它也不斷地完善和發展。 智能恒溫箱的溫度是醫療、工業生產和食品加工等領域的關鍵,因此對溫度的測量及控制始終占據著重要的地位。市場上常見的溫度傳感器以電壓輸出為主要形式,不同的的傳感器其非線性曲線也各不相同,缺乏一個產品應具備的通用性和互換性。溫度傳感器應用范圍很廣、使用數量很大,但是在常規的環境參數中由于溫度受其它因素影響較大,而且難以校準,因此,溫度
11、也是最難準確測量的一個參數。常規方法測量溫度誤差大、準確度低、測量滯后的時間長。 傳統的溫度檢測大多以熱敏電阻為溫度傳感器,但熱敏電阻的可靠性差、測量溫度準確率低,而且必須經過專門的接口電路轉換成數字信號后才能由單片機進行處理。隨著微電子技術的發展,單片微處理器功能日益增強,價格低廉,在各方面得到廣泛應用。在溫度控制器中應用單片機,具有設計簡單、可靠性高、控制精度高,功能易擴展,有較強的通用性等優點。溫度控制器主要實現對恒溫箱溫度的控制,并滿足不同用戶的個性需求。因此一個較完善的控制器應具有以下功能:溫度的測量與顯示;用戶設定功能(如溫度設定,定時設定等);對電加熱管的控制功能;一些功能鍵(如
12、定時自動加熱,恒溫控制,手動加熱等);安全措施(漏電檢測,安全失效保護,限溫保護等)。1.2 課題意義 溫度控制是工業生產過程中經常遇到的過程控制,特別是在冶金、化工、建材、食品、機械、石油等工業中,具有舉足重輕的作用,其溫度的控制效果直接影響著產品的質量,因而設計一種較為理想的溫度控制系統是非常有價值的。對于不同場所、不同工藝、所需溫度高低范圍不同、精度不同,則采用的測溫元件、測溫方法以及對溫度的控制方法也將不同;產品工藝不同、控制溫度的精度不同、時效不同,則對數據采集的精度和采用的控制算法也不同。因而,對溫度的測控方法多種多樣。隨著電子技術和微型計算機的迅速發展,微機測量和控制技術也得到了
13、迅速的發展和廣泛的應用。利用微機對溫度進行測控的技術,也便隨之而生,并得到日益發展和完善,越來越顯示出其優越性。 單片機已經在測控中獲得了廣泛的應用,它除了可以測量電信號以外,還可以用于溫度、濕度等非電信號的測量,能獨立工作的單片機溫度檢測、溫度控制系統已經廣泛應用到很多領域。1.3 課題內容 本設計采用數字溫度傳感器DS18B20,其內部集成了A/D轉換器,使得電路結構更加簡單,而且減少了溫度測量轉換時的精度損失,使得測量溫度更加精確。數字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小型化,更加可以通過單跳
14、數據線就可以和主電路連接,故可以把數字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實用性,更能串接多個數字溫度傳感器DS18B20進行多范圍的溫度檢測。由于單片機功能強大,可大大加快系統的開發與調試速度,并具有控制方便、簡單、靈活等特點,因此本設計采用單片機為主控制器,通過數字傳感器測得箱內溫度,再將溫度信號送入主控制器,來完成恒溫箱的溫度控制。箱內溫度可保持在設定的溫度范圍內,當設置的溫度低于實時溫度時,單片機送出加熱信號;當設置的溫度高于實時溫度時,單片機送出停止信號。1.4 恒溫箱的發展與趨勢 溫度控制技術在現代信息技術中是三大基礎之一。恒溫箱不管是在生活上,還是在工業上都
15、有著巨大的經濟效益。恒溫箱自動控制系統在國內外都到研究與發展。恒溫箱的控制系統從開始的由人工調節達到需要的溫度及控制,到現在發展到采用單片機的自動控制其溫度。恒溫箱最基礎的器件是由溫度檢測系統,模數轉換系統,單片機為核心,溫度顯示的組成。溫度檢測系統一般使用溫度傳感器。溫度傳感器從1821年由德國物理學家賽貝發明后到熱電偶傳感器。在德國西門子發明了鉑電阻,后在半導體技術的支持下相繼開發了半導體熱電偶傳感器、PN結溫度傳感器和集成溫度傳感器。20世紀90年代時又發明了智能溫度傳感器。這樣可控制的溫度范圍有所加大,溫度控制的精度也逐步提高。模數轉換器是現實中各種模擬信號通向數字化數字世界的橋梁。A
16、DC模數轉換器有8位,12,14,16,24位等。ADC的位數越高分辨率也越高,位數越高,精度也越高。現在工業需要高精度的電器也越來越多。對不同的產品要求的精度不一樣,對ADC的選擇也不一樣。單片機是一種集成電路的芯片。從1976年起是單片機的開始階段到1978年的單片機的完善階段。到了1982年后到1990年,8位的單片機得到鞏固發展,以及16位單片機推出。從1990到現在微控制器的全面發展階段。所以單片機深入了各個領域的發展與應用。因此產品越來越智能化多樣化。顯示一般有數碼管和液晶顯示。 國內恒溫箱的現狀多為傳統式電子產品,而國外溫度控制技術發展較為成熟。溫度傳感器采用熱敏電阻或熱電阻,部
17、分產品溫度設定和電熱絲開關通過觸摸鍵和液晶顯示屏實現人機交互界面,電熱絲開關切換自動完成,運算放大電路和開關電路實現雙位調節。這類智能恒溫箱產品改善了人機交互界面,解決了“溫度設定分度值過粗”等問題,但仍存在“控制精度不高”、“時間常數大”、“操作較復雜”等問題。近年來,溫度控制器正朝著高精度、多功能、總線標準化、高可靠性及安全性、開發虛擬溫度控制器和網絡溫度控制器、研制單片測溫控溫系統等高科技的方向迅速發展。以當今控制技術的發展智能控制溫控器將會很快取代傳統式電子產品。1.5 本文結構安排第1章 :緒論。簡要介紹了智能恒溫箱的發展現狀,說明了課題研究的內容。第2章 :恒溫箱的概述。說明了恒溫
18、箱的工作過程和主要功能,介紹了設計中需要用的單片機的基礎知識。第3章 :恒溫箱的硬件電路設計。詳細描述了本課題各個組成電路單元的設計。第4章 :恒溫箱的軟件設計。編寫程序。第2章 系統概述單片機已經在測控中獲得了廣泛的應用,它除了可以測量電信號以外,還可以用于溫度、濕度等非電信號的測量,能獨立工作的單片機溫度檢測、溫度控制系統已經廣泛應用到很多領域。單片機的接口信號是數字電信號,要想用單片機獲取溫度這類非電信號的信息,毫無疑問,必須使用溫度傳感器。溫度傳感器的作用是將溫度信息轉換為電流或電壓輸出,如果轉換后的電流或電壓輸出是模擬信號,那么還必須進行A/D轉換,以滿足單片機接口的需要。隨著微電子
19、技術的發展,單片微處理器功能日益增強,價格低廉,在各方面得到廣泛應用。在溫度控制器中應用單片機,具有設計簡單、可靠性高、控制精度高,功能易擴展,有較強的通用性等優點。溫度控制器主要實現對恒溫箱溫度的控制,并滿足不同用戶的個性需求。因此一個較完善的控制器應具有以下功能: 溫度的測量與顯示;溫度設定功能;對燈泡的控制功能;安全措施等。本文將采用一種數字溫度傳感器DS18B20來實現基于51單片機的恒溫箱控制系統設計。整個控制系統分為硬件電路設計和軟件程序設計兩部分。2.1 設計思路分析 設計51單片機的恒溫箱控制系統設計時,需要考慮下面4個方面的內容: (1)選擇合適的溫度傳感器芯片。顯然,本文中
20、的核心器件是單片機和溫度傳感器,單片機采用常用的51單片機即可,而溫度傳感器的選擇則需慎重。 (2)單片機和溫度傳感器的接口電路設計。 (3)控制溫度傳感器實現溫度信息采集以及數據傳輸的軟件設計。 (4)程序設計中運用PID算法保證精確控制。2.2 系統需求分析 (1)在使用中可以將采集來的溫度數據計算轉換為我們熟悉的攝氏溫度。 (2)在0125的范圍內,人們可以自由調節預期達到的溫度。(3)將設定的預期溫度和實時溫度能顯示出來。(4)可以將實時溫度與設定溫度進行比對,以調節溫度。2.3 方案選擇2.3.1溫度傳感器選擇方案一:采用熱敏電阻,可滿足4090的測量范圍,但熱敏電阻精度、重復性、可
21、靠性都比較差,其測量溫度范圍相對較小,穩定性較差,不能滿足本系統溫度控制的范圍要求。方案二:采用溫度傳感器鉑電阻 Pt1000。鉑熱電阻的物理化學性能在高溫和氧化性介質中很穩定,它能用作工業測溫元件,且此元件線性較好。在 0100 攝氏度時,最大非線性偏差小于 0.5 攝氏度。鉑熱電阻與溫度關系是,Rt = R0(1+At+Bt*t) ;其中 Rt 是溫度為 t 攝氏度時的電阻;R0 是溫度為 0 攝氏度時的電阻;t 為任意溫度值,A,B 為溫度系數。方案三:采用模擬溫度傳感器AD590K,AD590K具有較高精度和重復性(重復性優于0.1),其良好的非線性可以保證優于0.1的測量精度。但其測
22、量的值需要經過運算放大、模數轉換再傳給單片機,硬件電路較復雜,調試也會相對困難,所以本系統不宜采用此法。方案四:采用數字溫度傳感器DS18B20,DS18B20提供九位溫度讀數,測量范圍-55125,采用獨特1-WIRE 總線協議,只需一根口線即實現與MCU 的雙向通訊,具有連接簡單,高精度,高可靠性等特點。并且DS18B20支持一主多從。若想實現多點測溫,可方便擴展。綜合以上四種方案,本設計采用第四種方案,利用數字溫度計DS18B20作為溫度傳感器。2.3.2 顯示部件選擇方案一:采用I/O口直接驅動,需要占用大量可貴的I/O口資源,且系統運行后,更換元件不易,不符合系統設計的可靠性、易擴展
23、性原則。方案二:采用串行口驅動、靜態顯示,利用單片機的串行口輸出數據,顯示多位數碼,可節省大量的I/O口,但每個數碼管必須有一個驅動芯片,且每位段碼須接一個限流電阻,所須元件多,硬件電路比較復雜。方案三:采用串行口驅動、動態掃描顯示,利用單片機的串行口輸出數據,顯示多位數碼,多個數碼管可共用驅動芯片和限流電阻。這樣既可以簡化硬件電路,又可以節省大量的I/O口線,為功能擴展留下空間。綜合以上三種方案,本設計采用方案三:串行口驅動、動態顯示。根據系統具體指標要求,可以對每一個具體部分進行分析設計。2.4 恒溫箱的工作過程 (1)設定預期溫度。調節預期的溫度,如果想加一攝氏度就按下“加”鍵,如果想減
24、一攝氏度就按一下“減”鍵,溫度LCD顯示屏上會顯示改變后的溫度,調整范圍為0125。 (2)溫度采集和計算。單片機通過與溫度傳感器進行通信,獲取實時溫度信息,并將所獲取的溫度信息數據轉化為攝氏溫度的形式存儲起來。(3)溫度比較和溫度調節。將存儲的實時攝氏溫度與設定的預期溫度經行比較。如果實時溫度高于設定溫度,則熄滅燈泡;如果實時溫度低于設定溫度,則開啟燈泡。(4)設定溫度顯示。LCD顯示屏上“Set”后為存儲的設定溫度。 (5)實時溫度顯示。LCD顯示屏上“Now”后為存儲的實時溫度。 總而言之,本課題利用89C51單片機及外圍接口實現的溫度控制系統設計了恒溫箱,該恒溫箱提高了系統的可靠性,簡
25、化了電路結構,節約了成本,是一個實用的設計工程。2.5 本章小結 本章主要講述了恒溫箱主要部件的選擇及其工作原理。在說明工作原理的過程中,突出了電路的組成單元以及這些單元如何實現溫度采集和溫度控制等功能。 第3章 系統硬件設計3.1 硬件電路設計概述 本設計分為硬件設計和軟件設計,這兩者相互結合,不可分離:從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術準備充分,硬件設計的大量返工是比較少的,軟件設計的任務是貫徹始終的,到中后期基本上都是軟件設計任務,隨著集成電路計數器的飛速發展,各種功能很強的芯片不斷出現,使硬件電路的集成度越來越高,硬件設計的工作量在整個
26、項目中所占的比重逐漸下降,為使硬件電路設計盡可能合理,應注意以下幾個方面: (1)盡可能采用功能強的芯片,以簡化電路。功能強的芯片可以代替若干個普通芯片,隨著生產工藝的提高,新型芯片的價格在不斷下降,并不一定比若干個普通芯片價格總和高。 (2)留有設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。 (3)程序空間。選用片內程序空間足夠大的單片機,本設計采用80C51單片機。 (4)RAM空間,80C51單片機內部RAM不多,當要增強軟件數據處理功能時,往往覺得不足。如果系統配置了外部RAM
27、,則建議多留一些空間。如果選用8155作I/O接口,就可以增強256字節RAM。如果有大批數據需要處理,則應配置足夠的RAM,如6264、62256等。隨著軟件設計水平提高,往往只要改變或者增加軟件中的數據處理算法,就可以使系統功能提高很多,而系統的硬件不必做任何更換就使系統升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統將來升級留有足夠的RAM空間。I/O端口,在樣機研制出來后進行現場試用時,往往會發現一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如果有些新的信號需要采集,就必須增加輸入檢測端:有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些I/O端
28、口,雖然當時空著沒用,那么要用的時候就能派上用場了。3.2 系統功能介紹 根據恒溫箱控制器的功能要求,并結合對51系列單片機的資源分析,即單片機軟件編程自由度大,可用編程實現各種控制算法和邏輯控制。所以采用AT89C51作為電路系統的控制核心。恒溫箱控制器的總體布局如圖3-1所示。按鍵將設置好的溫度值傳給單片機,通過溫度顯示模塊顯示出來。初始溫度設置好后,單片機開啟輸出控制模塊,使燈泡開始加熱,同時將從數字溫度傳感器DS18B20測量到的溫度值實時的顯示出來,當加熱到設定溫度值時,單片機控制聲光報警模塊,發出聲光報警,同時發出信號關閉燈泡。當自然冷卻到設定溫度以下時,單片機再次啟動加熱器,如此
29、循環反復,以達到恒溫控制的目的。系統結構框圖如圖3-1所示。溫度采集輸出控制聲光報警按鍵控制溫度顯示微控制器圖3-1 系統結構框圖 本系統是采用模塊化設計的智能恒溫箱,在生活中有廣泛的應用,系統上電后默認設定的恒溫溫度為30,使用時可以自行調節預期的恒溫溫度,調節范圍為0125。調節好后系統會將采集來的實時溫度與設定的預期溫度進行比較,如果實時溫度比設定溫度高就關閉加熱設備,如果實時溫度比預期溫度低就開啟加熱設備。3.3 時鐘頻率電路設計 單片機必須在時鐘的驅動下才能工作,在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定周期的時鐘信號送到單片機內部的各個單元,決定單片的工作頻率
30、,時鐘電路如圖3-2所示。圖3-2 時鐘電路 一般選用石英晶體振蕩器。此電路大約延遲10ms后振蕩器起振,在XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要有石英晶體的頻率確定。電路中兩個電容C3、C4的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C3、C4的典型值為22pF。單片機工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期,其大小是時鐘信號頻率的倒數,時鐘信號頻率常用fosc表示。3.4 顯示電路的設計3.4.1 顯示電路概述顯示功能與硬件關系極大,在這里我們使用的是LCD顯示屏顯示,通常在顯示上我們采用的方法一般
31、包括兩種:一種是靜態顯示,一種是動態掃描。其中靜態顯示的特點是顯示穩定不閃爍,程序編寫簡單,但占用端口資源多;動態掃描的特點是顯示穩定程度沒有靜態顯示好,程序編寫復雜,但是相對靜態顯示而言最大的優點是占用端口資源少。由于本設計需要較多的端口用于其它的功能因此采用占用端口少的動態掃描顯示的辦法。以下將對顯示電路的各個部件及整體設計做詳細的介紹。3.4.2 LCD顯示屏工業字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個
32、字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。1602LCD是指顯示的內容為16x2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。本次設計所用的LCD顯示屏的引腳如圖3-3所示。圖3-3 LCD顯示屏引腳圖 1602采用標準的16腳接口,其中: 第1腳:GND為電源地; 第2腳:VCC接5V電源正極; 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數據寄存器、
33、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,電平(0)時進行寫操作。 第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執行指令。第714腳:D0D7為8位雙向數據端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負極。 1602LCD有以下特性:1) 3.3V或5V工作電壓,對比度可調;2) 內含復位電路;3) 提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;4) 有80字節顯示數據存儲器DDRAM;5) 內建有192個5x7點陣的字型的字符發生器CGROM;6) 8個可由用戶自定義的5x7的字符
34、發生器CGRAM。 特征應用:微功耗、體積小、顯示內容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應用系統中。3.4.3 顯示電路整體設計顯示電路如圖3-4所示:圖3-4 顯示電路圖中VEE接一外接電阻R4,VDD接電源,VSS接地,RS、RW、E分別接單片機的P1.0、P1.1、P1.2,而單片機的P0.0P0.7則接D0D7。3.5 開關鍵盤設計 按鍵開關為機械彈性開關,當按下鍵帽時,按鍵內的復位彈簧片被壓縮,動片觸電與靜片觸電相連,鍵盤的兩個引腳被接通;松手后,復位彈簧將動片彈開,使動片與靜片脫離接觸,鍵盤的兩個引腳被斷開。由于機械接觸點的彈性作用,一個按鍵從開始接上至接觸穩定要經過510m
35、s的抖動時間,在此期間,有抖動發生。按鍵抖動波形如圖3-5所示。 圖3-5 按鍵抖動電壓波形 按鍵開關輸入需要解決的兩個主要問題是判斷是否有按鍵按下和消除按鍵抖動的影響。按鍵的確認反映在電壓上,就是和按鍵相連的引腳呈現出高電平還是低電平。消除按鍵的抖動通常有硬件、軟件兩種消除方法。一般在按鍵較多時,采用軟件的方法消除抖動,即在第一次檢測到有按鍵按下時,執行一段延時1215ms的子程序后,再確認該鍵電平是否任保持為閉合狀態電平,如果保持為閉合狀態電平就可以確認真有按鍵按下,從而消除抖動的影響。 一般電子裝置中都設計有按鍵輸入,用以控制程序執行時數據的輸入或是特殊功能的設置及操作。在控制電路中,如
36、果按鍵數不多時可以使用一個按鍵對應一條輸入位線控制,即獨立式按鍵。這種接法,一根輸入線上的按鍵是否被按下,不會影響其他輸入線上的工作狀態。因此,通過檢測輸入線的電平狀態就可以很容易判斷哪個鍵按下了。獨立式按鍵可以用單穩態鎖存器消除抖動。如果監控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。按鍵電路如圖3-6所示。圖3-6 按鍵電路3.6 溫度報警電路設計報警電路如圖3-7所示,該電路采用一個小功率三極管Q2驅動蜂鳴器SPEAKE
37、R,當單片機接收到超額溫度信號或危險信號時,輸出腳SPEAKER輸出高點平,Q2導通,致使蜂鳴器SPEAKER得電工作,發出報警聲。同時,電路中的發光二極管指示出電路的工作狀態。圖3-7 溫度報警電路3.7 溫度采集電路3.7.1 DS18B20測溫電路 DS18B20數字溫度計是Dallas公司生產的1Wire器件,即單總線器件。與傳統的熱敏電阻有所不同,DS18B20可直接將被測溫度轉化成串行數字信號,以供單片機處理,具有連線簡單、微型化、低功耗、高性能、抗干擾能力強、精度高等特點。因此用它來組成一個測溫系統,具有電路簡單,在一根通信線上可以掛很多這樣的數字溫度計,十分方便。目前已被眾多行
38、業進行廣泛的運用(鍋爐、溫控表糧庫、冷庫、工業現場溫度監控、儀器儀表溫度監控、農業大棚溫度監控等)。 通過編程,DS18B20可以實現912位的溫度讀數。信息經過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號線和地線。讀、寫和執行溫度變換所需的電源可以由數據線本身提供,而不需要外部電源。 每片DS18B20在出廠時都設有唯一的產品序列號,因此多個DS18B20可以掛接于同一條單線總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構成多點溫度測控系統。3.7.2DS18B20的特點介紹(1) 獨特的單線接口方式,與單片機通信只需一個引腳,D
39、S18B20與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數據線供電,電壓范圍:+3.0+5.5 V。 (4)測溫范圍為-55 +125 。在-10+85范圍內誤差為0.5 。 (5)通過編程可實現912位的數字讀數方式。 (6)用戶可自設定非易失性的報警上下限值。 (7)支持多點組網功能,通過識別芯片各自唯一的產品序列號從而實現單線多掛接,多個DS18B20可以并聯在唯一的線上,簡化了分布式溫度檢測的應用,實現多點測溫。 (8)負壓特性,電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作。 (9)告警尋找命令可以
40、識別和尋址那些溫度超出預設告警界限的器件。3.7.3單線(1-wire)技術 目前常用的微機和外設之間數據傳輸的串行總線有I2C總線、SPI總線等,其中,I2C總線采用同步串行兩線(一根時鐘線、一根數據線)方式,而SPI總線采用同步串行三線(一根時鐘線、一根輸入線和一根數據出線)方式。這兩種總線需要至少兩根或兩根以上的信號線。美國達拉斯半導體公司推出了一項特有的單線(1-wire)技術。該技術與上述總線不同,它采用單根信號線,即可傳輸時鐘,又能傳輸數據,而且數據傳輸是雙向的,因而這種單線技術具有線路簡單、硬件開銷少、成本低廉、便于擴展的優點。單線技術適用于單主機系統,單主機能夠控制一個或多個從
41、機設備。主機可以是微控制器,從機可以是單線器件,它們之間的數據交換、控制都由這根線完成。主機或從機通過一個漏極開路或三態端口連至數據線,以允許設備在不發送數據時能夠釋放該線,而讓其他設備使用。單線通常要外接一個約5K的上拉電阻,這樣,當該線閑置時,其狀態為高電平。主機和從機之間的通信主要分3個步驟:初始化單線器件、識別單線器件和單線數據傳輸。由于只有一根線通信,所以它們必須是嚴格的主從結構,只有主機呼叫從機時,從機才能應答,主機訪問每個單線器件必須嚴格遵循單線命令序列,即遵守上述3個步驟的順序。如果命令序列混亂,單線器件將不會響應主機。所有的單線器件都要遵循嚴格的協議,以保證數據的完整性。1-
42、wire協議由復位脈沖、應答脈沖、寫0、寫1、讀0和讀1這幾種信號類型組成。這些信號中,除了應答脈沖,其他均由主機發起,并且所有命令和數據都是字節的地位在前。3.7.4DS18B20的引腳及功能介紹 DS18B20的外形及TO-92封裝引腳排列見圖3-8,其引腳功能描述見表3-1。圖3-8 DS18B20表3-1 DS18B20引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數據輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。3.7.5 DS18B20在電路中的連接 1-wire總線支持一主多從
43、式結構,當一方完成數據通信需要釋放總線時,只需將總線置高點平即可;若需要獲得總線進行通信時則要監視總線是否空閑,若空閑,則置低電平獲得總線控制權。 溫度采集電路如圖3-9所示:圖3-9 溫度采集電路 圖中U2為溫度采集電路的核心部件,溫度傳感器DS18B20。下面將詳細介紹它的參數和用法。 DS18B20內部的低溫度系數振蕩器是一個振蕩頻率隨溫度變化很小的振蕩器,為計數器1提供一頻率穩定的計數脈沖。 高溫度系數振蕩器是一個振蕩頻率對溫度很敏感的振蕩器,為計數器2提供一個頻率隨溫度變化的計數脈沖。 初始時,溫度寄存器被預置成-55,每當計數器1從預置數開始減計數到0時,溫度寄存器中寄存的溫度值就
44、增加1,這個過程重復進行,直到計數器2計數到0時便停止。 初始時,計數器1預置的是與-55相對應的一個預置值。以后計數器1每一個循環的預置數都由斜率累加器提供。為了補償振蕩器溫度特性的非線性性,斜率累加器提供的預置數也隨溫度相應變化。計數器1的預置數也就是在給定溫度處使溫度寄存器寄存值增加1計數器所需要的計數個數。 DS18B20內部的比較器以四舍五入的量化方式確定溫度寄存器的最低有效位。在計數器2停止計數后,比較器將計數器1中的計數剩余值轉換為溫度值后與0.25進行比較,若低于0.25,溫度寄存器的最低位就置0;若高于0.25,最低位就置1;若高于0.75時,溫度寄存器的最低位就進位然后置0
45、。這樣,經過比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最后位代表0.5,四舍五入最大量化誤差為1/2LSB,即0.25。 溫度寄存器中的溫度值以9位數據格式表示,最高位為符號位,其余8位以二進制補碼形式表示溫度值。測溫結束時,這9位數據轉存到暫存存儲器的前兩個字節中,符號位占用第一字節,8位溫度數據占據第二字節。 DS18B20測量溫度時使用特有的溫度測量技術。DS18B20內部的低溫度系數振蕩器能產生穩定的頻率信號;同樣的,高溫度系數振蕩器則將被測溫度轉換成頻率信號。當計數門打開時,DS18B20進行計數,計數門開通時間由高溫度系數振蕩器決定。芯片內部還有斜率累加器,可對頻率的非線
46、性度加以補償。測量結果存入溫度寄存器中。一般情況下的溫度值應該為9位,但因符號位擴展成高8位,所以最后以16位補碼形式讀出。 DS18B20工作過程一般遵循以下協議:初始化ROM操作命令存儲器操作命令處理數據(1)初始化單總線上的所有處理均從初始化序列開始。初始化序列包括總線主機發出一復位脈沖,接著由從屬器件送出存在脈沖。存在脈沖讓總線控制器知道DS1820 在總線上且已準備好操作。(2)ROM操作命令一旦總線主機檢測到從屬器件的存在,它便可以發出器件ROM操作命令之一。所有ROM操作命令均為8位長。這些命令列表如下:Read ROM(讀ROM)33H此命令允許總線主機讀DS18B20的8位產
47、品系列編碼,唯一的48位序列號,以及8位的CRC。此命令只能在總線上僅有一個DS18B20的情況下可以使用。如果總線上存在多于一個的從屬器件,那么當所有從片企圖同時發送時將發生數據沖突的現象(漏極開路會產生線與的結果)。Match ROM( 符合ROM)55H此命令后繼以64位的ROM數據序列,允許總線主機對多點總線上特定的DS18B20尋址。只有與64位ROM序列嚴格相符的DS18B20才能對后繼的存貯器操作命令作出響應。所有與64位ROM序列不符的從片將等待復位脈沖。此命令在總線上有單個或多個器件的情況下均可使用。Skip ROM( 跳過ROM )CCH在單點總線系統中,此命令通過允許總線
48、主機不提供64位ROM編碼而訪問存儲器操作來節省時間。如果在總線上存在多于一個的從屬器件而且在Skip ROM命令之后發出讀命令,那么由于多個從片同時發送數據,會在總線上發生數據沖突(漏極開路下拉會產生線與的效果)。Search ROM( 搜索ROM)F0H當系統開始工作時,總線主機可能不知道單線總線上的器件個數或者不知道其64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。Alarm Search(告警搜索)ECH此命令的流程與搜索ROM命令相同。但是,僅在最近一次溫度測量出現告警的情況下,DS18B20才對此命令作出響應。告警的條件定義為溫度高于TH 或
49、低于TL。只要DS18B20一上電,告警條件就保持在設置狀態,直到另一次溫度測量顯示出非告警值或者改變TH或TL的設置,使得測量值再一次位于允許的范圍之內。貯存在EEPROM內的觸發器值用于告警。(3)存儲器操作命令Write Scratchpad(寫暫存存儲器)4EH這個命令向DS18B20的暫存器中寫入數據,開始位置在地址2。接下來寫入的兩個字節將被存到暫存器中的地址位置2和3。可以在任何時刻發出復位命令來中止寫入。 Read Scratchpad(讀暫存存儲器)BEH 這個命令讀取暫存器的內容。讀取將從字節0開始,一直進行下去,直到第9(字節8,CRC)字節讀完。如果不想讀完所有字節,控
50、制器可以在任何時間發出復位命令來中止讀取。Copy Scratchpad(復制暫存存儲器)48H這條命令把暫存器的內容拷貝到DS18B20的E2存儲器里,即把溫度報警觸發字節存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發出讀時間隙,而DS18B20又正在忙于把暫存器拷貝到E2存儲器,DS18B20就會輸出一個“0”,如果拷貝結束的話,DS18B20 則輸出“1”。如果使用寄生電源,總線控制器必須在這條命令發出后立即起動強上拉并最少保持10ms。Convert T(溫度變換)44H這條命令啟動一次溫度轉換而無需其他數據。溫度轉換命令被執行,而后DS18B20保持等待狀態。如果總線控制器
51、在這條命令之后跟著發出讀時間隙,而DS18B20又忙于做時間轉換的話,DS18B20將在總線上輸出“0”,若溫度轉換完成,則輸出“1”。如果使用寄生電源,總線控制器必須在發出這條命令后立即起動強上拉,并保持500ms。Recall E2(重新調整E2)B8H這條命令把貯存在E2中溫度觸發器的值重新調至暫存存儲器。這種重新調出的操作在對DS18B20上電時也自動發生,因此只要器件一上電,暫存存儲器內就有了有效的數據。在這條命令發出之后,對于所發出的第一個讀數據時間片,器件會輸出溫度轉換忙的標識:“0”=忙,“1”=準備就緒。Read Power Supply(讀電源)B4H對于在此命令發送至DS
52、18B20之后所發出的第一讀數據的時間片,器件都會給出其電源方式的信號:“0”=寄生電源供電,“1”=外部電源供電。(4)處理數據DS18B20的高速暫存存儲器由9個字節組成,其分配如表3-2所示。當溫度轉換命令發布后,經轉換所得的溫度值以二字節補碼形式存放在高速暫存存儲器的第0和第1個字節。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后。表3-2 DS18B20暫存器字節分配溫度/二進制表示十六進制表示符號位(5位)數據位(11位)+1250 0 0 0 01 1 1 1 1 0 1 0 0 0 007D0H+25.06250 0 0 0 00 0 1 1 0 0 1 0 0 0
53、10191H+10.1250 0 0 0 00 0 0 1 0 1 0 0 0 1 000A2H+0.50 0 0 0 00 0 0 0 0 0 0 1 0 0 00008H00 0 0 0 00 0 0 0 0 0 0 0 0 0 00000H-0.51 1 1 1 11 1 1 1 1 1 1 1 0 0 0FFF8H-10.1251 1 1 1 11 1 1 0 1 0 1 1 1 1 0FF5EH-25.6251 1 1 1 11 1 0 0 1 1 0 1 1 1 1FE6FH-551 1 1 1 11 0 0 1 0 0 1 0 0 0 0FC90H 上表是DS18B20溫度采集轉
54、化后得到的12位數據,存儲在DS18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于或等于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。溫度轉換計算方法舉例:例如當DS18B20采集到+125的實際溫度后,輸出為07D0H,則:實際溫度=07D0H0.0625=20000.0625=125.0。例如當DS18B20采集到-55的實際溫度后,輸出為FC90H,則應先將11位數據位取反加1得370H(符號位不變,也不作為計算),則:實際溫度=370H0.0625=8800.0625=55.0。3.8 本章小結本章詳細的講述了以AT89C51為核心元件的恒溫箱的硬件電路具體設計過程,分析了具體電路的工作原理。在設計過程中,實現溫度控制的是通過編寫程序的方法集成在89C51內部。接著將程序下載到硬件電路中,配合周邊的溫度采集電路,時鐘電路,溫度報警電路,顯示電路等,制作出符合設計要求的恒溫箱。第4章 系統軟件設計4.1 軟件任務分析軟件任務分析和硬件電路設計結合進行,哪些功能由硬件完成,哪些任務由軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設計質量提升管理制度
- 診所義診項目管理制度
- 診所日常器械管理制度
- 試驗檢修設備管理制度
- 財務管理稅務管理制度
- 財政往來資金管理制度
- 貨場出庫日常管理制度
- 貨物進出登記管理制度
- 貨運碼頭現場管理制度
- 2025年中國防窺膜行業市場全景分析及前景機遇研判報告
- 單病種質量管理實施方案
- 旅游保險產品講解
- Unit9SectionB2a-2e課件-人教版八年級英語下冊
- KRONES灌裝檢測工作原理及工藝參數調整
- SJG 01-2010 深圳市地基基礎勘察設計規范
- 裝修業務居間推廣合同
- 物業維修流程培訓
- 大學美育(同濟大學)學習通測試及答案
- 2024年中考模擬試卷數學(湖南卷)
- 醫院培訓課件:《便攜式血糖儀臨床操作和質量管理》
- 持續葡萄糖監測臨床應用專家共識2024解讀
評論
0/150
提交評論