版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 1.1 設(shè)計(jì)課題的目的及意義1</p><p> 1.2 溫度檢測(cè)技術(shù)的國(guó)內(nèi)外現(xiàn)狀2</p><p> 2 室內(nèi)采暖溫度檢測(cè)系統(tǒng)方案論證5</p>
2、<p> 2.1 方案設(shè)計(jì)5</p><p> 2.2 方案選擇6</p><p> 3 室內(nèi)采暖溫度檢測(cè)系統(tǒng)硬件設(shè)計(jì)7</p><p> 3.1 單片機(jī)模塊7</p><p> 3.2 溫度檢測(cè)模塊9</p><p> 3.3 報(bào)警電路模塊15</p>&
3、lt;p> 3.4 存儲(chǔ)模塊16</p><p> 3.5 時(shí)鐘芯片模塊17</p><p> 3.6 日期調(diào)整按鍵模塊19</p><p> 3.7 1602液晶顯示模塊19</p><p> 3.8 電源模塊23</p><p> 3.9 硬件總體設(shè)計(jì)23</p>
4、;<p> 4 室內(nèi)采暖溫度檢測(cè)系統(tǒng)軟件設(shè)計(jì)25</p><p> 4.1 系統(tǒng)程序總體流程概況25</p><p> 4.2 子程序設(shè)計(jì)25</p><p> 5 系統(tǒng)調(diào)試與結(jié)果分析30</p><p> 5.1 軟件調(diào)試30</p><p> 5.2 仿真結(jié)果30&
5、lt;/p><p><b> 6 總結(jié)31</b></p><p><b> 參考文獻(xiàn)32</b></p><p><b> 致 謝33</b></p><p> 附錄一、電路原理圖34</p><p> 附錄二、系統(tǒng)仿真圖35&
6、lt;/p><p> 附錄三、源程序36</p><p><b> 1 引言</b></p><p> 隨著電子技術(shù)和微型計(jì)算機(jī)的迅速發(fā)展,微機(jī)測(cè)量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。單片機(jī)具有處理能強(qiáng)、運(yùn)行速度快、功耗低等優(yōu)點(diǎn),應(yīng)用在溫度測(cè)量與控制方面,控制簡(jiǎn)單方便,測(cè)量范圍廣,精度較高。 單片機(jī)的特點(diǎn)是體積較小,也就是其集
7、成特性,其內(nèi)部結(jié)構(gòu)是普通計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化,增加一些外圍電路,就能夠組成一個(gè)完整的小系統(tǒng),單片機(jī)具有很強(qiáng)的可擴(kuò)展性。它具有和普通計(jì)算機(jī)類(lèi)似的、強(qiáng)大的數(shù)據(jù)處理功能,通過(guò)使用一些科學(xué)的算法,可以獲得很強(qiáng)的數(shù)據(jù)處理能力。所以單片機(jī)在工業(yè)中應(yīng)用中,可以極大地提高工業(yè)設(shè)備的智能化、數(shù)據(jù)處理能力和處理效率,而且單片機(jī)無(wú)需占用很大的空間。</p><p> 該系統(tǒng)設(shè)計(jì)核心控制器使用單片機(jī)AT89C51,測(cè)溫傳感器使用DS18B
8、20,時(shí)鐘芯片采用DS1302,存儲(chǔ)芯片采用AT24C02,用LCM1602液晶顯示實(shí)現(xiàn)溫度和日期的動(dòng)態(tài)顯示,并且如果超出溫度范圍,報(bào)警系統(tǒng)會(huì)即時(shí)進(jìn)行報(bào)警。</p><p> 1.1 設(shè)計(jì)課題的目的及意義</p><p> 北方的冬季一般比較寒冷,溫度往往達(dá)到-20℃以下,為了抵御寒冷,各個(gè)供暖公司燃燒大量的煤為住戶(hù)進(jìn)行供暖,但是燃燒的煤炭所散發(fā)的熱量與住戶(hù)屋內(nèi)的溫度是否成正比,是否
9、有大量的熱量從住戶(hù)的墻壁或門(mén)窗散發(fā)出去而造成大量的能源損失,一直是大家所關(guān)心的問(wèn)題。隨著國(guó)家環(huán)保、節(jié)能意識(shí)的提高,迫切需要一種檢測(cè)系統(tǒng)對(duì)流入住戶(hù)屋內(nèi)的熱量以及住戶(hù)屋內(nèi)所實(shí)際能達(dá)到的溫度進(jìn)行檢測(cè)。 溫度檢測(cè)的傳統(tǒng)方法是使用熱電偶、熱電阻、半導(dǎo)體PN 結(jié)等的模擬溫度傳感器,信號(hào)經(jīng)取樣、放大后通過(guò)模數(shù)轉(zhuǎn)換,再由單片機(jī)處理。 被測(cè)溫度信號(hào)從溫敏元件到單片機(jī),經(jīng)過(guò)眾多器件,易受干擾,不易控制且精度不高。</p><p>
10、 這次畢業(yè)設(shè)計(jì)的目的主要是讓生活在信息時(shí)代的我們,將所學(xué)知識(shí)應(yīng)用于生產(chǎn)生活當(dāng)中,掌握系統(tǒng)總體設(shè)計(jì)的流程,方案的論證,選擇,實(shí)施與完善。通過(guò)對(duì)溫度控制通信系統(tǒng)的設(shè)計(jì)、制作、了解信息采集測(cè)試、控制的全過(guò)程,提高在電子工程設(shè)計(jì)和實(shí)際操作方面的綜合能力,初步培養(yǎng)在完成工程項(xiàng)目中所應(yīng)具備的基本素質(zhì)和要求。培養(yǎng)研發(fā)能力,通過(guò)對(duì)電子電路的設(shè)計(jì),初步掌握在給定條件和要求的情況下,如何達(dá)到以最經(jīng)濟(jì)實(shí)用的方法、巧妙合理地去設(shè)計(jì)工程系統(tǒng)中的某一部分電路,并將
11、其連接到系統(tǒng)中去。提高查閱資料、語(yǔ)言表達(dá)能力和理論聯(lián)系實(shí)際的技能。</p><p> 隨著溫度檢測(cè)理論和技術(shù)的不斷更新, 溫度傳感器的種類(lèi)也越來(lái)越多,在微機(jī)系統(tǒng)中使用的傳感器,必須是能夠?qū)⒎请娏哭D(zhuǎn)換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導(dǎo)體集成傳感器等,每種傳感器根據(jù)其自身特性,都有它自己的應(yīng)用領(lǐng)域。其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供
12、更好更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p> 21世紀(jì)科學(xué)技術(shù)的發(fā)展日新月異,科技的進(jìn)步帶動(dòng)了測(cè)量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了巨大的變化,我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)也成為當(dāng)今科技的主流之一,被廣泛的應(yīng)用于生產(chǎn)的各個(gè)領(lǐng)域。</p><p> 當(dāng)今社會(huì)溫度的測(cè)量與控制系統(tǒng)在生產(chǎn)與生活的各個(gè)領(lǐng)域中扮著越來(lái)越重
13、要的角色,大到工業(yè)冶煉,物質(zhì)分離,環(huán)境檢測(cè),電力機(jī)房,冷凍庫(kù),糧倉(cāng),醫(yī)療衛(wèi)生等方面;小到家庭冰箱,空調(diào),電飯煲,太陽(yáng)能熱水器等方面都得到了廣泛的應(yīng)用,溫度控制系統(tǒng)的廣泛應(yīng)用也使得這方面研究意義非常的重要。</p><p> 1.2 溫度檢測(cè)技術(shù)的國(guó)內(nèi)外現(xiàn)狀</p><p> 國(guó)外對(duì)溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制
14、。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開(kāi)發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國(guó)的溫度測(cè)控技術(shù)發(fā)展很快,一些國(guó)家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無(wú)人化的方向發(fā)展。</p><p> 我國(guó)對(duì)于溫度測(cè)控技術(shù)的研究較晚,始于20世紀(jì)80年代。我國(guó)工程技術(shù)人員在吸收發(fā)達(dá)國(guó)家溫度測(cè)控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對(duì)溫度的單項(xiàng)環(huán)境因子的控制。我國(guó)溫度測(cè)控設(shè)施計(jì)算機(jī)應(yīng)
15、用,在總體上正從消化吸收、簡(jiǎn)單應(yīng)用階段向?qū)嵱没?、綜合性應(yīng)用階段過(guò)渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)溫度測(cè)量控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到工廠化的程度,生產(chǎn)實(shí)際中仍然有許多問(wèn)題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點(diǎn)。在今后的溫控系統(tǒng)的研究中會(huì)趨于智能化,集成化,系統(tǒng)的各項(xiàng)性能指標(biāo)更準(zhǔn)確,更加穩(wěn)定
16、可靠。</p><p> 溫度是表征物體冷熱程度的物理量,是國(guó)際單位制中7個(gè)基本物理量之一,它與人類(lèi)生活、工農(nóng)業(yè)生產(chǎn)和科學(xué)研究有著密切關(guān)系。隨著科學(xué)技術(shù)水平的不斷把提高,溫度測(cè)量技術(shù)也得到了不斷的發(fā)展。</p><p> 1.2.1 溫度檢測(cè)技術(shù)簡(jiǎn)介</p><p> 溫度檢測(cè)技術(shù)是一種利用微機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)通訊傳輸和數(shù)據(jù)分析處理的一門(mén)新技術(shù),是在生產(chǎn)
17、過(guò)程中記錄和說(shuō)明熱加工產(chǎn)品與空氣溫度關(guān)系的技術(shù),追蹤測(cè)量得到的數(shù)據(jù)被顯示為圖表或數(shù)字。這個(gè)過(guò)程最簡(jiǎn)單的形式就是它可以告訴生產(chǎn)者所生產(chǎn)的產(chǎn)品的溫度、保持這個(gè)溫度有多長(zhǎng)時(shí)間以及在什么時(shí)間達(dá)到了什么溫度。通過(guò)分析數(shù)據(jù),生產(chǎn)人員可以保證產(chǎn)品達(dá)到最好的質(zhì)量、解決產(chǎn)品存在問(wèn)題、優(yōu)化生產(chǎn)工藝路線(xiàn)及節(jié)約能耗。無(wú)論是在電子產(chǎn)品的生產(chǎn)、食品加工、其它工業(yè)生產(chǎn),還是在醫(yī)療器械生產(chǎn)方面,只要在生產(chǎn)過(guò)程中溫度是重要的控制指標(biāo),溫度檢測(cè)技術(shù)就具有非常廣闊的應(yīng)用前景
18、。隨著國(guó)內(nèi)外工業(yè)的日益發(fā)展,溫度檢測(cè)技術(shù)也有了不斷的進(jìn)步,目前的溫度檢測(cè)使用的方法種類(lèi)繁多,應(yīng)用范圍也較廣泛,大致包括以下幾種方法:</p><p> ?。?)利用物體熱脹冷縮原理制成的溫度計(jì);</p><p> (2)利用熱電效應(yīng)技術(shù)制成的溫度檢測(cè)元件;</p><p> ?。?)利用熱阻效應(yīng)技術(shù)制成的溫度計(jì);</p><p> ?。?)
19、利用熱輻射原理制成的高溫計(jì);</p><p> (5)利用聲學(xué)原理進(jìn)行溫度測(cè)量;</p><p> (6)利用紅外測(cè)溫技術(shù);</p><p> 溫度的檢測(cè)方法通常分為兩大類(lèi)即接觸式測(cè)溫和非接觸式測(cè)溫。接觸式測(cè)溫是基于熱平衡原理,測(cè)溫時(shí),感溫元件與被測(cè)介質(zhì)直接接觸,當(dāng)達(dá)到熱平衡時(shí),獲得被測(cè)物體的溫度,例如,熱電偶,熱敏電阻,膨脹式溫度計(jì)等就屬于這一類(lèi);非接觸式測(cè)
20、溫基于熱輻射原理或電磁原理,測(cè)溫時(shí),感溫元件不直接與被測(cè)介質(zhì)接觸,通過(guò)輻射實(shí)現(xiàn)熱交換,達(dá)到測(cè)量的目的,例如,紅外測(cè)溫儀、光學(xué)高溫計(jì)等。</p><p> 常用的測(cè)溫傳感器有熱電偶,熱電阻,導(dǎo)體溫度傳感器等。</p><p> 集成溫度傳感器可以分為三類(lèi):模擬集成溫度傳感器、模擬集成溫度控制器、智能溫度傳感器。</p><p> 1.2.2 溫度檢測(cè)技術(shù)的發(fā)展
21、</p><p> 在溫度測(cè)量方面各國(guó)均取得了許多可喜的成果,其中前蘇聯(lián)的壓電石英頻率溫度計(jì)分辨能力可達(dá)0.0001℃,理論上可達(dá)0.00001℃,而且在-40℃~230℃范圍內(nèi)具有溫度與頻率的線(xiàn)性特性;我國(guó)生產(chǎn)的石英溫度傳感器分辨率達(dá)到0.0001℃,誤差在0.05℃以?xún)?nèi),中國(guó)航天工業(yè)總公司702所研制的5901(STP-1000)型粘貼式測(cè)溫片,其靜態(tài)測(cè)溫精度為0.5%,快速響應(yīng)時(shí)間小于0.013s。<
22、;/p><p> 雖然溫度測(cè)量方法多種多樣,但在很多情況下,對(duì)于實(shí)際工程現(xiàn)場(chǎng)或一些特殊條件下的溫度測(cè)量,比如對(duì)極限溫度、高溫腐蝕性介質(zhì)溫度、氣流溫度、表面溫度、固體內(nèi)部溫度分布、微尺寸目標(biāo)溫度、大空間溫度分布、生物體內(nèi)溫度、電磁干擾條件下溫度測(cè)量來(lái)講,要想得到準(zhǔn)確可靠的結(jié)果并非易事,需要非常熟悉各種測(cè)量方法的原理及特點(diǎn),結(jié)合被測(cè)對(duì)象要求選擇合適的測(cè)量方法才能完成。同時(shí),還要不斷探索新的溫度測(cè)量方法,改進(jìn)原有測(cè)量技術(shù)
23、,以滿(mǎn)足各種條件下的溫度測(cè)量需求。</p><p> 溫度檢測(cè)技術(shù)應(yīng)用領(lǐng)域非常的廣泛,①冷凍庫(kù),糧倉(cāng),儲(chǔ)罐,電信機(jī)房,電力機(jī)房,電纜線(xiàn)槽等測(cè)溫和控制領(lǐng)域。②軸瓦,缸體,紡機(jī),空調(diào)等狹小空間工業(yè)設(shè)備測(cè)溫和控制。③汽車(chē)空調(diào),冰箱,冷柜以及中低溫干燥箱等。④太陽(yáng)能供熱,制冷管道熱量計(jì)量,中央空調(diào)分戶(hù)熱能計(jì)量等。</p><p> 2 室內(nèi)采暖溫度檢測(cè)系統(tǒng)方案論證</p>&l
24、t;p><b> 2.1 方案設(shè)計(jì)</b></p><p> 2.1.1 方案一:利用PLC實(shí)現(xiàn)對(duì)溫度恒定的控制</p><p> 利用PLC實(shí)現(xiàn)對(duì)溫度恒定的控制,其控制系統(tǒng)的結(jié)構(gòu)框圖如圖2-1所示:采用PLC控制實(shí)現(xiàn)電熱絲和風(fēng)扇加熱制冷,以全通、間斷導(dǎo)通和全斷加熱制冷的自動(dòng)控制方式,來(lái)達(dá)到溫度的恒定。智能型熱電偶溫度表將置于被測(cè)環(huán)境中,熱電偶的傳感器
25、信號(hào)與恒定溫度的給定電壓進(jìn)行比較,構(gòu)成閉環(huán)系統(tǒng),生成溫差電壓Vt,PLC自適應(yīng)恒溫控制電路,根據(jù)Vt的大小計(jì)算出全通、間接導(dǎo)通和全斷的自適應(yīng)恒溫控制電路,并將占空比可調(diào)的控制電平經(jīng)輸出隔離電路去控制可控硅門(mén)極的通斷,實(shí)現(xiàn)自適應(yīng)的恒溫控制。若溫度升的過(guò)快或者降低過(guò)快,PLC也將輸出關(guān)斷電平信號(hào)轉(zhuǎn)換為可控硅電路相匹配的輸入信號(hào)。</p><p> 圖2-1 方案一的系統(tǒng)結(jié)構(gòu)圖</p><p&g
26、t; 2.1.2 方案二:用熱電耦檢測(cè)溫度</p><p> 以單片機(jī)為主控制系統(tǒng),其總體結(jié)構(gòu)如圖2-2所示。采用熱電偶對(duì)溫度進(jìn)行采集,將采集到的信號(hào)利用放大器進(jìn)行放大,再經(jīng)過(guò)A/D轉(zhuǎn)換,然后將采集到的數(shù)據(jù)用單片機(jī)在液晶顯示器上顯示出來(lái),然后再利用控制電路對(duì)溫度控制其升溫或者降溫。</p><p> 圖2-2 方案二的系統(tǒng)結(jié)構(gòu)圖</p><p> 2.1
27、.3 方案三:用溫度傳感器檢測(cè)溫度</p><p> 仍以單片機(jī)為主控制系統(tǒng),采用數(shù)字溫度傳感器實(shí)現(xiàn)溫度采集,其總體結(jié)構(gòu)如圖2-3所示。系統(tǒng)主要包括以系統(tǒng)核心AT89C51單片機(jī)作為微處理器的現(xiàn)場(chǎng)溫度采集、實(shí)時(shí)溫度顯示與存儲(chǔ)、相應(yīng)時(shí)刻日期顯示與調(diào)整、超溫報(bào)警裝置系統(tǒng)。</p><p> 圖2-3 方案三的系統(tǒng)總體結(jié)構(gòu)框圖</p><p> 溫度采集電路以數(shù)
28、字量形式將現(xiàn)場(chǎng)溫度傳至單片機(jī)。采用單線(xiàn)單點(diǎn)檢測(cè)技術(shù),其中DS1302時(shí)鐘芯片為系統(tǒng)提供日期和時(shí)間,由單片機(jī)對(duì)溫度傳感器所采集的數(shù)據(jù)進(jìn)行處理,經(jīng)LCM1602液晶顯示器顯示出來(lái),并將處理后的溫度值與設(shè)定值進(jìn)行比較,從而控制報(bào)警電路是否發(fā)出報(bào)警信號(hào)。</p><p><b> 2.2 方案選擇</b></p><p> 對(duì)于方案一,采用PLC實(shí)現(xiàn)恒溫控制,由于PLC
29、成本高,且PLC是外圍系統(tǒng)配置復(fù)雜,不利于我們的設(shè)計(jì);由于數(shù)字PID調(diào)節(jié),運(yùn)算量大,只有選擇對(duì)于溫度的控制精度合適的參數(shù)才往往能達(dá)到較好的效果。</p><p> 對(duì)于方案二,雖然許多熱電偶精度非常高,但是其構(gòu)成系統(tǒng)太復(fù)雜,抗干擾能力也不強(qiáng),而且成本比較高。</p><p> 對(duì)于方案三,采用數(shù)字溫度傳感器進(jìn)行溫度采集,該方案成本低,可靠性高,抗干擾性強(qiáng),而且易于設(shè)計(jì)和控制,同時(shí)也是本
30、次畢業(yè)設(shè)計(jì)任務(wù)書(shū)上所要求的方案。</p><p> 故本設(shè)計(jì)我選方案三,采用數(shù)字溫度傳感器采集溫度來(lái)實(shí)現(xiàn)室內(nèi)溫度檢測(cè)。</p><p> 3 室內(nèi)采暖溫度檢測(cè)系統(tǒng)硬件設(shè)計(jì)</p><p> 3.1 單片機(jī)模塊</p><p> 主控單片機(jī)采用一片ATMEL AT89C51。根據(jù)題目要求,充分利用了單片機(jī)靈活控制的優(yōu)點(diǎn),發(fā)揮其優(yōu)勢(shì)功
31、能,采用單片機(jī)控制顯示信號(hào)燈,提高了系統(tǒng)的靈活性,設(shè)置方便。AT89C51芯片本身集成了看門(mén)狗(WDT)電路,這是為了系統(tǒng)更加的穩(wěn)定可靠,避免了系統(tǒng)因?yàn)樗罊C(jī)而停止工作的情況發(fā)生這種做法對(duì)于實(shí)際上長(zhǎng)時(shí)間運(yùn)行在惡劣狀況的交通燈控制系統(tǒng)來(lái)說(shuō)是十分必要的。它可以完成自動(dòng)加載復(fù)位,省去人工調(diào)整的麻煩,可以做到無(wú)人職守[1]。</p><p> AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes
32、 ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案[1]。 AT89C51具有如下特點(diǎn)[1]:40個(gè)引腳,4k Bytes Fl
33、ash片內(nèi)程序存儲(chǔ)器,128 Bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器,如圖3-1所示。</p><p> 圖3-1 AT89C51芯片引腳</p><p> 此外,AT89C51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省
34、電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直到外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求[2]。</p><p> 3.1.1 復(fù)位鍵控制模塊 </p><p> 單片機(jī)復(fù)位電路是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初
35、始狀態(tài),并從該狀態(tài)開(kāi)始工作,例如復(fù)位后PC=0000H,使單片機(jī)從第一個(gè)單元取指令。無(wú)論是在單片機(jī)剛接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。單片機(jī)復(fù)位的條件是:使RST/VPD引腳加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。若時(shí)鐘頻率為12MHz,每機(jī)器周期為1us,則只需2us以上時(shí)間的高電平,在RST引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位[2]。單片機(jī)常見(jiàn)的復(fù)位電路如圖3-2按鍵復(fù)位電路所示。</p>&
36、lt;p> 圖3-2 按鍵復(fù)位電路</p><p> 該電路除了具有上電復(fù)位電路功能,還可以使用中復(fù)位,只要按下圖中的復(fù)位鍵,在RST端會(huì)產(chǎn)生一個(gè)復(fù)位高電平。單片機(jī)復(fù)位期間不產(chǎn)生ALE和PSEN信號(hào),即ALE=1,這表明單片機(jī)復(fù)位不會(huì)有任何取值操作[2]。按鍵復(fù)位電路,易掌握,好操作。</p><p> 3.1.2 驅(qū)動(dòng)模塊</p><p> 單片
37、機(jī)的驅(qū)動(dòng)主要是由晶振組成的驅(qū)動(dòng)電路提供[2],如圖3-3所示:由一個(gè)12MHz的晶振以及兩個(gè)22pF的電容組成,單片機(jī)以及外圍的一些電路能夠正常工作,都是由晶振電路所提供的動(dòng)力。因此,在單片機(jī)中晶振電路是必不可少的,也正是這樣,它也是單片機(jī)最小系統(tǒng)的重要組成部分[2]。</p><p> 圖3-3 晶振電路</p><p> 3.2 溫度檢測(cè)模塊</p><p&
38、gt; 3.2.1 溫度傳感器的概述</p><p> DS18B20是美國(guó)Dallas半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式[3]。可以分別在93.75ms和75Oms內(nèi)完成9位和12位的數(shù)字量。它具有獨(dú)特的單總線(xiàn)接口方式,即允許在一條信號(hào)線(xiàn)上掛接數(shù)十甚至上百個(gè)數(shù)字式傳感器,從
39、而使測(cè)溫裝置與各傳感器的接口變得十分簡(jiǎn)單,克服了模擬式傳感器與微機(jī)接口時(shí)需要的A/D轉(zhuǎn)換器及其它復(fù)雜外圍電路的缺點(diǎn),而且,可以通過(guò)總線(xiàn)供電,溫度變換功率來(lái)源于數(shù)據(jù)總線(xiàn),總線(xiàn)本身也可以向所掛接的DS18B20供電,而無(wú)需額外電源,由它組成的溫度測(cè)控系統(tǒng)非常方便,而且成本低、體積小、可靠性高[5]。DS18B20的測(cè)溫范圍-55℃~+125℃,最高分辨率可達(dá)0.0625℃,由于每一個(gè)DS18B2O出廠時(shí)都刻有唯一的一個(gè)序列號(hào)并存入其ROM中
40、,因此CPU可用簡(jiǎn)單的通信協(xié)議就可以識(shí)別,從而節(jié)省了大量的引線(xiàn)和邏輯電路。DS18B2O具有獨(dú)特的單總線(xiàn)接口方式在多點(diǎn)測(cè)溫時(shí)有明顯的優(yōu)勢(shì),占用單片機(jī)的I/O引腳資源少,和單片機(jī)的通信協(xié)議比較簡(jiǎn)單,成本較低,</p><p> 3.2.2 DS18B20性能特點(diǎn)與內(nèi)部結(jié)構(gòu)</p><p> DS18B20是美國(guó)DALLAS公司生產(chǎn)的單總線(xiàn)數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、
41、抗干擾能力強(qiáng)、易于與未處理器接口等優(yōu)點(diǎn),適合于各種溫度測(cè)控系統(tǒng)。</p><p> 該器件將半導(dǎo)體溫敏器件、A/D轉(zhuǎn)化器、存儲(chǔ)器等做在一個(gè)很小的集成電路芯片上,傳感器直接輸出的就是溫度信號(hào)數(shù)字值。信號(hào)傳輸采用兩芯(或三芯)電纜構(gòu)成的單總線(xiàn)結(jié)構(gòu)。一條單總線(xiàn)上可以?huà)旖尤舾蓚€(gè)數(shù)字溫度傳感器,每個(gè)傳感器有一個(gè)唯一的地址碼。微控制器通過(guò)對(duì)器件的尋址,就可以讀取某個(gè)傳感器的溫度值,從而簡(jiǎn)化了信號(hào)采集系統(tǒng)的電路結(jié)構(gòu)。<
42、/p><p> (1)DS18B20的性能特點(diǎn)[6]如下:</p><p> 1)獨(dú)特的單線(xiàn)接口僅需要一個(gè)端口引腳進(jìn)行通信;</p><p> 2)多個(gè)DS18B20可以并聯(lián)在惟一的三線(xiàn)上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p><b> 3)無(wú)須外部器件;</b></p><p> 4)可通過(guò)
43、數(shù)據(jù)線(xiàn)供電,電壓范圍為3.0~5.5V;</p><p><b> 5)零待機(jī)功耗;</b></p><p> 6)溫度以3位數(shù)字顯示;</p><p> 7)用戶(hù)可定義報(bào)警設(shè)置;</p><p> 8)報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;</p><p> 9
44、)負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 </p><p> (2)DS18B20的外形及管腳排列[6],如下圖3-4所示:</p><p> 圖3-4 DS18B20封裝</p><p> (3)DS18B20內(nèi)部結(jié)構(gòu)[6]主要由六分組成:</p><p> 1)64位光刻ROM。開(kāi)始8位是產(chǎn)品類(lèi)型的
45、編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線(xiàn)進(jìn)行通信的原因。64位閃速ROM的結(jié)構(gòu)如下:</p><p> MSB LSB MSB LSB MSB LSB</p><p> 圖3-5 DS18B20內(nèi)部結(jié)構(gòu)</p><
46、p> 2)非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入用戶(hù)報(bào)警上下限值。</p><p> 3)高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3-5所示[7]。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)
47、TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲(chǔ)器結(jié)構(gòu)和字節(jié)定義如圖3-6所示[7]。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。</p><p> 圖3-6 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)</p><p>
48、 DS18B20出廠時(shí)該位被設(shè)置為0,用戶(hù)要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。</p><p> 表3-1 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 由表3-1可見(jiàn),分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1
49、。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p> 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線(xiàn)接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p> 當(dāng)符號(hào)位S=0時(shí),表
50、示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表3-2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。</p><p> 表3-2 一部分溫度對(duì)應(yīng)值表</p><p> 4)CRC的產(chǎn)生 在ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B
51、20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。</p><p> 另外,由于DS18B20單線(xiàn)通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。</p><p><b> 5)外接電源</b></p
52、><p> DS18B20有兩種供電方式:3.0~5.5V的電源供電方式和寄生電源供電方式(直接從數(shù)據(jù)線(xiàn)獲取電源)。本設(shè)計(jì)采用外部電源給器件供電,外部電源接VCC引腳向器件供電,如圖3-7所示,GND接地,DQ接單片機(jī)。</p><p> 圖3-7 外部電源供電</p><p><b> 6)溫度報(bào)警信號(hào)</b></p>&l
53、t;p> DS18B20完成溫度轉(zhuǎn)化后,就把測(cè)的溫度值與TH、TL做比較,若T>TH或T<TL,則將器件內(nèi)的報(bào)警標(biāo)志位,將對(duì)主機(jī)發(fā)出的告警搜索命令做出響應(yīng)[7]。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。一旦某溫度點(diǎn)越限,主機(jī)利用報(bào)警搜索命令,即可識(shí)別正在報(bào)警的器件,并讀出其序號(hào),而不必考慮非報(bào)警器件。</p><p> 3.2.3 DS18B20的測(cè)溫原理</p>
54、;<p> 每一片DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫(xiě)入片內(nèi)ROM 中。主機(jī)在進(jìn)入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號(hào)讀出。</p><p> 程序可以先跳過(guò)ROM,啟動(dòng)所有DSl8B20進(jìn)行溫度變換,之后通過(guò)匹配ROM,再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)。</p><p> DS18B20的測(cè)溫原理如圖3
55、-8所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55 ℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器
56、被預(yù)置在-55 ℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線(xiàn)性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述
57、過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值[7]。</p><p> 另外,由于DS18B20單線(xiàn)通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。</p><p> 圖3-8 DS18B20測(cè)溫流程</p><p>
58、 DS18B20與單片機(jī)的接口極其簡(jiǎn)單,只需將DS18B20的信號(hào)線(xiàn)與單片機(jī)的一位雙向端口相連即可。一般測(cè)溫電纜采用屏蔽4芯雙絞線(xiàn),其中一對(duì)接地線(xiàn)與信號(hào)線(xiàn),另一對(duì)Vdd和地線(xiàn),屏蔽層在電源端單點(diǎn)接地[8]。</p><p> 對(duì)DS18B20初始化后,主機(jī)發(fā)出SKIP ROM命令,此命令執(zhí)行后的存儲(chǔ)器操作命令將對(duì)所在線(xiàn)的DS18B20,在發(fā)出溫度轉(zhuǎn)換啟動(dòng)碼44H,等待750ms后,先發(fā)出匹配ROM命令(55H
59、),緊接著主機(jī)提供一片DS18B20的64位序列號(hào),讀取其溫度存儲(chǔ)器值,存入數(shù)據(jù)緩存。</p><p> 3.2.4 溫度檢測(cè)模塊電路設(shè)計(jì)</p><p> 溫度的檢測(cè)主要依據(jù)DS18B20來(lái)采集,DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線(xiàn),3腳接電源。另一種是寄生電源供電方式,單片機(jī)端口接單線(xiàn)總線(xiàn),為保證在有效的DS18
60、B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來(lái)完成對(duì)總線(xiàn)的上拉。本設(shè)計(jì)采用電源供電方式,如圖3-9所示,P2.2口接單線(xiàn)總線(xiàn)為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管和89C51的P2.2來(lái)完成對(duì)總線(xiàn)的上拉[8]。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D變換操作時(shí),總線(xiàn)上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:初始化;ROM操作指令;
61、存儲(chǔ)器操作指令[8]。</p><p> 圖3-9 溫度檢測(cè)電路設(shè)計(jì)</p><p> 我們要求的溫度在一定的范圍內(nèi)為安全溫度,我們?cè)O(shè)置的上界溫度為28℃,下界溫度為15℃,當(dāng)測(cè)量值在正常范圍內(nèi)時(shí),程序控制P3.7輸出低電平,蜂鳴器不發(fā)聲,當(dāng)達(dá)到一定的上界或者下界時(shí),報(bào)警電路開(kāi)始工作,P3.7同時(shí)為高電平,蜂鳴器告警,操作人員觀察蜂鳴器是否響,就可知道被測(cè)量器件工作是否正常。<
62、/p><p> 3.3 報(bào)警電路模塊</p><p> 報(bào)警電路主要有蜂鳴器和三極管組成,外加LED燈報(bào)警顯示,如圖3-10所示[2]。</p><p> (1)蜂鳴器的作用:蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話(huà)機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。</p><
63、;p> (2)蜂鳴器的工作原理:壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管[2]。</p><p> 多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5KHZ的音頻信號(hào),阻抗匹配推動(dòng)壓電蜂鳴片發(fā)聲。</p><p> 圖3-10 報(bào)警電路<
64、/p><p> 壓電蜂鳴片是由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。</p><p> 3.4 存儲(chǔ)模塊 </p><p> AT24C02是美國(guó)Atmel公司的低功耗CMOS型EEPROM,內(nèi)含256*8位存儲(chǔ)空間,具有工作電壓寬(2.5V~5.5V),擦寫(xiě)次數(shù)多(大于10000次),寫(xiě)
65、入速度快(小于10ms),抗干擾能力強(qiáng),數(shù)據(jù)不易丟失,體積小等特點(diǎn)。并且它是采用I2C總線(xiàn)式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行操作,只占用很少的資源和I/O線(xiàn)[2]。</p><p> AT24C02是一個(gè)2K位串行CMOS E2PROM,內(nèi)部含有256個(gè)8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。AT24C02有一個(gè)16字節(jié)頁(yè)寫(xiě)緩沖器,該器件通過(guò)I2C總線(xiàn)接口進(jìn)行操作,還有一個(gè)專(zhuān)門(mén)的寫(xiě)保護(hù)功能[2
66、]。</p><p> AT24C02支持I2C,總線(xiàn)數(shù)據(jù)傳送,I2C總線(xiàn)協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線(xiàn)的器件作為發(fā)送器。任何從總線(xiàn)接收數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過(guò)器件地址輸入端A0、A1和A2可以實(shí)現(xiàn)將最多8個(gè)AT24C02器件連接到總線(xiàn)上,存儲(chǔ)電路設(shè)計(jì)如圖3-11所示。&l
67、t;/p><p> 圖3-11 存儲(chǔ)電路設(shè)計(jì)</p><p> 時(shí)鐘及數(shù)據(jù)傳輸:SDA引腳通常被外圍器件拉高。SDA引腳的數(shù)據(jù)應(yīng)在SCL 為低時(shí)變化;當(dāng)數(shù)據(jù)在SCL 為高時(shí)變化,將視為下文所述的一個(gè)起始或停止命令。</p><p> 起始命令:當(dāng)SCL 為高,SDA由高到低的變化被視為起始命令,必須以起始命令作為任何一次讀/寫(xiě)操作命令的開(kāi)始。</p>
68、<p> 停止命令:當(dāng)SCL為高,SDA 由低到高的變化被視為停止命令,在一個(gè)讀操作后,停止命令會(huì)使EEPROM 進(jìn)入等待態(tài)低功耗模式。</p><p> 應(yīng)答:所有的地址和數(shù)據(jù)字節(jié)都是以8 位為一組串行輸入和輸出的。每收到一組8 位的數(shù)據(jù)后,EEPROM都會(huì)在第9個(gè)時(shí)鐘周期時(shí)返回應(yīng)答信號(hào)。每當(dāng)主控器件接收到一組8 位的數(shù)據(jù)后,應(yīng)當(dāng)在第9個(gè)時(shí)鐘周期向EEPROM 返回一個(gè)應(yīng)答信號(hào)。收到該應(yīng)答信號(hào)
69、后,EEPROM 會(huì)繼續(xù)輸出下一組8 位的數(shù)據(jù)。若此時(shí)沒(méi)有得到主控器件的應(yīng)答信號(hào),EEPROM 會(huì)停止讀出數(shù)據(jù),直到主控器件返回一個(gè)停止命令來(lái)結(jié)束讀周期。</p><p> 等待模式:AT24C02特有一個(gè)低功耗的等待模式。</p><p> 器件復(fù)位:在協(xié)議中斷、下電或系統(tǒng)復(fù)位后,器件可通過(guò)以下步驟復(fù)位:(1)連續(xù)輸入9 個(gè)時(shí)鐘;(2)在每個(gè)時(shí)鐘周期中確保當(dāng)SCL 為高時(shí)SDA 也為
70、高;(3)建立一個(gè)起始條件。 </p><p> 3.5 時(shí)鐘芯片模塊</p><p> 3.5.1 DS1302時(shí)鐘芯片的概述</p><p> DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的
71、時(shí)鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能[2]。工作電壓寬達(dá)2.5~5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。</p><p> 3.5.2 DS1302的工作原理 </p><p> DS1302工作時(shí)為了對(duì)任何數(shù)據(jù)傳送進(jìn)行初始化,需要將復(fù)位
72、腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時(shí)鐘(SCLK)的上升沿串行輸入,前8位指定訪問(wèn)地址,命令字裝入移位寄存器后,在之后的時(shí)鐘周期,讀操作時(shí)輸出數(shù)據(jù),寫(xiě)操作時(shí)輸出數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8位地址加8位數(shù)據(jù),在多字節(jié)方式下為最多可達(dá)248的數(shù)據(jù)[2]。</p><p> DS1302的寄存器和控制命令對(duì)DS1302的操作就是對(duì)其內(nèi)部寄存器的操作,DS1302內(nèi)部共有12個(gè)
73、寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器以外的寄存器[1]。</p><p> DS1302內(nèi)部的RAM分為兩類(lèi),一類(lèi)是單個(gè)RAM單元,共31個(gè)。每個(gè)單元為一個(gè)8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;再一類(lèi)為突
74、發(fā)方式下的RAM,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。 </p><p> 我們現(xiàn)在已經(jīng)知道了控制寄存器和RAM的邏輯地址,接著就需要知道如何通過(guò)外部接口來(lái)訪問(wèn)這些資源。單片機(jī)是通過(guò)簡(jiǎn)單的同步串行通訊與DS1302通訊的,每次通訊都必須由單片機(jī)發(fā)起,無(wú)論是讀還是寫(xiě)操作,單片機(jī)都必須先向DS1302寫(xiě)入一個(gè)命令幀,這個(gè)幀的最高位BIT7固定為1,BIT6決定操作是
75、針對(duì)RAM還是時(shí)鐘寄存器,接著的5個(gè)BIT是RAM或時(shí)鐘寄存器在DS1302的內(nèi)部地址,最后一個(gè)BIT表示這次操作是讀操作抑或是寫(xiě)操作。 </p><p> 物理上,DS1302的通訊接口由3個(gè)口線(xiàn)組成,即RST,SCLK,I/O。其中RST從低電平變成高電平啟動(dòng)一次數(shù)據(jù)傳輸過(guò)程,SCLK是時(shí)鐘線(xiàn),I/O是數(shù)據(jù)線(xiàn)[10]。具體的讀寫(xiě)時(shí)序參考圖3-12,但是請(qǐng)注意,無(wú)論是哪種同步通訊類(lèi)型的串行接口,都是對(duì)時(shí)鐘信號(hào)
76、敏感的,而且一般數(shù)據(jù)寫(xiě)入有效是在上升沿,讀出有效是在下降沿(DS1302正是如此的,但是在芯片手冊(cè)里沒(méi)有明確說(shuō)明),如果不是特別確定,則把程序設(shè)計(jì)成這樣:平時(shí)SCLK保持低電平,在時(shí)鐘變動(dòng)前設(shè)置數(shù)據(jù),在時(shí)鐘變動(dòng)后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK保持為低電平的時(shí)候,相鄰的操作之間間隔有一個(gè)上升沿和一個(gè)下降沿。</p><p> 圖3-12 DS1302的命令字結(jié)構(gòu)</p><p>&l
77、t;b> 時(shí)鐘電路設(shè)計(jì)</b></p><p> DS1302的外部引腳分配[2]如圖3-13所示,及內(nèi)部結(jié)構(gòu)如圖3-14所示。DS1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此廣泛應(yīng)用于測(cè)量系統(tǒng)中。</p><p> 圖3-13 DS1302的外部引腳分配</p><p> 圖
78、3-14 DS1302的內(nèi)部結(jié)構(gòu)</p><p> 如圖3-13所示,DS1302各引腳的功能[2]為: </p><p> Vcc1:主電源;Vcc2:備份電源。當(dāng)Vcc2>Vcc1+0.2V時(shí),由Vcc2向DS1302供電,當(dāng)Vcc2< Vcc1時(shí),由Vcc1向DS1302供電;</p><p> SCLK:串行時(shí)鐘輸入,控制數(shù)據(jù)的輸入與輸出
79、; </p><p> I/O:三線(xiàn)接口時(shí)的雙向數(shù)據(jù)線(xiàn); </p><p> CE:輸入信號(hào),在讀、寫(xiě)數(shù)據(jù)期間,必須為高。該引腳有兩個(gè)功能:第一,CE開(kāi)始控制字訪問(wèn)移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?lt;/p><p> 故室內(nèi)采暖溫度檢測(cè)系統(tǒng)時(shí)鐘電路設(shè)計(jì),如圖3-15所示。</p><p> 圖3-1
80、5 DS1302時(shí)鐘電路設(shè)計(jì)</p><p> 3.6 日期調(diào)整按鍵模塊</p><p> 本設(shè)計(jì)總的用了四個(gè)按扭開(kāi)關(guān)作為調(diào)整設(shè)置按鍵,如圖3-16所示:按key1進(jìn)入時(shí)間設(shè)置;再按一下進(jìn)行確認(rèn);按key2進(jìn)行加;按key4進(jìn)行減;按key3進(jìn)入日期設(shè)置;進(jìn)入設(shè)置后進(jìn)行光標(biāo)左移。</p><p> 圖3-16 日期調(diào)整按鍵模塊</p>&l
81、t;p> 3.7 1602液晶顯示模塊</p><p> LCM1602液晶顯示的概述</p><p> LCM(LCD Module)即LCD顯示模組,是指將液晶顯示器件、連接件、控制與驅(qū)動(dòng)等外圍電路,PCB電路板,背光源,結(jié)構(gòu)件等裝配在一起的組件。LCM提供用戶(hù)一個(gè)標(biāo)準(zhǔn)的LCD顯示驅(qū)動(dòng)接口,用戶(hù)按照接口要求進(jìn)行操作來(lái)控制LCD正確顯示。LCM是一種相對(duì)更高集成度的LCD產(chǎn)
82、品,可以比較方便地與各種微控制器(如單片機(jī))連接,作為簡(jiǎn)易的人機(jī)接口。</p><p> 其中,MCS-51單片機(jī)作為L(zhǎng)CM1602顯示控制系統(tǒng)的核心部件。它由中央處理器(CPU)、存儲(chǔ)器(ROM與RAM)、輸入/輸出單元(I/O)三大基本部分構(gòu)成。單片機(jī)具有高性能、低價(jià)格;體積小,集成度高,可靠性和抗干擾能力強(qiáng);較低工作電壓(1.8~5V),低功耗等優(yōu)點(diǎn)。并且,只要在單片機(jī)的外圍適當(dāng)加一些必要的擴(kuò)展電路及通道
83、接口,就可以構(gòu)成各種應(yīng)用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)、檢測(cè)監(jiān)視系統(tǒng)。</p><p> 總之,該LCM1602液晶顯示控制系統(tǒng)具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì)。</p><p> 3.7.2 LCM1602體系結(jié)構(gòu)介紹</p><p> LCM1602是2 行
84、5;16 個(gè)字符的字符型液晶顯示模塊。它由32 個(gè)字符點(diǎn)陣塊組成,每個(gè)字符點(diǎn)陣塊由5×7 或5×10 個(gè)點(diǎn)陣組成,可以顯示ASCII 碼表中的所有可視的字符。</p><p> LCM1602采用標(biāo)準(zhǔn)的16腳接口,其中各引腳的功能[2],如下表:</p><p> 表3-3 各引腳說(shuō)明</p><p> 寄存器選擇控制如表3-4:<
85、/p><p> 表3-4 寄存器選擇控制說(shuō)明</p><p> 3.7.3 LCM1602模塊內(nèi)部結(jié)構(gòu)</p><p> LCM1602內(nèi)部主要寄存器有:輸入/輸出緩沖器,指令寄存器(Instuction Register,即IR),指令譯碼器,數(shù)據(jù)寄存器(Data Register,即DR),地址計(jì)數(shù)器(Address Counter,即AC),忙標(biāo)識(shí)(Bu
86、sy Flag,即BF)以及顯示數(shù)據(jù)存儲(chǔ)器(Display Data RAM,即DDRAM),字符發(fā)生器(Character Generate ROM,即CGROM)[2]。其各個(gè)單元的功能作用如下:</p><p> 輸入/輸出緩沖器,用于緩存輸入/輸出的數(shù)據(jù)與控制信號(hào)。</p><p> 指令寄存器(IR),為八位寄存器。用于存放LCD指令、DDRAM或CGROM地址。數(shù)據(jù)輸入流程
87、:數(shù)據(jù)存入DR,然后將該數(shù)據(jù)地址與指令存入IR,最后將該數(shù)據(jù)輸入到DDRAM或CGROM。讀取數(shù)據(jù)流程:將該數(shù)據(jù)地址與指令存入IR,DR取得該地址數(shù)據(jù)。</p><p> 指令譯碼器,將IR里的指令進(jìn)行譯碼,以獲取DDRAM或CGROM地址。</p><p> 數(shù)據(jù)寄存器(DR),連接LCM內(nèi)部數(shù)據(jù)總線(xiàn)以及緩存DDRAM或CGROM的存取數(shù)據(jù)。當(dāng)CPU讀取DR內(nèi)容后,DR能自動(dòng)加載下一
88、個(gè)地址的內(nèi)容。</p><p> 地址計(jì)數(shù)器(AC),連接LCM內(nèi)部數(shù)據(jù)總線(xiàn)以及緩存DDRAM或CGROM的存取數(shù)據(jù)地址。當(dāng)存取DDRAM或CGROM的數(shù)據(jù)地址,AC能自動(dòng)加載下一個(gè)存儲(chǔ)地址。</p><p> 忙標(biāo)識(shí)(BF),表示LCM的當(dāng)前狀態(tài)。若BF=1,則表示LCM處于忙碌狀態(tài),無(wú)法接收外部數(shù)據(jù)或指令。</p><p> 顯示數(shù)據(jù)存儲(chǔ)器(DDRAM),
89、存儲(chǔ)所要顯示數(shù)據(jù)的ASCII碼,根據(jù)該ASCII碼地址,即可到CGROM里找到該字符的顯示編碼。</p><p> 在送待顯示字符代碼的指令之前,先要送DDRAM的地址(即待顯示的字符顯示位置)。16×2的字符型LCD的DDRAM地址與顯示位置的對(duì)應(yīng)關(guān)系,如表3-5所示。</p><p> 表3-5 LCD的DDRAM地址與顯示位置的對(duì)應(yīng)關(guān)系</p><
90、p> 此外,還有自定義字符發(fā)生器,串行/并行數(shù)據(jù)轉(zhuǎn)換器,光標(biāo)閃爍控制電路,時(shí)序產(chǎn)生電路,偏壓產(chǎn)生電路,共同端驅(qū)動(dòng)電路以及段驅(qū)動(dòng)電路等。</p><p> 3.7.4 LCM1602體系結(jié)構(gòu)介紹</p><p> 由于MPU可以直接訪問(wèn)模塊內(nèi)部的IR和DR。作為緩沖區(qū)域,IR和DR 在模塊進(jìn)行內(nèi)部操作之前,可以暫存來(lái)自MPU 的控制信息。這樣就給用戶(hù)在MPU 和外圍控制設(shè)備的選
91、擇上,增加了余地。模塊的內(nèi)部操作由來(lái)自MPU的RS、R/W、E以及數(shù)據(jù)信號(hào)DB決定,這些信號(hào)的組合形成了模塊的指令。</p><p> 本系列模塊向用戶(hù)提供了11 條指令,大致可以分為四大類(lèi):模塊功能設(shè)置;設(shè)置內(nèi)部RAM地址;完成內(nèi)部RAM 數(shù)據(jù)傳送;完成其他功能。</p><p> 內(nèi)部RAM 的數(shù)據(jù)傳送的功能使用最為頻繁,因此,RAM 中的地址指針?biāo)邆涞淖詣?dòng)加一或減一功能,在一定
92、程度上減輕了MPU 編程負(fù)擔(dān)。數(shù)據(jù)移位指令與寫(xiě)顯示數(shù)據(jù)可同時(shí)進(jìn)行,這樣用戶(hù)就能以最少系統(tǒng)開(kāi)發(fā)時(shí)間,達(dá)到最高的編程效率。</p><p> 另外,在每次訪問(wèn)模塊之前,MPU應(yīng)首先檢測(cè)忙標(biāo)志BF,確認(rèn)BF=0后,訪問(wèn)過(guò)程才能進(jìn)行。</p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-6所示。 </p><p> 表3-6 1602液晶模塊內(nèi)
93、部控制指令</p><p> 3.7.5 LCM1602顯示電路設(shè)計(jì)</p><p> 單片機(jī)P0.0~P0.7分別于LCM1602液晶顯示模塊的D0~D7數(shù)據(jù)線(xiàn)連接,P2.0~P2.2接到液晶顯示模塊控制信號(hào)引腳RS、RW和E,LCD模塊的VDD引腳接電源+5v,VSS和VEE引腳接地。結(jié)合LCM1602控制指令,通過(guò)AT89C51單片機(jī)來(lái)控制LCM1602顯示相應(yīng)的時(shí)間與溫度,如
94、圖3-17所示。</p><p> 圖3-17 顯示電路設(shè)計(jì)</p><p><b> 3.8 電源模塊</b></p><p> 該系統(tǒng)電源是由集成穩(wěn)壓器件構(gòu)成的直流可調(diào)穩(wěn)壓電源,為系統(tǒng)各模塊及芯片提供電源。主要由變壓、整流、濾波和穩(wěn)壓等部分電路[8]。</p><p> 具體如下:交流電源經(jīng)過(guò)電路中的保險(xiǎn)
95、絲F,變壓器T降壓成低壓交流電,經(jīng)二極管組D2成的整流橋整流成單向脈沖直流電壓,其中F起到短路保護(hù)作用。</p><p> 穩(wěn)壓電路部分中,電路采用LM7805集成穩(wěn)壓器作為穩(wěn)壓器件,用典型接法,220V電源整流濾波后送入LM7805穩(wěn)壓,在輸出端接上電容進(jìn)一步濾除紋波,得到5V穩(wěn)壓電源,如圖3-18所示。</p><p> 圖3-18 電源電路設(shè)計(jì)</p><p
96、> 3.9 硬件總體設(shè)計(jì)</p><p> 本設(shè)計(jì)的硬件總體設(shè)計(jì)主要包括主控單片機(jī)模塊、溫度檢測(cè)模塊,顯示模塊,時(shí)鐘模塊,存儲(chǔ)模塊以及報(bào)警模塊。電路原理圖詳見(jiàn)附錄一。</p><p> 溫度檢測(cè)流程:先用溫度傳感器模塊對(duì)環(huán)境溫度進(jìn)行采集,然后主單片機(jī)模塊將溫度傳感器所采集的數(shù)據(jù)進(jìn)行處理經(jīng)過(guò)顯示模塊將溫度值顯示出來(lái),并將此時(shí)的溫度與規(guī)定的溫度進(jìn)行比較。當(dāng)此時(shí)的溫度高于規(guī)定值時(shí),
97、紅色二極管亮,并且蜂鳴器發(fā)出報(bào)警;當(dāng)溫度值在規(guī)定值范圍內(nèi)時(shí),蜂鳴器不報(bào)警;當(dāng)溫度低于規(guī)定值時(shí),蜂鳴器發(fā)出報(bào)警。</p><p> 日期和時(shí)間顯示流程:主要由時(shí)鐘芯片控制,四個(gè)功能按鍵進(jìn)行日期和時(shí)間的調(diào)整,通過(guò)顯示屏上顯示出來(lái),并把當(dāng)時(shí)的溫度存儲(chǔ)記錄下來(lái),方便供熱公司查詢(xún)。</p><p> 4 室內(nèi)采暖溫度檢測(cè)系統(tǒng)軟件設(shè)計(jì)</p><p> 在系統(tǒng)設(shè)計(jì)過(guò)程中
98、,軟件與硬件同樣重要。硬件是系統(tǒng)的軀體,軟件則是系統(tǒng)的靈魂,系統(tǒng)的硬件電路設(shè)計(jì)好之后,它的主要功能還是要靠軟件編程來(lái)實(shí)現(xiàn),而且軟件的設(shè)計(jì)在很大程度上決定了系統(tǒng)的性能。為了滿(mǎn)足系統(tǒng)設(shè)計(jì)的要求,在軟件設(shè)計(jì)方面一般要符合易理解、易維護(hù)、實(shí)時(shí)性、準(zhǔn)確性、可靠性等幾點(diǎn)要求。</p><p> 4.1 系統(tǒng)程序總體流程概況</p><p> 該檢測(cè)系統(tǒng)主要包括單片機(jī)對(duì)DS18B20溫度檢測(cè)、LC
99、M1602液晶顯示、萬(wàn)年歷顯示控制,以及溫度數(shù)據(jù)存儲(chǔ)四部分。軟件控制程序主要有主控程序、電子時(shí)鐘的時(shí)間控制程序、溫度檢測(cè)、顯示程序和數(shù)據(jù)存儲(chǔ)等程序組成。主控程序負(fù)責(zé)對(duì)整個(gè)程序進(jìn)行調(diào)用與控制,進(jìn)行了初始化程序還有鍵盤(pán)功能程序;顯示程序和時(shí)間控制程序是電子時(shí)鐘中比較重要的部分,時(shí)間控制程序體現(xiàn)了年、月、日、時(shí)、分、秒的計(jì)算方法。主控程序如圖4-1所示。</p><p> 圖4-1 系統(tǒng)總控流程圖</p>
100、;<p> 4.2 子程序設(shè)計(jì)</p><p> 在子程序設(shè)計(jì)中,要求系統(tǒng)結(jié)構(gòu)清晰,盡可能地保證單入口單出口,減少與其他程序之間的耦合,但為了提高這類(lèi)滯后對(duì)象的實(shí)時(shí)性指標(biāo),可以在個(gè)程序適當(dāng)?shù)牟糠诌M(jìn)行揉合。例如在播放語(yǔ)音時(shí),需要調(diào)用一段延時(shí),在本程序中,利用 CPU 執(zhí)行溫度轉(zhuǎn)換這段代碼占有的時(shí)間代替這段延時(shí)。在正常執(zhí)行溫度轉(zhuǎn)換時(shí),同樣需要調(diào)用一段延時(shí),而本系統(tǒng)利用CPU 執(zhí)行顯示子程序占有的時(shí)
101、間代替這段延時(shí)。總之,系統(tǒng)設(shè)計(jì)時(shí)要協(xié)調(diào)這種時(shí)間滯后,使系統(tǒng)滿(mǎn)足實(shí)時(shí)性要求。</p><p> 4.2.1 溫度檢測(cè)顯示程序</p><p> 溫度檢測(cè)顯示程序包含了讀出溫度,溫度轉(zhuǎn)換命,計(jì)算溫度,顯示數(shù)據(jù)等流程。溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度。溫度轉(zhuǎn)換主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12位分辨率時(shí)
102、轉(zhuǎn)換時(shí)間約為750ms。計(jì)算溫度則將RAM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,因?yàn)楸驹O(shè)計(jì)應(yīng)用在室內(nèi)的溫度檢測(cè),所以沒(méi)有進(jìn)行溫度值正負(fù)判定程序的顯示。溫度檢測(cè)顯示流程如圖4-2所示。</p><p> 圖4-2 溫度檢測(cè)顯示流程</p><p> 4.2.2 日歷顯示程序</p><p> 時(shí)間控制程序主要是定時(shí)器0計(jì)時(shí)中斷程序每隔10ms中斷一次當(dāng)作一個(gè)計(jì)數(shù),
103、每中斷一次則計(jì)數(shù)加1,當(dāng)計(jì)數(shù)100次時(shí),則表示1秒到了,秒變量加1;同理,再判斷是否1分鐘到了,再判斷是否1小時(shí)到了,再判斷是否1天到了,再判斷是否1月到了,再判斷是否1年到了;若計(jì)數(shù)到了,則相關(guān)變量清零。先給出一般年份的每月天數(shù)。如果是閏年,第二個(gè)月天數(shù)不為28天,而是29天。閏年的判斷規(guī)則為,如果該年份是4或100的整數(shù)倍或者是400的整數(shù)倍,則為閏年;否則為非閏年。在我們的這個(gè)設(shè)計(jì)中由于只涉及100年范圍內(nèi),所以判斷是否閏年就只需
104、要用該年份除4來(lái)判斷就行了。CPU讀取數(shù)據(jù)進(jìn)行顯示,當(dāng)各自的條件得不到滿(mǎn)足時(shí),對(duì)應(yīng)的顯示器狀態(tài)就不發(fā)生改變,只是在滿(mǎn)足條件的情況下,顯示器的狀態(tài)才變化。程序流程圖如圖4-3所示。</p><p> 圖4-4 日歷顯示程序流程圖</p><p> 4.2.3 按鍵掃描操作程序</p><p> 該按鍵掃描電路用了四個(gè)按扭開(kāi)關(guān)作為日期和時(shí)間的調(diào)整設(shè)置按鍵,隨著
105、時(shí)間的調(diào)整相應(yīng)的溫度也會(huì)顯示當(dāng)時(shí)的溫度,程序流程如圖4-5所示。</p><p> 圖4-5 按鍵掃描操作流程圖</p><p> 4.2.4 溫度儲(chǔ)存程序</p><p> EEPROM采用I2C總線(xiàn)與單片機(jī)進(jìn)行通信I2C總線(xiàn)是由飛利浦公司推出,是近年來(lái)微電子通信控制領(lǐng)域廣泛采用的一種新型總線(xiàn)標(biāo)準(zhǔn),具有接口線(xiàn)少、控制簡(jiǎn)單、器件封裝形式小、通信速率較高等優(yōu)
106、點(diǎn)[1]。</p><p> I2C總線(xiàn)由兩條導(dǎo)線(xiàn)構(gòu)成,數(shù)據(jù)導(dǎo)線(xiàn)稱(chēng)為串行數(shù)據(jù)線(xiàn)(SDA),時(shí)鐘導(dǎo)線(xiàn)稱(chēng)為串行時(shí)鐘線(xiàn)(SCL),即可發(fā)送數(shù)據(jù),也可接受數(shù)據(jù)。在CPU與IC之間,IC與IC之間都可以進(jìn)行雙向通信,最高傳送速率為400kbps,各種被控器件均并聯(lián)在總線(xiàn)上,每個(gè)器件都有唯一的地址。</p><p> I2C總線(xiàn)上的數(shù)據(jù)傳輸用一個(gè)起始條件來(lái)啟動(dòng)[1]如圖4-6所示,SDA信號(hào)發(fā)生由
107、高到低的轉(zhuǎn)換,同時(shí)SCL信號(hào)保持高,表示起始條件。I2C總線(xiàn)上的數(shù)據(jù)傳輸用一個(gè)終止條件來(lái)結(jié)束。如下圖所示,SDA信號(hào)發(fā)生由低到高的轉(zhuǎn)換,同時(shí)SCL信號(hào)保持高,表示終止條件。實(shí)際數(shù)據(jù)在起始和終止條件之間傳輸。</p><p> 圖4-6 起始和停止條件</p><p> 典型的I2C字節(jié)寫(xiě)入周期的操作過(guò)程是:主執(zhí)行設(shè)備用一個(gè)起始條件啟動(dòng)傳輸,接著發(fā)送設(shè)備地址,該地址是要寫(xiě)入數(shù)據(jù)字節(jié)的設(shè)
108、備的地址,以高位在前、低位在后的方式發(fā)送。數(shù)據(jù)的發(fā)送如圖4-7所示,圖中主執(zhí)行設(shè)備將數(shù)據(jù)位的值放在SDA信號(hào)線(xiàn)上,同時(shí)SCL信號(hào)線(xiàn)為低,SDA信號(hào)線(xiàn)上的值要一直保持到SCL信號(hào)線(xiàn)出現(xiàn)時(shí)鐘脈沖。在發(fā)送接收設(shè)備的地址后,主執(zhí)行設(shè)備發(fā)送一個(gè)0,接收設(shè)備在第一個(gè)ACK時(shí)鐘周期使SDA信號(hào)線(xiàn)保持低,確認(rèn)收到該地址。確認(rèn)之后,主執(zhí)行設(shè)備以高位在前、低位在后的方式發(fā)送一個(gè)字節(jié)數(shù)據(jù)。接收設(shè)備在第二個(gè)ACK時(shí)鐘周期使SDA信號(hào)線(xiàn)保持低,確認(rèn)收到數(shù)據(jù)。&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--智能溫度控制系統(tǒng)硬件設(shè)計(jì)
- 溫室多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)——硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 多點(diǎn)溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 土木工程室內(nèi)采暖畢業(yè)設(shè)計(jì)--住宅樓室內(nèi)采暖工程設(shè)計(jì)
- 多點(diǎn)溫度巡回檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 電阻爐溫度控制系統(tǒng)硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 多路溫度檢測(cè)系統(tǒng)的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--多點(diǎn)溫度巡回檢測(cè)系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 開(kāi)關(guān)柜溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 暖通畢業(yè)設(shè)計(jì)---某高層建筑室內(nèi)采暖系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 室內(nèi)溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 溫室多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)——硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開(kāi)題報(bào)告+文獻(xiàn)綜述】
- 室內(nèi)溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 多機(jī)溫度檢測(cè)畢業(yè)設(shè)計(jì)
- 室內(nèi)采暖給排水系統(tǒng)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 基于can總線(xiàn)的溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于labview的人體溫度檢測(cè)系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
評(píng)論
0/150
提交評(píng)論