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

下載本文檔

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

文檔簡介

1、題目基于單片機的溫度控制系統(tǒng)英文題目Temperature control system basedon single chip學(xué)生姓名:學(xué)號:專業(yè):指導(dǎo)老師 :職稱系別:機械與電子工程系2012年5月1日摘要溫度是日常生活中無時不在的物理量,溫度的控制在各個領(lǐng)域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐, 用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機對它們進行控制不僅具有控制方便、簡單、靈活性大等特點, 而且還可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用。本溫度設(shè)計采用現(xiàn)在流行的 AT89S5

2、1單片機,配以 DS18B20數(shù)字溫度傳感器, 該溫度傳感器可自行設(shè)置溫度上下限。 單片機將檢測到的溫度信號與輸入的溫度上、 下限進行比較,由此作出判斷是否啟動繼電器以開啟設(shè)備。本設(shè)計還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路, 使得整個設(shè)計更加完整,更加靈活。關(guān)鍵字: 單片機溫度控制繼電器ABSTRACTThe temperature is constantly in the daily life of physical and temperature controls in various fields have a positive meaning. A lot of busines

3、ses 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 only easy to control, simple, such as the characteristics of flexibility, but can

4、also significantly increase the temperature was charged with the technical indicators, which can greatly enhance the quality of the products. Therefore, intelligent temperature control technology is being widely adopted.The temperature was designed with the now popular AT89S51 SCM, and with DS18B20

5、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 judgment whether to activate the relay to open the equipment.The design also includes commonly used digita

6、l display and control state lights commonly used circuit, making the whole design more complete, more flexible.Key words: Single chip microcomputerTemperature controlSSR目錄緒論 .11.1課題研究背景及意義 .11.2測溫技術(shù)的發(fā)展與應(yīng)用 .11.3設(shè)計具體任務(wù)及要求 .22.溫度控制原理的總體設(shè)計 .32.1單片機芯片的選擇方案和論證 .32.2顯示模塊選擇方案和論證 .32.3溫度傳感器設(shè)計的選擇方案和論證 .42.4控制

7、按鍵的選擇 .43.系統(tǒng)硬件設(shè)計 .54.溫度控制系統(tǒng)軟件的設(shè)計 .84.1軟件總體設(shè)計 .84.1.1系統(tǒng)軟件設(shè)計整體思路 .84.2系統(tǒng)程序流圖 .84.2.1主程序 .94.2.2溫度子程序 .104.2.3復(fù)位、應(yīng)答子程序 .114.2.4寫入子程序 .144.2.5系統(tǒng)總的流程圖 .165.溫度控制系統(tǒng)調(diào)試與設(shè)計 .185.1溫度控制系統(tǒng)軟件調(diào)試 .18結(jié)論 .19致謝 .20參考文獻 .21附錄 .22附錄 1 溫度控制系統(tǒng)電路圖 .22附錄 2 .23緒論1.1 課題研究背景及意義隨著人們生活水平的不斷提高 , 單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的

8、, 其中數(shù)字溫度計就是一個典型的例子, 但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。單片機在測控領(lǐng)域中具有十分廣泛的應(yīng)用, 它既可以測量電信號,又可測量濕度、溫度等非電信號。由單片機構(gòu)成的溫度檢測和溫度控制系統(tǒng)可廣泛應(yīng)用于很多領(lǐng)域。在傳統(tǒng)的模擬信號遠距離溫度測量系統(tǒng)中, 需要很好的解決引線誤差補償問題、 多點測量切換誤差問題和放大電路零點漂移誤差問題等技術(shù)問題, 才能夠達到較高的測量精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都非常惡劣, 各種干擾信號較強, 模擬溫度信號容易受到干擾而產(chǎn)生測量誤差,影響測量精

9、度。因此,在溫度測量系統(tǒng)中,采用抗干擾能力強的新型數(shù)字溫度傳感器是解決這些問題的最有效方案, 新型數(shù)字溫度傳感器DS18B20具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點,在實際應(yīng)用中取得了良好的測溫效果。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示, 主要用于對測溫比較準確的場所, 或科研實驗室使用。1.2 測溫技術(shù)的發(fā)展與應(yīng)用近百年來,溫度傳感器的發(fā)展大致經(jīng)歷了以下三個階段;(1) 傳統(tǒng)的矩陣式溫度傳感器; (2) 模擬集成溫度傳感器控制器; (3) 智能溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、

10、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。隨著科學(xué)技術(shù)日益迅速的發(fā)展, 數(shù)字監(jiān)控系統(tǒng)已經(jīng)深入到生活的各個方面。 溫度計作為測溫器件,不僅在日常生活中而且在工農(nóng)業(yè) ( 例如糧食儲藏 ) 技術(shù)中應(yīng)用十分廣泛。但是常用的溫度計多為管式溫度計,不僅讀數(shù)很不方便,還容易損壞。因此在DS18B20數(shù)字溫度傳感器技術(shù)的基礎(chǔ)上制作的數(shù)字溫度計, 由于能夠數(shù)碼管直接顯示溫度,讀數(shù)方便快易,而且電路簡單、安全可靠而被大量應(yīng)用于溫檢和溫控系統(tǒng)中。DS18B20是 DALLAS公司繼 DS1820之后推出的增強型單線數(shù)字溫度傳感器。 它在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較 DS1820有了很大的改進,給用戶帶來了

11、更方便的使用和更令人滿意的效果。屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、 民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。隨著電子器件的發(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é)合 , 從而達到更好的控制效果。1.3 設(shè)計具體任務(wù)及要求(1) 課題設(shè)計要求:1、溫度設(shè)定在 40-900C,最小區(qū)分度為 10C,標定溫差 10C2、環(huán)境溫度降

12、低(例如用電風(fēng)扇降溫)溫度控制的靜態(tài)誤差10C3、用十進制數(shù)碼顯示水的實際溫度2) 課題內(nèi)容:采用單片機 AT89C51為核心。采用了溫度傳感器 DS18B20采集溫度變化信號, 并通過單片機處理后去控制溫度, 使其達到穩(wěn)定。 使用單片機具有編程靈活, 控制簡單的優(yōu)點,使系統(tǒng)能簡單的實現(xiàn)溫度的控制及顯示, 并且通過軟件編程能實現(xiàn)控制使系統(tǒng)還具有控制精度高的特點。2. 溫度控制原理的總體設(shè)計2.1 單片機芯片的選擇方案和論證方案一 :采用 8031 作為控制核心 , 以使用最為普遍的器件ADC0809作模數(shù)轉(zhuǎn)換 ,控制上使用對電阻絲加電使其升溫和開動風(fēng)扇使其降溫。此方案簡易可行 , 器件的價格便

13、宜 , 但 8031 內(nèi)部沒有程序存儲器 , 需要擴展 , 增加了電路的復(fù)雜性 , 且 ADC0809是8 位的模數(shù)轉(zhuǎn)換 , 不能滿足本題目的精度要求。方案二 : 采用 AT89C51單片機, AT89C51是一種帶 4K 字節(jié) FLASH存儲器( FPEROMFlash Programmable and Erasable Read Only Memory )的低電壓、高性能 CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000 次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造, 與工業(yè)

14、標準的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8 位 CPU和閃爍存儲器組合在單個芯片中, ATMEL的 AT89C51是一種高效微控制器, AT89C2051是它的一種精簡版本。 AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。綜觀上述兩種方案的論證與比較, 我們采用 AT89C51作為主控模塊芯片。2.2 顯示模塊選擇方案和論證方案一:采用 LCD顯示器, LCD是液晶顯示屏的全稱,主要有 TFT、UFB、 TFD、STN等幾種類型的液晶顯示屏。電腦液晶顯示屏常用的是 TFT。 TFT屏幕是薄膜晶體管,是有源矩陣類型液晶顯示器, 在其背部設(shè)置特殊光管, 可以

15、主動對屏幕上的各個獨立的像素進行控制,這也是所謂的主動矩陣 TFT的來歷 , 這樣可以大的提高響應(yīng)時間,約為 80 毫秒,有效改善了 STN( STN響應(yīng)時間為 200 毫秒)閃爍模糊的現(xiàn)象,有效的提高了播放動態(tài)畫面的能力。和 STN相比, TFT 有出色的色彩飽和度 , 還原能力和更高的對比度 , 太陽下依然看的非常清楚 , 但是缺點是比較耗電 , 而且成本也較高。方案二: LED顯示器是單片機應(yīng)用系統(tǒng)中常見的輸出器件,而在單片機的應(yīng)用上也是被廣泛運用的。如果需要顯示的內(nèi)容只有數(shù)碼和某些字母,使用LED數(shù)碼管是一種較好的選擇。 LED數(shù)碼管顯示清晰、成本低廉、配置靈活,與單片機接口簡單易行。

16、體積更小,重量更輕、相對顯示面積更大、零輻射,無閃爍、功耗小,抗干擾能力強、畫面質(zhì)量更高。 使用功能更為智能化。經(jīng)過二種方案的比較,排除了前一種方案之后,最后選擇方案二:LED數(shù)碼管動態(tài)掃描顯示2.3 溫度傳感器設(shè)計的選擇方案和論證方案一:采用熱敏電阻,可滿足 40攝氏度至 90攝氏度測量范圍, 但熱敏電阻精度,重復(fù)性,可靠性較差,對于檢測 1攝氏度的信號是不適合用的。而且使用熱敏電阻需要用到十分復(fù)雜的算法,一定程度增加了軟件實施的難度。方案二:采用溫度芯片 DS18B20測量溫度,該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測量元件, 且此元件線性較好。 在 0-100 攝氏度時,最大線性偏差小于

17、 1 攝氏度。該芯片直接向單片機傳輸數(shù)字信號, 便于單片機處理及控制。 本制作的做大特點之一就是直接采用溫度芯片對溫度進行測量,使數(shù)據(jù)傳輸和處理簡單化。此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。綜觀上述兩種方案的論證與比較, 我們采用溫度芯片DS18B20作為主控模塊芯片。2.4 控制按鍵的選擇方案一 : 矩陣式按鍵,將鍵值顯示在七節(jié)顯示器上的單片機源碼。把每個鍵都分成水平和垂直的兩端接入, 比如說掃描碼是從垂直的入, 那就代表那一行所接收到的掃描碼是同一個 bit ,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,比對之后就可知道是哪個鍵被按下

18、。比如說掃描碼送入01111111,前面的 0111 是代表掃描第一行P1.0 列,而后面的 1111 是讓讀取的 4 行接腳先設(shè)為 VDD,若第一行的第三列按鍵被按下,那讀取的結(jié)果就會變成 01111101(注意 1111 變成 1101) ,其中 LSB的第三個 bit 會由 1 變成0,這是因為這個按鍵被按下之后,被垂直的掃描碼電位short ,而把讀取的LSB的bit 電位拉到 0,此即為掃描原理。 由於這種按鍵是機械式的開關(guān), 當按鍵被按下時,鍵會震動一小段時間才穩(wěn)定,為了避免讓 8051 誤判為多次輸入同一按鍵,我們必須在偵測到有按鍵被按下, 就 Delay 一小段時間, 使鍵盤以

19、達穩(wěn)定狀態(tài), 再去判讀所按下的鍵,就可以讓鍵盤的輸入穩(wěn)定。 用來對溫度報警由此可見, 在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。方案二 : 獨立式按鍵 , 每個按鍵實現(xiàn)一個功能 , 易于控制且編寫程序簡單 , 容易理解,雖然會占用一定的單片機 I/O 口資源 , 但是題目中要求使用的按鍵要盡量少。通過以上兩種方案比較,采用方案一。3. 系統(tǒng)硬件設(shè)計系統(tǒng)硬件設(shè)計是進行系統(tǒng)設(shè)計的最重要、最關(guān)鍵的一步。 總體方案的好壞, 直接影響整個控制系統(tǒng)調(diào)節(jié)品質(zhì)及實施細則。 硬件系統(tǒng)也是由不同模塊組成的, 但各個模塊是協(xié)調(diào)工作的, 例如顯示部分是系統(tǒng)和人類交互的窗口, 沒有這部分 A/D 轉(zhuǎn)換精度再高控

20、制效果再好,我們無法得知,所以每一部分都很重要。系統(tǒng)硬件設(shè)計分為主控模塊、測溫模塊、顯示與鍵盤模塊、繼電器控制模塊、時鐘與復(fù)位電路、報警電路六大塊組成如下圖 3-1 所示。時鐘與復(fù)位電路單LED 顯示電路片加熱繼電器DS18B20電風(fēng)扇繼電器機鍵盤輸入接口報警電路圖 3-1 溫度測控系統(tǒng)硬件原理框圖( 1)DS18B20可以采用兩種方式供電, 一種是采用電源供電方式, 此時 DS18B20的 1 腳接地, 2 腳作為信號線, 3 腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個 MOSFET管來完成對總線的上

21、拉。本設(shè)計采用電源供電方式,P1.1 口接單線總線為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管和89S51 的 P1.0 來完成對總線的上拉。當DS18B20處于寫存儲器操作和溫度A/D 變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10 s 。采用寄生電源供電方式是 VDD和 GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3 個步驟:初始化 :ROM操作指令;存儲器操作指令。( 2)繼電器 XIAL1 和 XIAL2 分別接 28PF的電容,中間再并個 12MHZ的晶振,形成單片機的晶振電路

22、。( 3) LED數(shù)碼管顯示有動態(tài)顯示和靜態(tài)顯示兩種顯示驅(qū)動( 4)鍵盤是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,鍵盤的設(shè)置由應(yīng)用系統(tǒng)具體功能來決定。鍵盤可分為編碼式鍵盤和非編碼式鍵盤編碼鍵盤能夠由硬件自動提供與被按鍵對應(yīng)的編碼,它需要采用較多的硬件,價格較貴。非編碼式鍵盤僅提供行和列組成的矩陣,其硬件邏輯與按鍵編碼不存在嚴格對應(yīng)關(guān)系,而要由軟件程序來確定。非編碼鍵盤的硬件接口簡單,但是要占用較多的 CPU時間。鍵盤接口的這些任務(wù)可用軟件或硬件來完成,相應(yīng)地出現(xiàn)了兩大類鍵盤,即編碼鍵盤和非編碼鍵盤。由于本設(shè)計要實現(xiàn)的功能中只要求通過鍵盤來查看或調(diào)整預(yù)設(shè)的溫度報警值,要求較簡單,所以可采用最簡單的編

23、碼鍵盤結(jié)構(gòu),即利用 8051 單片機 I/O 端口實現(xiàn)的獨立式鍵盤接口。(5)復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本設(shè)計采用按鍵電平復(fù)位,其中EA 接低電平,允許使用外部存儲器。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ù)位操作所需要的信號。(

24、 6) AT89C51是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器( FPEROMFalsh Programmable and Erasable ReadOnlyMemory)的低電壓,高性能 CMOS8位微處理器,俗稱單片機。 AT89C2051是一種帶 2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除 100次。該器件采用 ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8位CPU和閃爍存儲器組合在單個芯片中, ATMEL的 AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。

25、AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。( 7)工作原理溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機AT89S51 獲取采集的溫度值,經(jīng)處理后得到當前環(huán)境中一個比較穩(wěn)定的溫度值, 再根據(jù)當前設(shè)定的溫度上下限值,通過加熱和降溫對當前溫度進行調(diào)整。 當采集的溫度經(jīng)處理后超過設(shè)定溫度的上限時, 單片機通過三極管驅(qū)動繼電器開啟降溫設(shè)備 ( 壓縮制冷器 ) ,當采集的溫度經(jīng)處理后低于設(shè)定溫度的下時 , 單片機通過三極管驅(qū)動繼電器開啟升溫設(shè)備 ( 加熱器 ) 。當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不

26、能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。系統(tǒng)中將通過串口通訊連接PC機存儲溫度變化時的歷史數(shù)據(jù),以便觀察整個溫度的控制過程及監(jiān)控溫度的變化全過(8)硬件電路圖見附錄14. 溫度控制系統(tǒng)軟件的設(shè)計4.1 軟件總體設(shè)計4.1.1 系統(tǒng)軟件設(shè)計整體思路一個應(yīng)用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。 甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資

27、源,采用與S51 系列單片機相對應(yīng)的51 匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序) ,計算機才能“看懂” ,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng), 而且語句的功能強, 常常一個語句已相當于很多條計算機指令, 于是用高級語言編制程序的速度比較快, 也便于學(xué)習(xí)和交流, 但是本系統(tǒng)卻選用了匯編語言。 原因在于,本系統(tǒng)是編制程序工作量

28、不大、規(guī)模較小的單片機微控制系統(tǒng), 使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。MCS51 指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。而且 MCS51 指令系統(tǒng)有豐富的位操作 (或稱位處理) 指令,可以形成一個相當完整的位操作指令子集, 這是 MCS 51 指令系統(tǒng)主要的優(yōu)點之一。 對于要求反應(yīng)靈敏與控制及時的工控、 檢測等實時控制系統(tǒng)以及要求體積小、 系統(tǒng)小的許多 “電腦化” 產(chǎn)品,可以充分體現(xiàn)出匯編語言簡

29、明、整齊、執(zhí)行時間短和易于使用的特點。本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān) DS18B20的程序(初始化子程序、寫程序和讀程序)4.2 系統(tǒng)程序流圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,復(fù)位應(yīng)答子程序,寫入子程序等。4.2.1 主程序主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理 DS18B20的測量的當前溫度值,溫度測量每 1s 進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖 4-1 所示。其程序清單見附錄2。通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來。開始調(diào)用讀溫

30、度子程序數(shù)字變換程序顯示子程序圖 4-1 主程序流程圖4.2.2 溫度子程序(1) 讀出溫度子程序的主要功能是讀出 RAM中的 9 字節(jié),在讀出時需進行 CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序如圖4-2 所示。其程序清單見附錄2。DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預(yù)期的目的,同時,要注意讀進來的是高位在后低位在前,共有 12 位數(shù),小數(shù) 4位,整數(shù) 7 位,還有一位符號位。DS18B20 復(fù)位、應(yīng)答子程序跳過 ROM 匹配命令寫入子程序溫度轉(zhuǎn)換命令寫入子程序顯示子程序 (延時 )DS18B20 復(fù)位、應(yīng)答子程序跳過 ROM 匹配命令寫入子

31、程序讀溫度命令子程序終止圖 4-2讀出溫度子程序4.2.3復(fù)位、應(yīng)答子程序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 所示。開始P1.0 口清 0延時 537USP1.0 口置 150US 是否有低電平Y(jié)N標志位置1標志位置1有 2

32、34US 低電平NYP1.0 口置 1終止圖 4-3 復(fù)位、應(yīng)答子程序程序清單AJMP MAIN; 這是 DS18B20復(fù)位初始化子程序INIT_1820:SETB P1.0NOPCLR P1.0; 主機發(fā)出延時 537 微秒的復(fù)位低脈沖MOV R1,#3其詳細清單見附錄24.2.4 寫入子程序( 1) 寫 DS18B20的子程序,設(shè)置溫度上限為 90 攝氏度,溫度下限為20攝氏度。加熱后,溫度有時超過 90 攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位C沒有清 0 于,是在如下寫入程序中加入進位 C 清零,便排除了這個異常。其程序如圖4-4所示。開始進位C清0P1.0 清 0延時 12US帶進位右移

33、延時 46USP1.0 置 0YR2 是否為 0N終止圖 4-4 寫入子程序( 2)程序清單WR1:CLR P1.0 MOV R3,#6 DJNZ R3,$RRC A MOV P1.0,C MOV R3,#23 DJNZ R3,$ SETB P1.0NOPDJNZ R2,WR1RET; 讀 DS18B2其詳細程序清單見附錄2。4.2.5 系統(tǒng)總的流程圖開始初始化 DS18B20設(shè)定溫度上、下限顯示當前溫度判斷當前溫度值超過設(shè)定是溫度上限紅燈亮否啟動風(fēng)扇降低溫度低于設(shè)定溫度下限否是綠燈亮啟動電熱爐升高溫度圖 4-5 系統(tǒng)總的流程圖5. 溫度控制系統(tǒng)調(diào)試與設(shè)計系統(tǒng)的調(diào)試是硬件和軟件設(shè)計過程中十分重

34、要的環(huán)節(jié),為了保證整個系統(tǒng)正常工作,有必要對軟件和硬件部分的每一部分進行調(diào)試和分析。 本章介紹了溫度控制的硬件調(diào)試、軟件調(diào)試和軟硬件聯(lián)機調(diào)試的過程,并對調(diào)試的結(jié)果進行了介紹和分析。5.1 溫度控制系統(tǒng)軟件調(diào)試主程序的功能是: 啟動 DS18B20測量溫度,將測量值與給定值進行比較, 若測得溫度小于設(shè)定值, 則進入加熱階段, 置 P1.1 為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍內(nèi), 置 P1.1 為高電平斷開可控硅, 關(guān)閉加熱器, 等待下一次的啟動命令。當測得溫度大于設(shè)定值,則進入降溫階段,則置 P1.2 為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置 P1.2 為

35、高電平斷開,關(guān)閉風(fēng)扇,等待下一次的啟動命令。第一次接電調(diào)試,設(shè)置溫度上限為 90 攝氏度,溫度下限為20 攝氏度。加熱后,溫度有時超過 90 攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位 C沒有清 0,于是在如下寫入程序中加入進位 C 清零,便排除了這個異常。WR1:CLR P1.0MOV R3,#6DJNZ R3,$RRC AMOV P1.0,CMOV R3,#23DJNZ R3,$SETB P1.0NOPDJNZ R2,WR1RET; 讀 DS18B2再經(jīng)實際接電調(diào)試,一切運行正常。加熱到 90 攝氏度時,紅燈亮起,自動斷電,而低于 20 攝氏度時,綠燈亮起,開始加熱。結(jié)論本設(shè)計中,是以溫度采集及

36、控制過程設(shè)計為總目標,以89C51 單片機最小應(yīng)用系統(tǒng)為總控制中心,輔助設(shè)計有溫度采集電路,A/D 轉(zhuǎn)換接口, 5LED 數(shù)碼管靜態(tài)串行顯示器,查詢式鍵盤等。了解到溫度控制的重要性。在畫原理圖, PCB 布線過程中不可避免地遇到各種問題,這要求保持沉著冷靜,聯(lián)系書本理論知識積極地思考, 實在解決不了可以請教指導(dǎo)老師或同學(xué), 雖然在設(shè)計過程中不可避免地遇到很多問題, 但是最后還是在老師以及同學(xué)的幫助下圓滿解決這些問題,完成了整個系統(tǒng)的設(shè)計工作。經(jīng)過 3 年的學(xué)習(xí)積累,在已經(jīng)掌握相關(guān)專業(yè)方面知識及其他各方面知識的情況下,我認真嚴肅的完成了我的畢業(yè)設(shè)計。本課題的重點是:(1)初步接觸溫度傳感器,要對

37、傳感器的原理、結(jié)構(gòu)、應(yīng)用等各方面從頭開始琢磨;(2)考慮從非電量信號到電量信號的電路實現(xiàn)原理以及與單片機的接口;(3)熟悉 MCS-51 編程的技術(shù);本文作者創(chuàng)新觀點: 采用的單片機 AT89C51 性價比高。而且熱敏電阻溫度傳感器轉(zhuǎn)化溫度的方法非常簡潔而且精度高、測試范圍較廣。致謝通過做本課題,我知道這是一個非常具有挑戰(zhàn)性的過程,從中遇到了許多問題,還是在老師同學(xué)的幫助下一一克服的。在這個過程中,我了解并掌握了傳感器的基本理論知識,更深入的掌握一些膚淺的單片機的開發(fā)及其實際應(yīng)用?;畹嚼蠈W(xué)到老,自己學(xué)的遠遠不夠,以后要好好努力了。在此還要感謝我的畢業(yè)設(shè)計的指導(dǎo)老師余老師, 在她的指導(dǎo)了我才能順

38、利的完成了畢業(yè)論文,余老師多次詢問設(shè)計進程,并為我指點迷津,幫助我開拓設(shè)計思路,精心點撥和鼓勵。余老師一絲不茍的作風(fēng),嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且還教我做人,給以終生受益無窮之道。 我從內(nèi)心感謝老師。 還要感謝的是我各科的代課老師, 他們從大一把我們迎進來,到現(xiàn)在把我們送走,在三年來一直照顧我的學(xué)習(xí)與生活,他們就像我的家長一樣對待我,所以在這里我一定要感謝他們。 當然還要感謝我宿舍的兄弟們在我完成設(shè)計的過程中給我的幫助和鼓勵也是他們陪我度過了這快樂的大學(xué)生活,他們是我一生中最好的朋友,對于他們我更是有千言萬語,感謝你們一直都伴隨著我。天下無不散的宴席。感謝在大學(xué)期間我所有

39、交往的知己,有你們的伴隨,我的大學(xué)生活才能這么的豐富多彩。最后再向余老師表示衷心的感謝,祝你在以后的工作當中身體健康,工作順利。參考文獻1李華 .MCS51 系列單片機實用接口技術(shù). 北京航空航天大學(xué)出版社,19932 張毅剛等 .MCS51 單片機應(yīng)用設(shè)計 . 哈爾濱工業(yè)大學(xué)出版社 ,1997李秉操等 . 單片機接口技術(shù)及其在工業(yè)控制中的應(yīng)用. 陜西電子編輯部,19913 王福瑞 . 單片微機測控系統(tǒng)設(shè)計大全 . 北京航空航天大學(xué)出版社, 19984沈金德等 .MCS-51 系列單片機接口電路與應(yīng)用程序?qū)嵗? 北京:北京航空航天大學(xué)出版社,19925 第三屆全國大學(xué)生電子設(shè)計競賽組委會. 第

40、三屆大學(xué)生電子設(shè)計競賽獲獎作品選編. 北京理工大學(xué)出版社,19996 何立民 . 單片機應(yīng)用文集 ( 一). 北京航空航天大學(xué)出版社, 19917 趙茂泰 . 智能儀器原理及應(yīng)用 . 電子工業(yè)出版社 ,19998 施仁,劉文江,鄭輯光 . 自動化儀表與過程控制 . 電子工業(yè)出版社 ,20039 IC 速查手冊 . 中國自動化技術(shù)公司 ,199110 黃賢武 . 曲波 . 傳感器的實際應(yīng)用 . 電子科技大學(xué)出版社 ,199811 周興華,手把手教你學(xué)單片機 M. 北京航空航天大學(xué)出版社, 200512 譚浩強, C 程序設(shè)計 M. 清華大學(xué)出版社, 199113 沈慶陽、郭庭吉, 8051 單片

41、機實踐與應(yīng)用 M. 清華大學(xué)出版社, 200214 茹國寶 . 單片機原理及應(yīng)用實驗指導(dǎo)書 M. 武漢:武漢大學(xué)出版社, 2009.15劉迎春,葉湘濱傳感器原理設(shè)計與應(yīng)用M 3版 . 長沙:國防科技大學(xué)出版社,199716 田玉平,蔣珉,李世華自動控制原理M. 北京:科學(xué)出版社, 200617 李朝青 . 單片機原理及接口技術(shù) M.2 版. 北京:北京航空航天大學(xué)出版社, 2005.18 蔡美琴 MSC-51系列單片機系統(tǒng)及其應(yīng)用 M 北京:高等教育出版社, 199919 李曉妮 . 單片機溫度控制系統(tǒng)的設(shè)計 J. 九江學(xué)院學(xué)報, 2005(2):20-23.附錄附錄 1 溫度控制系統(tǒng)電路圖附

42、錄 2程序清單:ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38H;是否檢測到 DS18B20標志位A_BIT EQU 20H ; 數(shù)碼管個位數(shù)存放內(nèi)存位置B_BIT EQU 21H ; 數(shù)碼管十位數(shù)存放內(nèi)存位置XSEQU 30HMOV A,#00HMOV P2,AMAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序MOV A,29HMOV B,ACLR CRLC ACLR CRLC ACLR CRLC ACLR CRLC ASWAP AMOV 31H,AMOV A,BMOV C,40H;將 28H中的最低位移入CRRC AMO

43、V C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序AJMP MAIN; 這是 DS18B20復(fù)位初始化子程序INIT_1820:SETB P1.0NOPCLR P1.0; 主機發(fā)出延時 537 微秒的復(fù)位低脈沖MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P1.0; 然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P1.0,TSR3;等待 DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 ; 延時TSR3:S

44、ETB FLAG1 ; 置標志位 , 表示 DS1820存在LJMP TSR5TSR4:CLR FLAG1 ; 清標志位 , 表示 DS1820不存在LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ; 時序要求延時一段時間TSR7:SETB P1.0RET; 讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB P1.0LCALL INIT_1820; 先復(fù)位 DS18B20JB FLAG1,TSS2RET ; 判斷 DS1820是否存在 ?若 DS18B20不存在則返回TSS2:MOV A,#0CCH ; 跳過 ROM匹配LCALL WRITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間, 等

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論