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