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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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測(cè)溫技術(shù)的發(fā)展與應(yīng)用1</p><p>  1.3 設(shè)計(jì)具體任務(wù)及要求2</p><p>  2. 溫度控制原理的總體設(shè)計(jì)3</p><p>  2.1 單片機(jī)芯片的選擇方案和論證3</p><p>  2.2 顯示模塊選擇方案和論證3</p>

12、;<p>  2.3 溫度傳感器設(shè)計(jì)的選擇方案和論證4</p><p>  2.4 控制按鍵的選擇4</p><p>  3. 系統(tǒng)硬件設(shè)計(jì)5</p><p>  4. 溫度控制系統(tǒng)軟件的設(shè)計(jì)8</p><p>  4.1軟件總體設(shè)計(jì)8</p><p>  4.1.1 系統(tǒng)軟件設(shè)計(jì)整體思路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è)計(jì)17</p><p>  5.1 溫度控制系統(tǒng)軟件調(diào)試17</p><p><b>  結(jié)論18</b></p><p><b>  致 謝19</b></p><p><b>  參考文獻(xiàn)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>  隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p>  單片機(jī)在測(cè)控領(lǐng)域中具有十分廣泛的應(yīng)用,它既可以測(cè)量電信號(hào),又可測(cè)量濕度、溫度等非

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

49、實(shí)時(shí)控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產(chǎn)品,可以充分體現(xiàn)出匯編語(yǔ)言簡(jiǎn)明、整齊、執(zhí)行時(shí)間短和易于使用的特點(diǎn)。</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>  主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見(jiàn)圖4-1所示。其程序清單見(jiàn)附錄2。</p><

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

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

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

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

57、<p><b>  Y</b></p><p><b>  N</b></p><p>  圖4-4 寫入子程序</p><p><b>  (2)程序清單</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>  其詳細(xì)程序清單見(jiàn)附錄2。&

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

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

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

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

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

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

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

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

70、三年來(lái)一直照顧我的學(xué)習(xí)與生活,他們就像我的家長(zhǎng)一樣對(duì)待我,所以在這里我一定要感謝他們。當(dāng)然還要感謝我宿舍的兄弟們?cè)谖彝瓿稍O(shè)計(jì)的過(guò)程中給我的幫助和鼓勵(lì)也是他們陪我度過(guò)了這快樂(lè)的大學(xué)生活,他們是我一生中最好的朋友,對(duì)于他們我更是有千言萬(wàn)語(yǔ),感謝你們一直都伴隨著我。天下無(wú)不散的宴席。感謝在大學(xué)期間我所有交往的知己,有你們的伴隨,我的大學(xué)生活才能這么的豐富多彩。</p><p>  最后再向xx老師表示衷心的感謝,祝你在

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

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

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

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

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

76、學(xué)出版社,2006.[17] 李朝青.單片機(jī)原理及接口技術(shù)[M].2版.北京:北京航空航天大學(xué)出版社,2005.[18] 蔡美琴.MSC-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,1999.[19] 李曉妮.單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)[J].九江學(xué)院學(xué)報(bào),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;是否檢測(cè)到DS18B20標(biāo)志位 </p><p>  A_BIT EQU 20H ;數(shù)碼管個(gè)位數(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;主機(jī)發(fā)出延時(shí)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 ; 延時(shí)</p><p>  TSR3:SETB FLAG1 ; 置標(biāo)志位,表示D

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

89、p>  TSR6:DJNZ R0,TSR6 ; 時(shí)序要求延時(shí)一段時(shí)間</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 ; 跳過(guò)ROM匹配</p><p>  LCALL WRITE_1820</p><p>  MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令</p>&

91、lt;p>  LCALL WRITE_1820;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p>  LCALL DISPLAY</p><p>  LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位</p><p>  MOV A,#0CCH ; 跳過(guò)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的子程序(有具體的時(shí)序要求)</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中讀出兩個(gè)字節(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進(jìn)制/10=10進(jìn)制</p><p><b>  DIV AB</b></p><p>  MOV B_BIT,A ;十位在A</p><p>  MOV A_BIT,B

103、 ;個(gè)位在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、;取個(gè)位數(shù)</p><p>  MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼</p><p>  MOV P0,A ;送出個(gè)位的7段代碼</p><p>  CLR P2.1 ;開(kāi)個(gè)位顯示</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 ;開(kāi)十位顯示</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次沒(méi)完循環(huán)</p><p>  

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論