版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> ??飘厴I(yè)設(shè)計(論文)</p><p> 題 目 基于單片機的水溫控制系統(tǒng)設(shè)計 </p><p> 畢業(yè)設(shè)計(論文)任務(wù)書</p><p> 題目 基于單片機的水溫控制系統(tǒng)設(shè)計 </p><p> 主要內(nèi)容、基本要求、主要參考資料等:</p>
2、<p><b> 主要內(nèi)容:</b></p><p> 1).檢索與課題有關(guān)的國內(nèi)外資料;</p><p> 2).確定系統(tǒng)設(shè)計方案;</p><p> 3).設(shè)計電路原理圖;</p><p> 4).編制系統(tǒng)相應(yīng)程序,并上機調(diào)試;</p><p> 5).編寫畢業(yè)設(shè)計說
3、明書一份。</p><p><b> 基本要求:</b></p><p> 1).能夠理解控制系統(tǒng)的要求;</p><p> 2).理解單片機的工作原理;</p><p> 3).能夠正確完成控制系統(tǒng)的設(shè)計。</p><p><b> 主要參考資料:</b><
4、/p><p> 單片機原理及接口技術(shù)資料;</p><p><b> 測量技術(shù)方面資料;</b></p><p> 智能溫度傳感器相關(guān)資料。</p><p> 完 成 期 限: 2011年4月10日</p><p> 指導(dǎo)教師簽章: </p>
5、;<p> 專業(yè)負責人簽章: </p><p> 2010年11月6日</p><p><b> 畢業(yè)設(shè)計(論文)</b></p><p><b> 開題報告表</b></p><p> 基于單片機的水溫控制系統(tǒng)設(shè)計</p&g
6、t;<p><b> 摘 要</b></p><p> 本設(shè)計首先闡述了水溫控制在社會上的意義,又講解了單片機控制水溫系統(tǒng)的基本構(gòu)成及特點。本設(shè)計以單片機AT80C51為核心,通過3個數(shù)碼管顯示溫度和4個按鍵實現(xiàn)人機對話,使用單總線溫度轉(zhuǎn)換芯片DS18B20實時采集溫度并通過數(shù)碼管顯示,并提供各種運行指示燈用來指示系統(tǒng)現(xiàn)在所處狀態(tài),如:溫度設(shè)置、加熱、停止加熱等,整個系統(tǒng)
7、通過四個按鍵來設(shè)置加熱溫度和控制運行模式。</p><p> 在硬件方面,選用了較普遍的單片機,本文著重于對溫度采集方法進行了詳細的闡述,在軟件方面,編制了滿足控制要求的程序,除此之外,也充分考慮了實際應(yīng)用中的要求,設(shè)計時考慮到了成本、功耗、安全性、穩(wěn)定性、抗干擾性等諸多問題,具有一定的合理性和可行性。</p><p> 關(guān)鍵詞: 單片機、數(shù)碼管顯示、單總線、DS18B20.</
8、p><p> BASED TEMPERATURE CONTROL SYSTEM</p><p><b> ABSTRACT</b></p><p> The design of temperature control in the first expounded the significance of the community, but a
9、lso explained the water system MCU control the basic structure and characteristics. The design of a microcontroller AT80C51 as the core, through the three temperature digital display and 4 keys to achieve man-machine dia
10、logue, the use of single-chip bus temperature conversion temperature DS18B20 real-time acquisition and through the digital display and offers a variety of operating light to indicate </p><p> On the hardwar
11、e side, the choice of the more common single chip, this paper focused on the temperature measurement methods in detail, the software, developed to meet the control requirements of the program, in addition, also fully con
12、sidered the requirements of practical application Designed to take into account the cost, power consumption, security, stability, noise immunity, and many other issues with the rationality and feasibility.</p><
13、;p><b> 朗讀</b></p><p> 顯示對應(yīng)的拉丁字符的拼音</p><p> 字典 - 查看字典詳細內(nèi)容</p><p><b> 朗讀</b></p><p> 顯示對應(yīng)的拉丁字符的拼音</p><p> 字典 - 查看字典詳細內(nèi)容</
14、p><p> KEY WORDS: Monolithic integrated circuit, demonstration, single main line, DS18B20</p><p><b> 目 錄</b></p><p><b> 中文摘要I</b></p><p><
15、b> 英文摘要II</b></p><p> 1水溫控制系統(tǒng)的簡述1</p><p> 1.1 水溫控制系統(tǒng)的意義1</p><p> 1.2 水溫控制系統(tǒng)的發(fā)展1</p><p> 2 系統(tǒng)方案論證3</p><p> 3 系統(tǒng)總體設(shè)計4</p><p&g
16、t; 3.1 系統(tǒng)結(jié)構(gòu)框圖4</p><p> 3.2 系統(tǒng)子模塊4</p><p> 4 系統(tǒng)硬件設(shè)計5</p><p> 4.1 單片機最小系統(tǒng)電路5</p><p> 4.2 鍵盤電路5</p><p> 4.3 數(shù)碼管及指示燈顯示電路6</p><p> 4.4
17、 溫度采集電路8</p><p> 4.5 電源電路13</p><p> 4.6 報警電路13</p><p> 4.7 加熱管控制電路14</p><p> 5 系統(tǒng)軟件設(shè)計15</p><p> 5.1 主程序流程圖15</p><p> 5.2 各個模塊的流程圖
18、17</p><p> 5.2.1 讀取溫度DS18B20模塊的流程17</p><p> 5.2.2 鍵盤掃描處理流程19</p><p> 5.2.3 報警處理流程20</p><p><b> 6 系統(tǒng)調(diào)試21</b></p><p> 6.1 硬件電路調(diào)試21</
19、p><p> 6.2 軟件調(diào)試21</p><p> 6.3 系統(tǒng)操作說明22</p><p> 6.4 數(shù)據(jù)測試22</p><p><b> 總 結(jié)25</b></p><p><b> 致 謝26</b></p><p>&l
20、t;b> 參考文獻27</b></p><p> 附錄I:系統(tǒng)源程序28</p><p> 附錄II:系統(tǒng)硬件總圖38</p><p> 1 水溫控制系統(tǒng)的簡述</p><p> 1.1 水溫控制的意義</p><p> 溫度控制是無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重
21、要的作用,過低的溫度或過高的溫度都會使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費。特別是在當前全球水資源極度缺乏的情況下,我們更應(yīng)該掌握好對水溫的控制,把身邊的水資源好好地利用起來。</p><p> 1.2 水溫控制系統(tǒng)發(fā)展</p><p> 在現(xiàn)代冶金、石油、化工及電力生產(chǎn)過程中,溫度是極為重要而又普遍的熱工參數(shù)之一。在環(huán)境惡劣或溫度較高等場合下,為了保證生產(chǎn)過程正常安全地進行
22、,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動強度、節(jié)約能源,要求對加熱爐爐溫進行測、顯示、控制,使之達到工藝標準,以單片機為核心設(shè)計的爐溫控制系統(tǒng),可以同時采集多個數(shù)據(jù),并將數(shù)據(jù)通過通訊口送至上位機進行顯示和控制。那么無論是哪種控制,我們都希望水溫控制系統(tǒng)能夠有很高的精確度(起碼是在滿足我們要求的范圍內(nèi)),幫助我們實現(xiàn)我們想要的控制,解決身邊的問題。 </p><p> 及時準確地得到溫度信息并對其進行適時的控制
23、,在許多工業(yè)場合中都是重要的環(huán)節(jié)。水溫的變化影響各種系統(tǒng)的自動運作,例如冶金、機械、食品、化工各類工業(yè)中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對工件的水處理溫度要求嚴格控制。對于不同控制系統(tǒng),其適宜的水質(zhì)溫度總是在一個范圍。超過這個范圍,系統(tǒng)或許會停止運行或遭受破壞,所以我們必須能實時獲取水溫變化。對于,超過適宜范圍的溫度能夠報警。同時,我們也希望在適宜溫度范圍內(nèi)可以由檢測人員根據(jù)實際情況加以改變。</p><
24、p> 單片機對溫度的控制是工業(yè)生產(chǎn)中經(jīng)常使用的控制方法.自從1976年Intel公司推出第一批單片機以來,80年代單片機技術(shù)進入快速發(fā)展時期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展。單片機主要用于控制,它的應(yīng)用領(lǐng)域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機將微處理器、存儲器、定時/計數(shù)器、I/O接口電路等集成在一個芯片上的大規(guī)模集成電路,本身即是一個小型化的微
25、機系統(tǒng)。單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設(shè)計技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)結(jié)構(gòu)、計算機操作系統(tǒng)、匯編語言程序設(shè)計、高級語言程序設(shè)計、軟件工程、數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號處理、自動控制、誤差分析、儀器儀表結(jié)構(gòu)設(shè)計和制造工藝等的結(jié)合,使得單片機的應(yīng)用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制
26、造、安裝、調(diào)試及維修方便。</p><p> 傳統(tǒng)的溫度采集電路相當復(fù)雜,需要經(jīng)過溫度采集、信號放大、濾波、AD轉(zhuǎn)換等一系列工作才能得到溫度的數(shù)字量,并且這種方式不僅電路復(fù)雜,元器件個數(shù)多,而且線性度和準確度都不理想,抗干擾能力弱。現(xiàn)在常用的溫度傳感器芯片不但功率消耗低、準確率高,而且比傳統(tǒng)的溫度傳感器有更好的線性表現(xiàn),最重要的一點是使用起來方便。</p><p><b>
27、2 系統(tǒng)方案論證 </b></p><p><b> 方案1:</b></p><p> 此方案是采用傳統(tǒng)的二位模擬控制方法,選用模擬電路,用電位器設(shè)定給定值,采用上下限比較電路將反饋的溫度值與給定的溫度值比較后,決定加熱或者不加熱。由于采用模擬控制方式,系統(tǒng)受環(huán)境的影響大,不能實現(xiàn)復(fù)雜的控制算法使控制精度做得教高,而且不能用數(shù)碼顯示和鍵盤設(shè)定。 &l
28、t;/p><p><b> 方案2:</b></p><p> 采用單片機AT80C51為核心。采用了溫度轉(zhuǎn)換芯片DS18B20采集溫度變化信號,通過數(shù)碼管顯示其溫度值,最后各個繼電器電路部分控制溫度,使其達到穩(wěn)定。使用單片機具有編程靈活,控制簡單的優(yōu)點,使系統(tǒng)能簡單的實現(xiàn)溫度的控制及顯示,并且通過軟件編程能實現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點。</p&
29、gt;<p> 比較上述兩種方案,方案2明顯的改善了方案1的不足及缺點,并具有控制簡單、控制溫度精度高的特點,因此本設(shè)計電路采用方案2。</p><p><b> 3 系統(tǒng)總體設(shè)計</b></p><p> 3.1 系統(tǒng)結(jié)構(gòu)框圖</p><p> 本設(shè)計主要是通過對單片機編程將由溫度傳感器DS18B20采集的溫度外加驅(qū)動電
30、路顯示出來,包括對繼電器的控制,進行升溫,當溫度達到上下限蜂鳴器進行報警。</p><p> 其結(jié)構(gòu)框圖如圖3-1:</p><p> 圖 3-1 系統(tǒng)結(jié)構(gòu)框圖</p><p><b> 3.2系統(tǒng)子模塊</b></p><p> (1) 單片機最小系統(tǒng)電路部分</p><p> (2)
31、 鍵盤掃描電路部分</p><p> (3) 數(shù)碼管溫度顯示和運行指示燈電路部分</p><p> (4) 溫度采集電路部分</p><p> (5) 繼電器控制部分</p><p><b> (6) 報警部分</b></p><p><b> 4 系統(tǒng)硬件設(shè)計</b&g
32、t;</p><p> 4.1 單片機最小系統(tǒng)電路</p><p> 因為80C51單片機內(nèi)部自帶8K的ROM和256字節(jié)的RAM,因此不必構(gòu)建單片機系統(tǒng)的擴展電路。如圖4-1,單片機最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的一點是單片機的31腳必須接高電平,否則系統(tǒng)將不能運行。因為該腳不接時為低電平,單片機將直接讀取外部程序存儲器,而系統(tǒng)沒有外部程序存儲器,所以必須接VCC。在按鍵兩
33、端并聯(lián)一個電解電容,濾除交流干擾,增加系統(tǒng)抗干擾能力。</p><p> 圖4-1 單片機最小系統(tǒng)圖</p><p><b> 4.2 鍵盤電路</b></p><p> 鍵盤是單片機應(yīng)用系統(tǒng)中的主要輸入設(shè)備,單片機使用的鍵盤分為編碼鍵盤和非編碼鍵盤。編碼鍵盤采用硬件線路來實現(xiàn)鍵盤的編碼,每按下一個鍵,鍵盤能夠自動生成按鍵代碼,并有去抖功
34、能。因此使用方便,但硬件較復(fù)雜。非編碼鍵盤僅僅提供鍵開關(guān)狀態(tài),由程序來識別閉合鍵,消除抖動,產(chǎn)生相應(yīng)的代碼,轉(zhuǎn)入執(zhí)行該鍵的功能程序。非編碼鍵盤中鍵的數(shù)量較少,硬件簡單,在單片機中應(yīng)用非常廣泛。</p><p> 圖為按鍵和AT80C51的接線圖,檢測儀共設(shè)有4個按鍵,每個按鍵由軟件來決定其功能,4個按鍵功能分別為:</p><p> (1) SW1:設(shè)定按鍵(設(shè)定按鍵)</p&g
35、t;<p> (2) SW2:加法按鍵(當前位加5)</p><p> (3) SW3:減法按鍵(當前位減5)</p><p> (4) SW4:退出設(shè)置鍵(系統(tǒng)初始化)</p><p> 圖4-2 單片機按鍵和AT80C51的接線圖</p><p> 4.3 數(shù)碼管及指示燈顯示電路</p><p&
36、gt; ?。?)數(shù)碼管顯示說明</p><p> 各個數(shù)碼管的段碼都是單片機的數(shù)據(jù)口輸出,即各個數(shù)碼管輸入的段碼都是一樣的,為了使其分別顯示不同的數(shù)字,可采用動態(tài)顯示的方式,即先只讓最低位顯示0(含點),經(jīng)過一段延時,再只讓次低位顯示1,如此類推。由視覺暫留,只要我們的延時時間足夠短,就能夠使得數(shù)碼的顯示看起來非常的穩(wěn)定清楚,過程如表4-1。</p><p> 表4-1 數(shù)碼管編碼表&
37、lt;/p><p> 本論文中使用了3個數(shù)碼管,其中前兩位使用動態(tài)掃描顯示實測溫度,在設(shè)置加熱溫度的時候,兩個數(shù)碼管是閃爍,以提示目前處在溫度設(shè)置狀態(tài)。第三位數(shù)碼管靜態(tài)顯示符號“℃”。</p><p> (2)運行指示燈說明</p><p> 本熱水器溫度控制系統(tǒng)中共使用到3個LED指示燈和3個數(shù)碼管。右上角的紅色LED是電源指示燈;數(shù)碼管右邊的紅色LED是加熱指
38、示燈,當剛開機或溫度降到設(shè)定溫度5℃以下時,該燈會亮,表示目前處于加熱狀態(tài);當溫度上升到設(shè)定溫度時,該LED滅,同時數(shù)碼管右邊的綠色LED亮,表示目前處于保溫狀態(tài),用戶可以使用熱水器;當溫度再次下降到設(shè)定溫度5℃以下時,綠色LED滅,紅色加熱的LED燈亮,不斷循環(huán),如圖4-3所示。</p><p> 圖4-3 LED數(shù)碼管顯示電路圖</p><p> 4.4 溫度采集電路</
39、p><p> (1) DS18B20介紹</p><p> Dallas最新單線數(shù)字溫度傳感器DS18B20簡介新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟。Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20、DS1822“一線總線”數(shù)字
40、化溫度傳感器同DS18B20一樣,DS18B20也支持“一線總線”接口,測量溫度范圍為 -55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃。DS1822的精度較差為±2℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳配置和封裝結(jié)構(gòu)如圖4-4所示。</p><p><b> 引腳定義: </b></p&g
41、t;<p> ?、?DQ為數(shù)字信號輸入/輸出端; </p><p> ?、?GND為電源地; </p><p> ?、?VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。 </p><p> 圖4-4 DS18B20封裝</p><p> ?。?)DS18B20的單線(1-wire bus)系統(tǒng)</p>&
42、lt;p> 單線總線結(jié)構(gòu)是DS18B20的突出特點,也是理解和編程的難點。從兩個角度來理解單線總線:第一,單線總線只定義了一個信號線,而且DS18B20智能程度較低(這點可以與微控制器和SPI器件間的通信做一個比較),所以DS18B20和處理器之間的通信必然要通過嚴格的時序控制來完成。第二,DS18B20的輸出口是漏級開路輸出,這里給出一個微控制器和DS18B20連接原理圖。這種設(shè)計使總線上的器件在合適的時間驅(qū)動它。顯然,總線上
43、的器件與(wired AND)關(guān)系。這就決定:(1)微控制器不能單方面控制總線狀態(tài)。之所以提出這點,是因為相當多的文獻資料上認為,微控制器在讀取總線上數(shù)據(jù)之前的I/O口的置1操作是為了給DS18B20一個發(fā)送數(shù)據(jù)的信號。這是一個錯誤的觀點。如果當前DS18b20發(fā)送0,即使微控制器I/O口置1,總線狀態(tài)還是0;置1操作是為了是I/O口截止(cut off),以確保微控制器正確讀取數(shù)據(jù)。(2)除了DS18B20發(fā)送0的時間段,其他時間其
44、輸出口自動截止。自動截止是為確保:1時,在總線操作的間隙總線處于空閑狀態(tài),即高態(tài)。2時,確保微控制器在寫1的時候DS18B20可以正確讀入。</p><p> 由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。</p>&l
45、t;p> ① DS18B20的復(fù)位時序,如圖4-5</p><p> 圖4-5 DS18B20的復(fù)位時序圖</p><p> ?、?DS18B20的讀時序</p><p> 對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。</p><p> 對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總
46、線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。DS18B20的讀時序圖如圖4-6所示。</p><p> 圖4-6 DS18B20的讀時序</p><p> ?、?DS18B20的寫時序</p><p> 對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。</p><p&
47、gt; 對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。如圖4-7所示。</p><p> 圖4-7 DS18B20的寫時序圖</p><p> (3)DS18B20的供電方式</p>
48、;<p> 在圖4-8中示出了DS18B20的寄生電源電路。當DQ或VDD引腳為高電平時,這個電路便“取”的電源。寄生電路的優(yōu)點是雙重的,遠程溫度控制監(jiān)測無需本地電源,缺少正常電源條件下也可以讀ROM。為了使DS18B20能完成準確的溫度變換,當溫度變換發(fā)生時,DQ線上必須提供足夠的功率。</p><p> 有兩種方法確保 DS18B20 在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度
49、變換時,在 DQ 線上提供一強的上拉,這期間單總線上不能有其它的動作發(fā)生。如圖3-8 所示,通過使用一個 MOSFET 把 DQ 線直接接到電源可實現(xiàn)這一點,這時DS18B20 工作在寄生電源工作方式,在該方式下 VDD 腳必須連接到地。</p><p> 圖4-8 DS18B20供電方式1</p><p> 另一種方法是 DS18B20 工作在外部電源工作方式,如圖4-9 所示。
50、這種方法的優(yōu)點是在 DQ 線上不要求強的上拉,總線上主機不需要連接其它的外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。此外,在單總線上可以并聯(lián)多個 DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞?,那么通過發(fā)出相應(yīng)的命令便可以同時完成溫度變換。</p><p> 圖4-9 DS18B20供電方式2</p><p> ?。?)DS18B20設(shè)計中
51、應(yīng)注意的幾個問題</p><p> DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用接口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:較小的硬件開銷需要相對復(fù)雜的軟件進行補償,由于DS18B20 與微處理器間采用串行數(shù)據(jù)傳送。因此, 在對DS18B20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在DS18B20 有關(guān)資料中均未提及1Wire上所掛DS18B20數(shù)量問題,容易
52、使人誤認為可以掛任意多個DS18B20,在實際應(yīng)用中并非如此。當1Wire上所掛DS18B20超過8個時,就需要考慮微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時要加以注意。連接DS18B20的總線電纜是有長度限制的。實際應(yīng)用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC 和地線,屏蔽層在源端單點接地。</p><p> 本文以廣泛應(yīng)用的數(shù)字溫度傳感器DS18B20為例,
53、說明了1Wire總線的操作過程和基本原理。事實上,基于1Wire總線的產(chǎn)品還有很多種,如1Wire總線的E2PROM、實時時鐘、電子標簽等。他們都具有節(jié)省I/O資源、結(jié)構(gòu)簡單、開發(fā)快捷、成本低廉、便于總線擴展等優(yōu)點,因此有廣闊的應(yīng)用空間,具有較大的推廣價值。</p><p> 本設(shè)計將溫度傳感器DS18B20與單片機TXD引腳相連,讀取溫度傳感器的數(shù)值。DS18B20與單片機連接圖如圖所示4-10所示。<
54、/p><p> 圖4-10 DS18B20與單片機連接圖</p><p><b> 4.5 電源電路</b></p><p> 采用L7805穩(wěn)壓塊,輸出為5V。電子組件要正常運作都需要電源電壓供電,一般常用的電源電壓為+5V或+12V,因為數(shù)字IC (Ingegrated Circuit:集成電路)所供給的電壓為+5V,而CMOS IC所供
55、給的電壓為+12V,7805是一個穩(wěn)壓塊。7805穩(wěn)壓管把高電壓轉(zhuǎn)換到低電壓,7805穩(wěn)壓管具有保護單片機的作用。L7805輸出端要并聯(lián)上一個電解電容,濾除交流電干擾,防止損壞單片機系統(tǒng)。本設(shè)計采用兩種供電方式,一種為DC7~18V直流穩(wěn)壓電源變換成5V的直流電;另一種為四節(jié)干電池共6V經(jīng)二極管加壓后得到將近5V的直流電源,電源配以開關(guān)和指示燈,以方便使用。黃色發(fā)光二極管表示保溫,紅色的表示加熱狀態(tài)。</p><p&
56、gt; 圖4-11 系統(tǒng)電源設(shè)計圖</p><p><b> 4.6 報警電路</b></p><p> 同時可以在系統(tǒng)里設(shè)定溫度上限值,由于加熱停止后,加熱管還有余熱當采集到的外界溫度高于當前所設(shè)定溫度上限值時,程序就會進入報警子程序,觸發(fā)蜂鳴器進行報警。報警電路原理圖如圖所示。</p><p> 圖4-12 報警電路圖</p
57、><p> 圖中的三極管8550的作用是增加驅(qū)動能力,比9012的驅(qū)動電流還大些,因此選用8550。當程序進入報警子程序時,把P2.7置0,就會觸發(fā)蜂鳴器,為了使報警聲音效果更好,對P2.7取反,發(fā)出報警嘟嚕聲音。</p><p> 4.7 加熱管控制電路</p><p> 繼電器是常用的輸出控制接口,可以做交直流信號的輸出切換。它具有控制系統(tǒng)(又稱輸入回路)和被
58、控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。繼電器控制接點操作說明如下:</p><p> ●COM:Common,共同點。輸出控制接點的共同接點。</p><p> ●NC:Normal Close常閉點。以Com為共同點,NC與COM在平時是呈導(dǎo)通狀態(tài)的。</p&
59、gt;<p> ●NO:Normal Open常開點。NO與COM在平時是呈開路狀態(tài)的,當繼電器動作時,NO與COM導(dǎo)通,NC與COM則呈開路狀態(tài)。</p><p> 當89S52的P2.5輸出高電平時,繼電器不導(dǎo)通,反之當輸出低電平時,繼電器導(dǎo)通,這樣就激活了連接回路。</p><p> 圖4-13 單片機控制繼電器</p><p><
60、b> 5 軟件系統(tǒng)設(shè)計</b></p><p> 本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設(shè)計:DS18B20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及抱經(jīng)處理程序。(其程序編程語言詳見附錄I)</p><p><b> 5.1主程序流程圖</b></p><p> 圖 5-1 主程序流
61、程圖</p><p> 5.2 各個模塊的流程圖</p><p> 5.2.1 讀取溫度DS18B20模塊的流程</p><p> 由于DS18B20采用的是一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。</p><p
62、> DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, </p><p> DS18B20必須首先調(diào)用啟動溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊上對應(yīng)轉(zhuǎn)換時間來超作,如為12位轉(zhuǎn)換,則應(yīng)該是
63、最大750mS,另外在對DS18B20超作時,時序要求非常嚴格,因此最好禁止系統(tǒng)中斷。</p><p> 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器
64、件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。</p><p> DS18B20的讀時序:</p><p> ?。?)對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。 </p><p> ?。?)對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上
65、。DS18B20在完成一個讀時序過程,至少需要60us才能完成。</p><p> DS18B20的寫時序:</p><p> (1)對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。 </p><p> (2)對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間
66、能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。</p><p> 系統(tǒng)程序設(shè)計主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。</p><p> 圖5-2讀取溫度DS18B20模塊的流程圖</p><p><b> 程序代碼為:</b></p>&l
67、t;p> GET_TEMPER:SETBDQ;讀出轉(zhuǎn)換后的溫度值</p><p> LCALLINIT_1820;先復(fù)位DS18B20</p><p> JBFLAG1,TSS2</p><p> RET;判斷DS1820是否存在?若DS18B20不存在則返回</p><p> TSS2:MOVA,#0CCH
68、;DS18B20已經(jīng)被檢測到!!!!!!!!!!!!!!!跳過ROM匹配</p><p> LCALLWRITE_1820</p><p> MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令</p><p> LCALLWRITE_1820</p><p> LCALL DISPLAY;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待A
69、D轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p> LCALLINIT_1820;準備讀溫度前先復(fù)位</p><p> MOVA,#0CCH;跳過ROM匹配</p><p> LCALLWRITE_1820</p><p> MOVA,#0BEH;發(fā)出讀溫度命令</p><p> LCALLW
70、RITE_1820</p><p> LCALLREAD_18200;將讀出的溫度數(shù)據(jù)保存到35H/36H</p><p><b> RET</b></p><p> 5.2.2 鍵盤掃描處理流程</p><p> 此流程為鍵盤掃描處理,CPU通過檢測各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個按鍵
71、閉合。鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵閉合,消除抖動,根據(jù)鍵號轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如圖5-3所示。</p><p> 圖5-3鍵盤掃描子程序流程圖</p><p> 5.2.3 報警處理流程</p><p> 運行程序后,溫度傳感器DS18B20即可對環(huán)境進行溫度采集,并送LED數(shù)碼管顯示。我們可以在程序里設(shè)定溫度上限值,當采集到
72、的外界溫度高于當前所設(shè)定溫度上限值時,程序就會進入報警子程序,觸發(fā)蜂鳴器進行報警。流程圖如圖5-4所示。</p><p> 圖5-4 報警子程序流程圖</p><p><b> 6 系統(tǒng)調(diào)試</b></p><p> 6.1 硬件電路調(diào)試</p><p> 仔細檢查所接電路,按照硬件原理圖接線,理論上是能實現(xiàn)的
73、,如果數(shù)碼管不顯示,則應(yīng)該檢查線路是否正確,或是因為單片機沒有工作,還有集電極和發(fā)射極是否接對。如果只顯示兩個八,則可能是DS18B20沒有接正確,檢查上拉電路是否接好。另外要注意的是,由單片機輸出的控制信號比較小,需要進行放大才能驅(qū)動繼電器工作,否則就不能實現(xiàn)升溫過程,通常選用8550三極管來進行放大。還有220V交流電綠色接頭和加熱管黃色接頭必須接正確,否則導(dǎo)致電路燒壞。蜂鳴器是低電平有效。如果能注意這些問題,電路基本不會出錯。&l
74、t;/p><p> 6.2 軟件電路調(diào)試</p><p> 如果硬件電路檢查后,沒有問題卻實現(xiàn)不了設(shè)計要求,則可能是軟件編程的問題,首先應(yīng)檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序,對這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,以及涉及到了標號,有時會因為一個標號而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯。本人在設(shè)計的時候在偉福仿真軟件進行調(diào)試,通過此軟件進
75、行調(diào)試可以很方便的觀察單片機內(nèi)部各個寄存器及內(nèi)部存儲器變化情況,以方便進行調(diào)試。圖為單片機功能調(diào)試圖:</p><p> 圖6-1 單片機功能調(diào)試圖</p><p> 硬件與軟件調(diào)試相結(jié)合,仔細檢查各個模塊的設(shè)計,舊能順利完成任務(wù),實現(xiàn)設(shè)計要求,在調(diào)試過程中必須認真耐心,不能有一點馬虎,否則遺漏一個小的問題就會導(dǎo)致整個設(shè)計的失敗。</p><p> 6.3 系
76、統(tǒng)操作說明</p><p> 本系統(tǒng)上電后數(shù)碼管顯示當前測量溫度,此時加熱指示燈和保溫指示燈均不點亮;若此時按“自動加熱”鍵,則單片機自動將預(yù)加熱溫度設(shè)置為80℃并開始加熱,送出一個加熱信號,并點亮加熱指示燈;若按“溫度設(shè)置”鍵,則進入預(yù)加熱溫度設(shè)置界面,此時數(shù)碼管閃爍顯示預(yù)設(shè)置溫度,此時通過按鍵“+”和“-”進行設(shè)置溫度,預(yù)設(shè)置溫度按“5”遞增或遞減,設(shè)置好溫度后再按一次“溫度設(shè)置”鍵確定,單片機保存預(yù)設(shè)置溫
77、度,并開始加熱。此時單片機通過數(shù)碼管顯示實時檢測的溫度并和預(yù)設(shè)置溫度進行對比,如果實測溫度大于或等于預(yù)設(shè)置溫度,則單片機發(fā)出停止加熱信號并熄滅加熱指示燈,點亮保溫指示燈,且當超過預(yù)設(shè)溫度時發(fā)出報警;當溫度下降到預(yù)設(shè)置溫度以下5度時,單片機再次發(fā)出加熱信號,同時熄滅保溫指示燈,點亮加熱指示燈,依次循環(huán)控制。</p><p><b> 6.4 數(shù)據(jù)測試</b></p><p
78、><b> 1.靜態(tài)數(shù)據(jù)測試</b></p><p> 取一桶凈水,改變它的溫度,觀察數(shù)碼管上顯示的溫度值,并用溫度計進行測溫,記錄兩組數(shù)據(jù),比較差異。記錄表如下:</p><p> 表6-1 靜態(tài)溫度數(shù)據(jù)測試表</p><p> 有測試數(shù)據(jù)可知,本系統(tǒng)測溫結(jié)果與溫度計測溫基本一致,能滿足設(shè)計,證明了設(shè)計的合理性。</p&g
79、t;<p><b> 2.動態(tài)數(shù)據(jù)測試</b></p><p> 進行溫度設(shè)定,通過設(shè)定溫度值(75℃),觀察加熱管的加熱情況,以及數(shù)碼管的顯示值,再用溫度計測量水溫,每隔一段時間記錄一次數(shù)據(jù),將兩組值進行比較。記錄表如下:(設(shè)定前溫度為25℃)</p><p> 表5-2 靜態(tài)溫度數(shù)據(jù)測試表</p><p> 通過上表可
80、看出在加熱的過程中,顯示的溫度與實測的溫度近似一樣,說明系統(tǒng)的設(shè)計達到精度要求,但還是略有偏差,基本不影響設(shè)計結(jié)果。</p><p> 整個測試過程表明設(shè)計達到了任務(wù)書的要求,證明了該方案是合理可行的,順利完成了設(shè)計,達到了預(yù)想結(jié)果。</p><p><b> 總 結(jié)</b></p><p> 通過本次的設(shè)計,使我們不僅對單片機這門課程
81、有了更深刻的認識,懂得了如何運用課本知識結(jié)合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎(chǔ)。</p><p> 另外,這次的設(shè)計還讓我更進一步的認識了關(guān)于AT80C51等芯片的引腳功能以及使用方法,使我學會了應(yīng)用不同的芯片來配合完成整個設(shè)計的操作。</p>&
82、lt;p> 在做硬件電路的這段時間里,從思考設(shè)計到對電路的調(diào)試經(jīng)過了許多困難。同樣在對軟件進行設(shè)計時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學會了很多東西,同時對單片機也有了更深的認識。在做設(shè)計的時候,很需要耐心和對事物的細心,很多時候一個簡單問題的一個簡單的疏忽就會導(dǎo)致整個電路的不工作,只有不斷的檢查不斷的調(diào)試,才能真正完成一個設(shè)計的制作。只有不斷的發(fā)現(xiàn)問題解決問題,才能從問題中改變自己,提升自
83、己對單片機的能力。</p><p> 此設(shè)計雖然能夠完成溫度的顯示和控制,但功能和精度有待于進一步提高。以后可以通過加入PID算法優(yōu)化控制功能,并通過液晶顯示屏實時顯示溫度。</p><p><b> 致 謝</b></p><p> 經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個專科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考
84、慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學們的支持,想要完成這個設(shè)計是難以想象的。首先感謝xx老師出的這些論文選題,給了我這么一個展現(xiàn)自己能力的平臺。在這一個論文設(shè)計之中,涉及到了方方面面的知識,沒有大學期間各個學科老師的辛勤栽培,也不會有我見天的成果。所以要感謝所有的任課老師 。</p><p> 在這里也要感謝我的室友們,是他們在平時無微不至的照顧,才有了我更棒的身體,和更多的學習時間。三年
85、的時間里,我們沒有紅過臉,我們一直保持著那份純真的友誼,是我們的互相幫助,才有了今天的這份德業(yè)雙修。所以在這里也要感謝我們的鄭州科技學院,是學院給了我們這么寬廣的一個交流平臺,能夠在獲得知識的同時,也能得到同樣珍貴的友誼。</p><p> 在論文即將完成之際,我的心情很是激動,那些埋頭苦干和終日坐在電腦跟前的場景還是歷歷在目,辛勤勞動的付出,相信也能夠給我?guī)硗瑯臃至康氖斋@。從開始進入課題到論文的順利完成,有
86、太多太多的要感謝的朋友和老師,在這里請接受我真摯的感謝!</p><p><b> 參考文獻</b></p><p> [l] 樂建波 編著《溫度控制系統(tǒng)》化學工業(yè)出版社</p><p> [2] 謝自美 編著 《電子線路設(shè)計·實驗·測試(第二版)》 華中科技大學出版社 2000</p><p&
87、gt; [3] 武慶生 仇梅 編著 《單片機原理與應(yīng)用》 電子科技大學出版社 1998.2</p><p> [4] 譚浩強 編著《C程序設(shè)計》.北京:清華大學出版社1999年</p><p> [5] 華中理工大學電子學教研室編 《電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)》高等教育出版社 2000.6</p><p> [6] 《電子制作》2004.10<
88、;/p><p> [7] 王彬 任艷穎 編著《Digital IC System Design》 西安電子科技大學出版社 2005.9</p><p> [8] 趙麗娟 邵欣編著《基于單片機的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)》 機械制造</p><p> [9] 郭炳坤 簡單的恒溫箱溫控電路[J].儀器與未來,1991</p><p><b&
89、gt; 附錄I:系統(tǒng)源程序</b></p><p> EMPER_LEQU29H;用于保存讀出溫度的低8位</p><p> TEMPER_HEQU28H;用于保存讀出溫度的高8位</p><p> FLAG1EQU38H;是否檢測到DS18B20標志位</p><p> A_BITEQU20H;
90、數(shù)碼管個位數(shù)存放內(nèi)存位置</p><p> B_BITEQU21H;數(shù)碼管十位數(shù)存放內(nèi)存位置</p><p> B1EQU70H;溫度小數(shù)點位</p><p> A1EQU71H;設(shè)定溫度值</p><p> DQEQUP3.1;DQ為DS18B20數(shù)據(jù)位</p><p> BELL
91、EQUP2.7;//蜂鳴報警</p><p> ORG0000H;單片機內(nèi)存分配申明!</p><p> AJMPMAIN0</p><p> ;///////////////////////////////////前面的都是定義</p><p> MAIN:MOVR0,#10</p><p>
92、 M1:CPLP2.3</p><p> ACALLDELAY125</p><p> DJNZR0,M1;//此段為燈閃5次,無實際意義</p><p> ;///////////////////////////////////////////////</p><p> MAIN0:MOVA1,#80;默認加熱為80
93、度</p><p> MAIN1:LCALLD1820;調(diào)用讀溫度子程序</p><p> LCALLDISPLAY;調(diào)用數(shù)碼管顯示子程序</p><p><b> MOVA,29H</b></p><p><b> CLRC</b></p><p>
94、 CJNEA,A1,MAIN1_1</p><p> SETBBELL;//溫度相等,關(guān)閉蜂鳴器</p><p> AJMPMAIN1_1_A;//下等不用叫蜂鳴器</p><p> MAIN1_1:JCMAIN1_2;為1轉(zhuǎn)移,表示小于設(shè)定溫度</p><p> CPLBELL;蜂鳴器斷續(xù)鳴叫</p>
95、<p> MAIN1_1_A:CLRP2.3;//下面是表示沒達到溫度</p><p><b> SETBP2.5</b></p><p> AJMPMAIN2</p><p> ;/////////////////////////////////////主要是檢測溫度是否小于設(shè)定的溫度,小于,則開發(fā)熱管CLR
96、P2.3</p><p> MAIN1_2:SETBBELL;//關(guān)閉蜂鳴器</p><p> CLRP2.5;//開發(fā)熱管</p><p><b> SETBP2.3</b></p><p> ;///////////////////////////////上面的是大于,關(guān)發(fā)熱管</p>
97、<p> MAIN2:JBP1.0,MAIN1;//看P1.0有否按下</p><p> ACALLDELAY125;//延時防抖動,常用的手法,網(wǎng)上很多介紹的</p><p> JBP1.0,MAIN1;//再次查看</p><p><b> CLRP2.3</b></p><p>
98、; JNBP1.0,$;//等按鍵完全松手才進入!</p><p><b> SETBP2.3</b></p><p><b> SETBP2.5</b></p><p> ;///檢測到P1.0按鍵后后進入設(shè)定溫度</p><p> MAIN2_1:ACALLDISPLAY1
99、</p><p> JBP1.2,MAIN2_2</p><p> ACALLDELAY125</p><p> JBP1.2,MAIN2_2</p><p> JNBP1.2,$</p><p><b> MOVA,#5</b></p><p><
100、;b> ADDA,A1</b></p><p><b> CLRC</b></p><p> CJNEA,#100,MAIN2_1_1</p><p><b> MOVA,#99</b></p><p> AJMPMAIN2_1_3</p><
101、;p> ;////////////////上面這一段是+5度按鍵,按下+5度</p><p> MAIN2_1_1:JCMAIN2_1_3</p><p> MAIN2_1_2:CLRC</p><p><b> MOVA,#99</b></p><p> MAIN2_1_3:MOVA1,A
102、</p><p> MAIN2_2:JBP1.4,MAIN2_3</p><p> ACALLDELAY125</p><p> JBP1.4,MAIN2_3</p><p> JNBP1.4,$</p><p><b> MOVA,A1</b></p><
103、;p> CJNEA,#99,ZY1</p><p><b> MOVB,#4</b></p><p><b> AJMPZY2</b></p><p> ZY1:MOVB,#5</p><p> ZY2:CLRC</p><p><b>
104、; MOVA,A1</b></p><p><b> SUBBA,B</b></p><p> MAIN2_2_1:JNCMAIN2_2_2</p><p><b> MOVA1,#0</b></p><p> AJMPMAIN2_3</p><
105、p> ;////////////////上面這一段是-5度按鍵,按下-5度</p><p> MAIN2_2_2:MOVA1,A</p><p> MAIN2_3:JBP1.6,MAIN2_1</p><p> ACALLDELAY125</p><p> JBP1.6,MAIN2_1</p><
106、;p><b> CLRP2.3</b></p><p> JNBP1.6,$</p><p><b> SETBP2.3</b></p><p> AJMPMAIN1</p><p> ;/////////////上面這一段是退出的意思的!</p><p&
107、gt; D1820:LCALLGET_TEMPER;調(diào)用讀溫度子程序</p><p> MOVB1,29H</p><p><b> MOVA,29H</b></p><p> MOVC,40H;將28H中的最低位移入C</p><p><b> RRCA</b></
108、p><p><b> MOVC,41H</b></p><p><b> RRCA</b></p><p><b> MOVC,42H</b></p><p><b> RRCA</b></p><p><b>
109、; MOVC,43H</b></p><p><b> RRCA</b></p><p><b> MOV29H,A</b></p><p><b> MOVA,B1</b></p><p> MOVB,#10H</p><p
110、><b> MULAB</b></p><p> MOVB,#10H</p><p><b> DIVAB</b></p><p><b> MOVB,#10</b></p><p><b> MULAB</b></p>
111、;<p> MOVB,#10H</p><p><b> DIVAB</b></p><p><b> MOVB1,A</b></p><p><b> RET</b></p><p> ;//////////上面這一段是讀取溫度后進行轉(zhuǎn)換的意思!
112、</p><p> ;/////////////////////////////////</p><p> ;////////////////////////////////</p><p> ;///////////////////////////////</p><p> INIT_1820:SETBDQ;這是DS18B20
113、復(fù)位初始化子程序</p><p><b> NOP</b></p><p> CLRDQ;主機發(fā)出延時537微秒的復(fù)位低脈沖</p><p><b> MOVR1,#3</b></p><p> TSR1:MOVR0,#107</p><p><b&g
114、t; DJNZR0,$</b></p><p> DJNZR1,TSR1</p><p> SETBDQ;然后拉高數(shù)據(jù)線</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> N
115、OP</b></p><p><b> NOP</b></p><p> MOVR0,#25H</p><p> TSR2:JNBDQ,TSR3;等待DS18B20回應(yīng)</p><p> DJNZR0,TSR2</p><p> LJMPTSR4;延時</
116、p><p> TSR3:SETBFLAG1;置標志位,表示DS1820存在</p><p><b> LJMPTSR5</b></p><p> TSR4:CLRFLAG1;清標志位,表示DS1820不存在</p><p><b> LJMPTSR7</b></p>
117、<p> TSR5:MOVR0,#117</p><p> TSR6:DJNZR0,TSR6;時序要求延時一段時間</p><p> TSR7:SETBDQ</p><p><b> RET</b></p><p> GET_TEMPER:SETBDQ;讀出轉(zhuǎn)換后的溫度值<
118、/p><p> LCALLINIT_1820;先復(fù)位DS18B20</p><p> JBFLAG1,TSS2</p><p> RET;判斷DS1820是否存在?若DS18B20不存在則返回</p><p> TSS2:MOVA,#0CCH;DS18B20已經(jīng)被檢測到!!!!!!!!!!!!!!!跳過ROM匹配</p
119、><p> LCALLWRITE_1820</p><p> MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令</p><p> LCALLWRITE_1820</p><p> LCALLDISPLAY;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p> LCALL
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----基于單片機的水溫控制系統(tǒng)設(shè)計
- 基于單片機的水溫控制系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于單片機的水溫控制系統(tǒng)設(shè)計
- 基于單片機的水溫控制系統(tǒng)的畢業(yè)設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計論文
- 基于單片機水溫控制系統(tǒng)
- 基于單片機控制的水溫控制系統(tǒng)的設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計開題報告
- 單片機水溫控制系統(tǒng)課程設(shè)計
- 基于單片機的水溫控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--基于單片機的水溫控制系統(tǒng)
- 基于單片機的水溫控制系統(tǒng)設(shè)計開題報告
- 電子信息工程畢業(yè)設(shè)計基于單片機的智能水溫控制系統(tǒng)
- 畢業(yè)設(shè)計--基于單片機爐溫控制系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計--基于單片機的恒溫控制系統(tǒng)設(shè)計
- 基于單片機的智能水溫控制系統(tǒng)
- 畢業(yè)設(shè)計--單片機ds18b20水溫控制系統(tǒng)設(shè)計
- 基于單片機的水溫控制系統(tǒng)畢業(yè)論文
- 水溫控制系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論