基于單片機的溫度控制系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  題 目 基于單片機的溫度控制系統(tǒng)</p><p>  英文題目 Temperature control system based</p><p>  on single chip</p><p><b>  學(xué)生姓名: </b></p><p><b>  學(xué) 號: <

2、;/b></p><p><b>  專 業(yè):</b></p><p>  指導(dǎo)老師: 職稱 </p><p>  系 別: 機械與電子工程系 </p><p><b>  2012年5月1日</b></p><p><b>

3、;  摘 要</b></p><p>  溫度是日常生活中無時不在的物理量,溫度的控制在各個領(lǐng)域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機對它們進行控制不僅具有控制方便、簡單、靈活性大等特點,而且還可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用。</

4、p><p>  本溫度設(shè)計采用現(xiàn)在流行的AT89S51單片機,配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行設(shè)置溫度上下限。單片機將檢測到的溫度信號與輸入的溫度上、下限進行比較,由此作出判斷是否啟動繼電器以開啟設(shè)備。</p><p>  本設(shè)計還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個設(shè)計更加完整,更加靈活。</p><p>  關(guān)鍵字:單片機 溫度

5、控制 繼電器</p><p><b>  ABSTRACT</b></p><p>  The temperature is constantly in the daily life of physical and temperature controls in various fields have a positive meaning. A lot of busi

6、nesses have a lot of power heating equipment, such as that used for the heat treatment furnace, for melting metal crucible resistance heaters and the various uses of temperature bins, SCM using their right to control not

7、 only easy to control, simple, such as the characteristics of flexibility, but can also significantly increase the temperature was charged </p><p>  The temperature was designed with the now popular AT89S51

8、SCM, and with DS18B20 digital temperature sensor, The temperature sensor can set up their own temperature collars. SCM will detect that the temperature of the input signal and temperature, the lower comparisons this judg

9、ment whether to activate the relay to open the equipment. </p><p>  The design also includes commonly used digital display and control state lights commonly used circuit, making the whole design more complet

10、e, more flexible. </p><p>  Key words: Single chip microcomputer Temperature control SSR</p><p><b>  目 錄</b></p><p><b>  緒論1</b></p><p>  

11、1.1課題研究背景及意義1</p><p>  1.2測溫技術(shù)的發(fā)展與應(yīng)用1</p><p>  1.3 設(shè)計具體任務(wù)及要求2</p><p>  2. 溫度控制原理的總體設(shè)計3</p><p>  2.1 單片機芯片的選擇方案和論證3</p><p>  2.2 顯示模塊選擇方案和論證3</p>

12、;<p>  2.3 溫度傳感器設(shè)計的選擇方案和論證4</p><p>  2.4 控制按鍵的選擇4</p><p>  3. 系統(tǒng)硬件設(shè)計5</p><p>  4. 溫度控制系統(tǒng)軟件的設(shè)計8</p><p>  4.1軟件總體設(shè)計8</p><p>  4.1.1 系統(tǒng)軟件設(shè)計整體思路8&

13、lt;/p><p>  4.2系統(tǒng)程序流圖8</p><p>  4.2.1 主程序9</p><p>  4.2.2 溫度子程序10</p><p>  4.2.3 復(fù)位、應(yīng)答子程序11</p><p>  4.2.4 寫入子程序14</p><p>  4.2.5 系統(tǒng)總的流程圖16

14、</p><p>  5. 溫度控制系統(tǒng)調(diào)試與設(shè)計17</p><p>  5.1 溫度控制系統(tǒng)軟件調(diào)試17</p><p><b>  結(jié)論18</b></p><p><b>  致 謝19</b></p><p><b>  參考文獻20</

15、b></p><p><b>  附錄21</b></p><p>  附錄1溫度控制系統(tǒng)電路圖21</p><p><b>  附錄222</b></p><p><b>  緒論</b></p><p>  1.1課題研究背景及意義<

16、;/p><p>  隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p>  單片機在測控領(lǐng)域中具有十分廣泛的應(yīng)用,它既可以測量電信號,又可測量濕度、溫度等非

17、電信號。由單片機構(gòu)成的溫度檢測和溫度控制系統(tǒng)可廣泛應(yīng)用于很多領(lǐng)域。在傳統(tǒng)的模擬信號遠距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術(shù)問題,才能夠達到較高的測量精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都非常惡劣,各種干擾信號較強,模擬溫度信號容易受到干擾而產(chǎn)生測量誤差,影響測量精度。因此,在溫度測量系統(tǒng)中,采用抗干擾能力強的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳感器DS

18、18B20具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點,在實際應(yīng)用中取得了良好的測溫效果。</p><p>  本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。</p><p>  1.2測溫技術(shù)的發(fā)展與應(yīng)用</p><p>  近百年來,溫度

19、傳感器的發(fā)展大致經(jīng)歷了以下三個階段;(1)傳統(tǒng)的矩陣式溫度傳感器;(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。</p><p>  隨著科學(xué)技術(shù)日益迅速的發(fā)展,數(shù)字監(jiān)控系統(tǒng)已經(jīng)深入到生活的各個方面。溫度計作為測溫器件,不僅在日常生活中而且在工農(nóng)業(yè)(例如糧食儲藏)技術(shù)中應(yīng)用十分廣泛。但是常用的溫度計多為管式溫度計,不僅讀數(shù)

20、很不方便,還容易損壞。因此在DS18B20數(shù)字溫度傳感器技術(shù)的基礎(chǔ)上制作的數(shù)字溫度計,由于能夠數(shù)碼管直接顯示溫度,讀數(shù)方便快易,而且電路簡單、安全可靠而被大量應(yīng)用于溫檢和溫控系統(tǒng)中。DS18B20是DALLAS公司繼DS1820之后推出的增強型單線數(shù)字溫度傳感器。它在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較DS1820有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、

21、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。</p><p>  隨著電子器件的發(fā)展,控制電路的形式也多種多樣,無論是神經(jīng)網(wǎng)絡(luò),模糊控制還是遺傳算法,都屬于人工智能領(lǐng)域,同PID 結(jié)合以調(diào)節(jié)PID 參數(shù),可以適應(yīng)溫控系統(tǒng)非線性、干擾多、時延長、時變和分布變化的特點,可以實現(xiàn)溫控系統(tǒng)的參數(shù)自調(diào)整,將線性控制與非線性相結(jié)合, 從而達到更好的控制效果。</p><p>  1.3

22、 設(shè)計具體任務(wù)及要求</p><p>  (1)課題設(shè)計要求:</p><p>  1、溫度設(shè)定在40-900C,最小區(qū)分度為10C,標定溫差≤10C</p><p>  2、環(huán)境溫度降低(例如用電風扇降溫)溫度控制的靜態(tài)誤差≤10C</p><p>  3、用十進制數(shù)碼顯示水的實際溫度</p><p><b&g

23、t;  2)課題內(nèi)容:</b></p><p>  采用單片機AT89C51為核心。采用了溫度傳感器DS18B20采集溫度變化信號,并通過單片機處理后去控制溫度,使其達到穩(wěn)定。使用單片機具有編程靈活,控制簡單的優(yōu)點,使系統(tǒng)能簡單的實現(xiàn)溫度的控制及顯示,并且通過軟件編程能實現(xiàn)控制使系統(tǒng)還具有控制精度高的特點。</p><p>  2. 溫度控制原理的總體設(shè)計</p>

24、<p>  2.1 單片機芯片的選擇方案和論證</p><p>  方案一: 采用8031作為控制核心,以使用最為普遍的器件ADC0809作模數(shù)轉(zhuǎn)換,控制上使用對電阻絲加電使其升溫和開動風扇使其降溫。此方案簡易可行,器件的價格便宜,但8031內(nèi)部沒有程序存儲器,需要擴展,增加了電路的復(fù)雜性,且ADC0809是8位的模數(shù)轉(zhuǎn)換,不能滿足本題目的精度要求。</p><p>  方案二

25、:采用AT89C51單片機,AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集

26、和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  綜觀上述兩種方案的論證與比較,我們采用AT89C51作為主控模塊芯片。</p><p>  2.2 顯示模塊選擇方案和論證</p>&

27、lt;p>  方案一:采用LCD顯示器,LCD是液晶顯示屏的全稱,主要有TFT、UFB、TFD、STN等幾種類型的液晶顯示屏。電腦液晶顯示屏常用的是TFT。TFT屏幕是薄膜晶體管,是有源矩陣類型液晶顯示器,在其背部設(shè)置特殊光管,可以主動對屏幕上的各個獨立的像素進行控制,這也是所謂的主動矩陣TFT的來歷,這樣可以大的提高響應(yīng)時間,約為80毫秒,有效改善了STN(STN響應(yīng)時間為200毫秒)閃爍模糊的現(xiàn)象,有效的提高了播放動態(tài)畫面的能

28、力。和STN相比,TFT有出色的色彩飽和度,還原能力和更高的對比度,太陽下依然看的非常清楚,但是缺點是比較耗電,而且成本也較高。</p><p>  方案二:LED顯示器是單片機應(yīng)用系統(tǒng)中常見的輸出器件,而在單片機的應(yīng)用上也是被廣泛運用的。如果需要顯示的內(nèi)容只有數(shù)碼和某些字母,使用LED數(shù)碼管是一種較好的選擇。LED數(shù)碼管顯示清晰、成本低廉、配置靈活,與單片機接口簡單易行。體積更小,重量更輕、相對顯示面積更大、零

29、輻射,無閃爍、 功耗小,抗干擾能力強、畫面質(zhì)量更高。 使用功能更為智能化。</p><p>  經(jīng)過二種方案的比較,排除了前一種方案之后,最后選擇方案二:LED數(shù)碼管動態(tài)掃描顯示</p><p>  2.3 溫度傳感器設(shè)計的選擇方案和論證</p><p>  方案一:采用熱敏電阻,可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度,重復(fù)性,可靠性較差,對于檢測1攝

30、氏度的信號是不適合用的。而且使用熱敏電阻需要用到十分復(fù)雜的算法,一定程度增加了軟件實施的難度。</p><p>  方案二:采用溫度芯片DS18B20測量溫度,該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測量元件,且此元件線性較好。在0-100攝氏度時,最大線性偏差小于1攝氏度。該芯片直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。本制作的做大特點之一就是直接采用溫度芯片對溫度進行測量,使數(shù)據(jù)傳輸和處理簡單化。此傳感器

31、,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。</p><p>  綜觀上述兩種方案的論證與比較,我們采用溫度芯片DS18B20作為主控模塊芯片。</p><p>  2.4 控制按鍵的選擇</p><p>  方案一:矩陣式按鍵,將鍵值顯示在七節(jié)顯示器上的單片機源碼。把每個鍵都分成水平和垂直的兩端接入,比如說掃描碼是從垂直的入,那就代表那一行所接收

32、到的掃描碼是同一個bit,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,比對之后就可知道是哪個鍵被按下。</p><p>  比如說掃描碼送入01111111,前面的0111是代表掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)為VDD,若第一行的第三列按鍵被按下,那讀取的結(jié)果就會變成01111101(注意1111變成1101),其中LSB的第三個bit會由1變成0,這是因為這個

33、按鍵被按下之后,被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。由於這種按鍵是機械式的開關(guān),當按鍵被按下時,鍵會震動一小段時間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵,我們必須在偵測到有按鍵被按下,就Delay一小段時間,使鍵盤以達穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤的輸入穩(wěn)定。用來對溫度報警由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。</p><p&g

34、t;  方案二:獨立式按鍵,每個按鍵實現(xiàn)一個功能,易于控制且編寫程序簡單,容易理解,雖然會占用一定的單片機I/O口資源,但是題目中要求使用的按鍵要盡量少。</p><p>  通過以上兩種方案比較,采用方案一。</p><p><b>  3. 系統(tǒng)硬件設(shè)計</b></p><p>  系統(tǒng)硬件設(shè)計是進行系統(tǒng)設(shè)計的最重要、最關(guān)鍵的一步??傮w方案

35、的好壞,直接影響整個控制系統(tǒng)調(diào)節(jié)品質(zhì)及實施細則。硬件系統(tǒng)也是由不同模塊組成的,但各個模塊是協(xié)調(diào)工作的,例如顯示部分是系統(tǒng)和人類交互的窗口,沒有這部分A/D轉(zhuǎn)換精度再高控制效果再好,我們無法得知,所以每一部分都很重要。</p><p>  系統(tǒng)硬件設(shè)計分為主控模塊、測溫模塊、顯示與鍵盤模塊、繼電器控制模塊、時鐘與復(fù)位電路、報警電路六大塊組成如下圖3-1所示。</p><p>  圖 3-1溫

36、度測控系統(tǒng)硬件原理框圖</p><p> ?。?)DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。本設(shè)計采用電源供電方式, P1.1口接單線總線為保證在有效的DS18B20時鐘周期內(nèi)提供足

37、夠的電流,可用一個MOSFET管和89S51的P1.0來完成對總線的上拉。當DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10 μs。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:初始化:ROM操作指令;存儲器操作指令。</p><p>  (2)繼電器XIAL1

38、和XIAL2分別接28PF的電容,中間再并個12MHZ的晶振,形成單片機的晶振電路。</p><p> ?。?)LED數(shù)碼管顯示有動態(tài)顯示和靜態(tài)顯示兩種顯示驅(qū)動</p><p> ?。?)鍵盤是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,鍵盤的設(shè)置由應(yīng)用系統(tǒng)具</p><p>  體功能來決定。鍵盤可分為編碼式鍵盤和非編碼式鍵盤編碼鍵盤能夠由硬件自動提供與被按鍵對應(yīng)的編碼,

39、它需要采用較多的硬件,價格較貴。非編碼式鍵盤僅提供行和列組成的矩陣,其硬件邏輯與按鍵編碼不存在嚴格對應(yīng)關(guān)系,而要由軟件程序來確定。非編碼鍵盤的硬件接口簡單,但是要占用較多的CPU時間。鍵盤接口的這些任務(wù)可用軟件或硬件來完成,相應(yīng)地出現(xiàn)了兩大類鍵盤,即編碼鍵盤和非編碼鍵盤。由于本設(shè)計要實現(xiàn)的功能中只要求通過鍵盤來查看或調(diào)整預(yù)設(shè)的溫度報警值,要求較簡單,所以可采用最簡單的編碼鍵盤結(jié)構(gòu),即利用8051單片機I/O端口實現(xiàn)的獨立式鍵盤接口。&l

40、t;/p><p> ?。?)復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本設(shè)計采用按鍵電平復(fù)位,其中接低電平,允許使用外部存儲器。RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效。其有效時間應(yīng)持續(xù)24個振蕩脈沖周期(即兩個機器周期)以上。若使用頻率為6MHZ的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4微妙才能完成復(fù)位操作。整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送斯密特觸發(fā)器,再由片

41、內(nèi)復(fù)位電路在每個機器周期的S5P2時刻對斯密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。</p><p> ?。?)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable ReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機

42、。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p><b> ?。?)工作原理<

43、;/b></p><p>  溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機 AT89S51 獲取采集的溫度值,經(jīng)處理后得到當前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當前設(shè)定的溫度上下限值,通過加熱和降溫對當前溫度進行調(diào)整。當采集的溫度經(jīng)處理后超過設(shè)定溫度的上限時,單片機通過三極管驅(qū)動繼電器開啟降溫設(shè)備 (壓縮制冷器) ,當采集的溫度經(jīng)處理后低于設(shè)定溫度的下時 , 單片機通過三極管驅(qū)動繼電器開

44、啟升溫設(shè)備 (加熱器) 。當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。系統(tǒng)中將通過串口通訊連接PC機存儲溫度變化時的歷史數(shù)據(jù),以便觀察整個溫度的控制過程及監(jiān)控溫度的變化全過</p><p> ?。?)硬件電路圖見附錄1 </p><p>  4. 溫度控制系統(tǒng)軟件

45、的設(shè)計</p><p><b>  4.1軟件總體設(shè)計</b></p><p>  4.1.1 系統(tǒng)軟件設(shè)計整體思路</p><p>  一個應(yīng)用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才

46、能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與S51系列單片機相對應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。</p><p>  程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行

47、。</p><p>  高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學(xué)習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量

48、較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。</p><p>  MCS—51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。而且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個相當完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點之一。對于要求反應(yīng)靈敏與控制及時的工控、檢測等

49、實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產(chǎn)品,可以充分體現(xiàn)出匯編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。</p><p>  本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān)DS18B20的程序(初始化子程序、寫程序和讀程序)</p><p><b>  4.2系統(tǒng)程序流圖</b></p><p>  

50、系統(tǒng)程序主要包括主程序,讀出溫度子程序, 復(fù)位應(yīng)答子程序,寫入子程序等。</p><p><b>  4.2.1 主程序</b></p><p>  主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖4-1所示。其程序清單見附錄2。</p><

51、p>  通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來。</p><p>  圖4-1主程序流程圖</p><p>  4.2.2 溫度子程序</p><p>  (1)讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序如圖4-2所示

52、。其程序清單見附錄2。</p><p>  DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預(yù)期的目的,同時,要注意讀進來的是高位在后低位在前, 共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。</p><p>  圖4-2 讀出溫度子程序</p><p>  4.2.3 復(fù)位、應(yīng)答子程序</p><p> 

53、 RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效。其有效時間應(yīng)持續(xù)24個振蕩脈沖周期(即兩個機器周期)以上。若使用頻率為6MHZ的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4微妙才能完成復(fù)位操作。整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送斯密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的S5P2時刻對斯密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。其程序如圖4-3所示。</p><p&g

54、t;  Y N</p><p><b>  N</b></p><p><b>  Y</b></p><p>  圖4-3 復(fù)位、應(yīng)答子程序</p><p><b>  程序清單</b></p><p>  AJMP MA

55、IN; 這是DS18B20復(fù)位初始化子程序</p><p>  INIT_1820:SETB P1.0</p><p><b>  NOP</b></p><p>  CLR P1.0;主機發(fā)出延時537微秒的復(fù)位低脈沖</p><p><b>  MOV R1,#3</b></p>

56、<p><b>  其詳細清單見附錄2</b></p><p>  4.2.4 寫入子程序</p><p> ?。?)寫DS18B20的子程序,設(shè)置溫度上限為90攝氏度,溫度下限為20攝氏度。加熱后,溫度有時超過90攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位C沒有清0,于是在如下寫入程序中加入進位C清零,便排除了這個異常。其程序如圖4-4所示。</p>

57、<p><b>  Y</b></p><p><b>  N</b></p><p>  圖4-4 寫入子程序</p><p><b> ?。?)程序清單</b></p><p>  WR1:CLR P1.0</p><p><b&

58、gt;  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,#23</p><p><b>  

59、DJNZ R3,$</b></p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B2</p><p>  其詳細程序清單見附錄2。&

60、lt;/p><p>  4.2.5 系統(tǒng)總的流程圖</p><p>  圖4-5 系統(tǒng)總的流程圖</p><p>  5. 溫度控制系統(tǒng)調(diào)試與設(shè)計</p><p>  系統(tǒng)的調(diào)試是硬件和軟件設(shè)計過程中十分重要的環(huán)節(jié),為了保證整個系統(tǒng)正常工作,有必要對軟件和硬件部分的每一部分進行調(diào)試和分析。本章介紹了溫度控制的硬件調(diào)試、軟件調(diào)試和軟硬件聯(lián)機調(diào)試的過

61、程,并對調(diào)試的結(jié)果進行了介紹和分析。</p><p>  5.1 溫度控制系統(tǒng)軟件調(diào)試</p><p>  主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比較,若測得溫度小于設(shè)定值,則進入加熱階段,置P1.1為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置P1.1為高電平斷開可控硅, 關(guān)閉加熱器,等待下一次的啟動命令。當測得溫度大于設(shè)定值,則進入降溫階段,則置

62、P1.2為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置P1.2為高電平斷開,關(guān)閉風扇,等待下一次的啟動命令。第一次接電調(diào)試,設(shè)置溫度上限為90攝氏度,溫度下限為20攝氏度。加熱后,溫度有時超過90攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位C沒有清0,于是在如下寫入程序中加入進位C清零,便排除了這個異常。</p><p>  WR1:CLR P1.0</p><p><b>

63、;  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,#23</p><p><b>  DJ

64、NZ R3,$</b></p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B2</p><p>  再經(jīng)實際接電調(diào)試,一切運行正常

65、。加熱到90攝氏度時,紅燈亮起,自動斷電,而低于20攝氏度時,綠燈亮起,開始加熱。</p><p><b>  結(jié)論</b></p><p>  本設(shè)計中,是以溫度采集及控制過程設(shè)計為總目標,以89C51單片機最小應(yīng)用系統(tǒng)為總控制中心,輔助設(shè)計有溫度采集電路,A/D轉(zhuǎn)換接口,5LED數(shù)碼管靜態(tài)串行顯示器,查詢式鍵盤等。了解到溫度控制的重要性。</p>&

66、lt;p>  在畫原理圖,PCB布線過程中不可避免地遇到各種問題,這要求保持沉著冷靜,聯(lián)系書本理論知識積極地思考,實在解決不了可以請教指導(dǎo)老師或同學(xué),雖然在設(shè)計過程中不可避免地遇到很多問題,但是最后還是在老師以及同學(xué)的幫助下圓滿解決這些問題,完成了整個系統(tǒng)的設(shè)計工作。</p><p>  經(jīng)過3年的學(xué)習積累,在已經(jīng)掌握相關(guān)專業(yè)方面知識及其他各方面知識的情況下,我認真嚴肅的完成了我的畢業(yè)設(shè)計。</p&g

67、t;<p><b>  本課題的重點是:</b></p><p>  (1)初步接觸溫度傳感器,要對傳感器的原理、結(jié)構(gòu)、應(yīng)用等各方面從頭開始琢磨;</p><p>  (2)考慮從非電量信號到電量信號的電路實現(xiàn)原理以及與單片機的接口;</p><p>  (3)熟悉MCS-51編程的技術(shù);</p><p>

68、  本文作者創(chuàng)新觀點:采用的單片機AT89C51性價比高。而且熱敏電阻溫度傳感器轉(zhuǎn)化溫度的方法非常簡潔而且精度高、測試范圍較廣。</p><p><b>  致 謝</b></p><p>  通過做本課題,我知道這是一個非常具有挑戰(zhàn)性的過程,從中遇到了許多問題,還是在老師同學(xué)的幫助下一一克服的。在這個過程中,我了解并掌握了傳感器的基本理論知識,更深入的掌握一些膚淺

69、的單片機的開發(fā)及其實際應(yīng)用?;畹嚼蠈W(xué)到老,自己學(xué)的遠遠不夠,以后要好好努力了。在此還要感謝我的畢業(yè)設(shè)計的指導(dǎo)老師xx老師,在她的指導(dǎo)了我才能順利的完成了畢業(yè)論文,xx老師多次詢問設(shè)計進程,并為我指點迷津,幫助我開拓設(shè)計思路,精心點撥和鼓勵。xx老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且還教我做人,給以終生受益無窮之道。我從內(nèi)心感謝老師。還要感謝的是我各科的代課老師,他們從大一把我們迎進來,到現(xiàn)在把我們送走,在

70、三年來一直照顧我的學(xué)習與生活,他們就像我的家長一樣對待我,所以在這里我一定要感謝他們。當然還要感謝我宿舍的兄弟們在我完成設(shè)計的過程中給我的幫助和鼓勵也是他們陪我度過了這快樂的大學(xué)生活,他們是我一生中最好的朋友,對于他們我更是有千言萬語,感謝你們一直都伴隨著我。天下無不散的宴席。感謝在大學(xué)期間我所有交往的知己,有你們的伴隨,我的大學(xué)生活才能這么的豐富多彩。</p><p>  最后再向xx老師表示衷心的感謝,祝你在

71、以后的工作當中身體健康,工作順利。</p><p><b>  參考文獻</b></p><p>  [1] 李華.MCS—51系列單片機實用接口技術(shù).北京航空航天大學(xué)出版社,1993</p><p>  [2] 張毅剛等.MCS—51單片機應(yīng)用設(shè)計.哈爾濱工業(yè)大學(xué)出版社,1997</p><p>  李秉操等.單片

72、機接口技術(shù)及其在工業(yè)控制中的應(yīng)用.陜西電子編輯部,1991</p><p>  [3] 王福瑞.單片微機測控系統(tǒng)設(shè)計大全. 北京航空航天大學(xué)出版社,1998</p><p>  [4] 沈金德等.MCS-51系列單片機接口電路與應(yīng)用程序?qū)嵗?北京:北京航空航天大學(xué)出版社,1992</p><p>  [5] 第三屆全國大學(xué)生電子設(shè)計競賽組委會.第三屆大學(xué)生電子

73、設(shè)計競賽獲獎作品選編.北京理工大學(xué)出版社,1999</p><p>  [6] 何立民.單片機應(yīng)用文集(一).北京航空航天大學(xué)出版社,1991</p><p>  [7] 趙茂泰.智能儀器原理及應(yīng)用.電子工業(yè)出版社,1999</p><p>  [8] 施仁,劉文江,鄭輯光.自動化儀表與過程控制.電子工業(yè)出版社,2003</p><p>

74、;  [9] IC速查手冊.中國自動化技術(shù)公司,1991</p><p>  [10] 黃賢武.曲波.傳感器的實際應(yīng)用.電子科技大學(xué)出版社,1998</p><p>  [11] 周興華,手把手教你學(xué)單片機[M].北京航空航天大學(xué)出版社,2005</p><p>  [12] 譚浩強, C程序設(shè)計[M].清華大學(xué)出版社,1991</p><

75、;p>  [13] 沈慶陽、郭庭吉,8051單片機實踐與應(yīng)用[M].清華大學(xué)出版社,2002</p><p>  [14] 茹國寶.單片機原理及應(yīng)用實驗指導(dǎo)書[M].武漢:武漢大學(xué)出版社,2009.</p><p>  [15] 劉迎春,葉湘濱.傳感器原理設(shè)計與應(yīng)用[M].3版.長沙:國防科技大學(xué)出版社,1997.[16] 田玉平,蔣珉,李世華.自動控制原理[M].北京:科

76、學(xué)出版社,2006.[17] 李朝青.單片機原理及接口技術(shù)[M].2版.北京:北京航空航天大學(xué)出版社,2005.[18] 蔡美琴.MSC-51系列單片機系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,1999.[19] 李曉妮.單片機溫度控制系統(tǒng)的設(shè)計[J].九江學(xué)院學(xué)報,2005(2):20-23.</p><p><b>  附錄</b></p><p> 

77、 附錄1溫度控制系統(tǒng)電路圖</p><p><b>  附錄2</b></p><p><b>  程序清單:</b></p><p><b>  ORG 0000H</b></p><p>  TEMPER_L EQU 29H </p><p>  T

78、EMPER_H EQU 28H </p><p>  FLAG1 EQU 38H;是否檢測到DS18B20標志位 </p><p>  A_BIT EQU 20H ;數(shù)碼管個位數(shù)存放內(nèi)存位置 </p><p>  B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置</p><p>  XS EQU 30H </p>&

79、lt;p>  MOV A,#00H </p><p><b>  MOV P2,A </b></p><p>  MAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序 </p><p><b>  MOV A,29H</b></p><p><b>  MOV B,A<

80、/b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b

81、>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  SWAP A</b></p>

82、<p><b>  MOV 31H,A</b></p><p><b>  MOV A,B</b></p><p>  MOV C,40H;將28H中的最低位移入C</p><p><b>  RRC A</b></p><p><b>  MOV C,

83、41H</b></p><p><b>  RRC A</b></p><p><b>  MOV C,42H</b></p><p><b>  RRC A</b></p><p><b>  MOV C,43H</b></p>

84、<p><b>  RRC A</b></p><p><b>  MOV 29H,A</b></p><p>  LCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序</p><p>  AJMP MAIN; 這是DS18B20復(fù)位初始化子程序</p><p>  INIT_1820:SE

85、TB P1.0</p><p><b>  NOP</b></p><p>  CLR P1.0;主機發(fā)出延時537微秒的復(fù)位低脈沖</p><p><b>  MOV R1,#3</b></p><p>  TSR1:MOV R0,#107</p><p><b>

86、;  DJNZ R0,$</b></p><p>  DJNZ R1,TSR1</p><p>  SETB P1.0;然后拉高數(shù)據(jù)線</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  N

87、OP</b></p><p>  MOV R0,#25H</p><p>  TSR2:JNB P1.0,TSR3;等待DS18B20回應(yīng)</p><p>  DJNZ R0,TSR2</p><p>  LJMP TSR4 ; 延時</p><p>  TSR3:SETB FLAG1 ; 置標志位,表示D

88、S1820存在</p><p><b>  LJMP TSR5</b></p><p>  TSR4:CLR FLAG1 ; 清標志位,表示DS1820不存在</p><p><b>  LJMP TSR7</b></p><p>  TSR5:MOV R0,#117</p><

89、p>  TSR6:DJNZ R0,TSR6 ; 時序要求延時一段時間</p><p>  TSR7:SETB P1.0</p><p>  RET; 讀出轉(zhuǎn)換后的溫度值</p><p>  GET_TEMPER:SETB P1.0</p><p>  LCALL INIT_1820;先復(fù)位DS18B20</p><p

90、>  JB FLAG1,TSS2</p><p>  RET ; 判斷DS1820是否存在?若DS18B20不存在則返回</p><p>  TSS2:MOV A,#0CCH ; 跳過ROM匹配</p><p>  LCALL WRITE_1820</p><p>  MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令</p>&

91、lt;p>  LCALL WRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p>  LCALL DISPLAY</p><p>  LCALL INIT_1820;準備讀溫度前先復(fù)位</p><p>  MOV A,#0CCH ; 跳過ROM匹配</p><p>  LCA

92、LL WRITE_1820</p><p>  MOV A,#0BEH ; 發(fā)出讀溫度命令</p><p>  LCALL WRITE_1820</p><p>  LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到35H/36H </p><p>  RET;寫DS18B20的子程序(有具體的時序要求)</p><

93、;p>  WRITE_1820:MOV R2,#8;一共8位數(shù)據(jù)</p><p><b>  CLR C</b></p><p>  WR1:CLR P1.0</p><p><b>  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b>&

94、lt;/p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></p><p><b>  SETB P1.0</b></p

95、><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù) </p><p>  READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出</p><p>

96、  MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)</p><p>  RE00:MOV R2,#8;數(shù)據(jù)一共有8位</p><p>  RE01:CLR C</p><p><b>  SETB P1.0</b></p><p><b>  NOP</

97、b></p><p><b>  NOP</b></p><p><b>  CLR P1.0</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>

98、  NOP</b></p><p><b>  SETB P1.0</b></p><p><b>  MOV R3,#9</b></p><p>  RE10: DJNZ R3,RE10</p><p>  MOV C,P1.0</p><p>  MOV R3

99、,#23</p><p>  RE20: DJNZ R3,RE20</p><p><b>  RRC A</b></p><p>  DJNZ R2,RE01</p><p><b>  MOV @R1,A</b></p><p><b>  DEC R1<

100、/b></p><p>  DJNZ R4,RE00</p><p><b>  RET</b></p><p>  DISPLAY:CLR C</p><p>  SUBB A, #30</p><p>  JNB CY, T1</p><p>  MOV

101、 A, B</p><p><b>  CLR C</b></p><p>  SUBB A,#25</p><p>  JNB CY, XIANSHI</p><p>  CLR P1.1</p><p>  LJMP XIANSHI</p><p>

102、;  T1:CLR P1.2</p><p>  XIANSHI:MOV A,B</p><p>  MOV B,#10 ;10進制/10=10進制</p><p><b>  DIV AB</b></p><p>  MOV B_BIT,A ;十位在A</p><p>  MOV A_BIT,B

103、 ;個位在B</p><p>  MOV R0,#4 </p><p><b>  CLR C;多加的</b></p><p>  DPL1: MOV R1,#250 ;顯示1000次</p><p>  DPLOP:MOV DPTR,#NUMTAB1</p><p>  MOV A,A_BIT

104、;取個位數(shù)</p><p>  MOVC A,@A+DPTR ;查個位數(shù)的7段代碼</p><p>  MOV P0,A ;送出個位的7段代碼</p><p>  CLR P2.1 ;開個位顯示</p><p>  ACALL D1MS ;顯示1MS</p><p><b>  SETB P2.1</b

105、></p><p>  MOV DPTR,#NUMTAB</p><p>  MOV A,B_BIT ;取十位數(shù)</p><p>  MOVC A,@A+DPTR ;查十位數(shù)的7段代碼</p><p>  MOV P0,A ;送出十位的7段代碼</p><p>  CLR P2.2 ;開十位顯示</p&g

106、t;<p>  ACALL D1MS ;顯示1MS</p><p><b>  SETB P2.2</b></p><p>  JC XSW;多加的</p><p><b>  MOV A,31H</b></p><p>  MOV B,#160</p><p>

107、;<b>  DIV AB</b></p><p><b>  MOV XS,B</b></p><p>  XSW:MOV A,XS </p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A </b></p><p&

108、gt;<b>  CLR P2.0 </b></p><p>  ACALL D1MS </p><p><b>  SETB P2.0</b></p><p>  SETB C;多加的</p><p>  DJNZ R1,DPLOP ;250次沒完循環(huán)</p><p>  

109、DJNZ R0,DPL1 ;4個250次沒完循環(huán)</p><p>  RET;1MS延時(按12MHZ算)</p><p>  D1MS: MOV R7,#80 </p><p><b>  DJNZ R7,$</b></p><p><b>  RET</b></p><p&g

溫馨提示

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

評論

0/150

提交評論