版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)的智能空調(diào)控制</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 作者姓名:楊順之</b></p><p> 專業(yè)名稱:電氣工程及其自動(dòng)化</p><p> 指導(dǎo)老師:雷永鋒 講師</p><p><b>
2、; 摘要</b></p><p> 隨著時(shí)代的進(jìn)步和發(fā)展,空調(diào)已經(jīng)普及到我們生活、工作,極大地改善了人們的生活品質(zhì)。本文主要介紹了一個(gè)基于AT89C51單片機(jī)的溫度檢測(cè)、調(diào)節(jié)、控制的空調(diào)系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,特別是數(shù)字溫度傳感器DS18B20的數(shù)據(jù)采集過(guò)程。對(duì)各部分的電路也一一
3、進(jìn)行了設(shè)計(jì)。</p><p> 該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限在通過(guò)單片機(jī)控制溫度,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20與AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫
4、度測(cè)量,有廣泛的應(yīng)用前景。</p><p> 關(guān)鍵詞:AT89C51 LED數(shù)碼管 DS18B20 數(shù)字溫度計(jì)</p><p><b> Abstract</b></p><p> With the era of progress and development, air conditioning has become popula
5、r we live, work, greatly improved people's quality of life.This paper describes a temperature measurement based on AT89C51 microcontroller, regulate and control the air conditioning system, a detailed description of
6、the use of digital temperature sensor DS18B20 temperature measurement system development process, focusing on the sensor under the SCM hardware connection, software programming, and the modular systemconducte</p>
7、<p> The system can easily achieve the realization of temperature acquisition and display, and can be arbitrarily set the upper and lower temperature control through microcontroller. It is very convenient to use, w
8、ith high precision, wide range, high sensitivity, small size, low power consumption, suitable for our daily lives and industrial and agricultural production in the temperature measurement, as temperature can also be embe
9、dded in other systems processing modulein the main system as the other </p><p> Key words: AT89C51,LED digital tube,DS18B20 Temperature,Sensor</p><p><b> 目錄</b></p><p>
10、;<b> 摘要I</b></p><p> AbstractII</p><p><b> 目錄III</b></p><p><b> 前言1</b></p><p><b> 1緒論2</b></p><p&g
11、t; 1.1空調(diào)的概述2</p><p> 1.2空調(diào)的發(fā)展歷史2</p><p> 1.3空調(diào)的發(fā)展趨勢(shì)4</p><p> 1.4系統(tǒng)總體方案及硬件設(shè)計(jì)5</p><p> 2系統(tǒng)硬件的選擇及其功能特性6</p><p> 2.1 AT89C51單片機(jī)的結(jié)構(gòu)及其功能6</p>
12、<p> 2.1.1 AT89C51單片機(jī)的結(jié)構(gòu)6</p><p> 2.1.2AT89C51單片機(jī)的引腳及其功能7</p><p> 2.1.3時(shí)鐘震蕩器10</p><p> 2.1.4閑散節(jié)電模式11</p><p> 2.1.5掉電模式12</p><p> 2.1.6程序存儲(chǔ)器
13、的加密13</p><p> 2.2 DS18B20溫度傳感器13</p><p> 2.2.1 DS18B20概述13</p><p> 2.2.2 DS18B20測(cè)溫操作14</p><p> 2.2.3報(bào)警操作信號(hào)15</p><p> 2.3 LED數(shù)碼管16</p><
14、;p> 3硬件電路的設(shè)計(jì)18</p><p> 3.1時(shí)鐘電路18</p><p> 3.2顯示電路的設(shè)計(jì)19</p><p> 3.3按鍵電路設(shè)計(jì)20</p><p> 3.4溫度傳感器電路21</p><p> 3.5復(fù)位電路的設(shè)計(jì)22</p><p> 3.
15、6系統(tǒng)總電路22</p><p> 4軟件系統(tǒng)設(shè)計(jì)24</p><p><b> 4.1概述24</b></p><p> 4.2主程序流程圖24</p><p> 4.3程序源代碼25</p><p><b> 總結(jié)34</b></p>
16、<p><b> 致謝35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b> 前言</b></p><p> 隨著集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)的功能也不斷增強(qiáng),許多高性能的新型機(jī)種不斷涌現(xiàn)出來(lái)。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)
17、周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中廣泛應(yīng)用的器件,在工業(yè)生產(chǎn)中成為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來(lái)越大。</p><p> 如在工業(yè)生產(chǎn)中如:鍋爐、蒸汽機(jī)等大型設(shè)備中,PLC(大型)作為主控器件有著不可替代的的優(yōu)勢(shì),但是PLC設(shè)備一般價(jià)格比較昂貴,體積也比較大的,所用電源電壓也相對(duì)較高。所以在小型系統(tǒng)中多采用單片機(jī),隨著單片機(jī)技術(shù)的發(fā)展,單片機(jī)的不斷更新?lián)Q代,其性能有了顯著的提高,穩(wěn)定性
18、及控制功能也滿足了智能空調(diào)控制系統(tǒng)的要求,達(dá)到自動(dòng)控制的目的。因此我們采用基于單片機(jī)的控制系統(tǒng)而設(shè)計(jì)。</p><p> 此次畢業(yè)實(shí)習(xí)、畢業(yè)設(shè)計(jì)第一階段的主要工作是,學(xué)習(xí)有關(guān)單片機(jī)控制系統(tǒng)的基本知識(shí),了解單片機(jī)對(duì)智能空調(diào)控制系統(tǒng)的相關(guān)技術(shù),并在此基礎(chǔ)上選擇了使用AT89C51單片機(jī)作為核心設(shè)計(jì),同時(shí)也研究了另一重要器件DS18B20溫度傳感器。這是課題研究的基礎(chǔ)性內(nèi)容。</p><p>
19、 第二階段是在指導(dǎo)教師的指導(dǎo)下,設(shè)計(jì)出具體的電路,并確定滿足具體技術(shù)指標(biāo)的軟件,掌握電路中重要器件的使用方法,以及繪制該課題電路。</p><p> 通過(guò)教師的悉心指導(dǎo),同學(xué)的幫助和自己的努力,完成了畢業(yè)設(shè)計(jì)的各項(xiàng)任務(wù),成功完成基于單片機(jī)智能空調(diào)控制系統(tǒng)的設(shè)計(jì)。</p><p><b> 1緒論</b></p><p><b>
20、 1.1空調(diào)的概述</b></p><p> 空調(diào)即空氣調(diào)節(jié)器(Room Air Conditioner),一般用于給封閉空間區(qū)域提供處理空氣的機(jī)組。它的功能是對(duì)該房間(或封閉空間、區(qū)域)內(nèi)空氣的溫度、濕度、潔凈度和空氣流速等參數(shù)進(jìn)行調(diào)節(jié),以滿足人體舒適或工藝過(guò)程的要求。</p><p> 隨著人們生活水平的不斷提高,人們也越來(lái)越追求人性化的事物,傳統(tǒng)的空調(diào)已不能滿足人們
21、的需求?,F(xiàn)代的智能空調(diào)不僅利用了數(shù)字電路技術(shù)與模擬電路技術(shù),而且采用了單片機(jī)技術(shù),實(shí)現(xiàn)了軟硬件的結(jié)合。既完善了空調(diào)的功能,又簡(jiǎn)化了空調(diào)的控制與操作;不僅滿足了不同用戶對(duì)環(huán)境溫度的不同要求,而且能全智能調(diào)節(jié)室內(nèi)的溫度及濕度等,使得空調(diào)具有節(jié)能、操作更簡(jiǎn)單、無(wú)機(jī)械裝置、安全性能更強(qiáng)等特點(diǎn)。隨著電子產(chǎn)品的飛速發(fā)展,價(jià)格低廉而又實(shí)用的控制系統(tǒng)深受廣大消費(fèi)者的喜愛(ài)。所以本次畢業(yè)設(shè)計(jì)就選擇基于單片機(jī)的智能空調(diào)控制系統(tǒng)設(shè)計(jì)。</p>&
22、lt;p> 1.2空調(diào)的發(fā)展歷史</p><p> 在二十世紀(jì)六,七十年代,美國(guó)地區(qū)發(fā)生罕見(jiàn)的干旱天氣,為解決干旱缺水地區(qū)的空調(diào)冷熱源問(wèn)題,美國(guó)率先研制出風(fēng)冷式冷水機(jī),用空氣散熱代替冷卻塔,其英文名稱是:Air cool Chiller,簡(jiǎn)稱為Chiller。</p><p> 在空調(diào)歷史中,美國(guó)已經(jīng)發(fā)展和改進(jìn)了有風(fēng)管的中央單元式系統(tǒng),并得到了正在現(xiàn)場(chǎng)安裝和修理有風(fēng)管的單元式空
23、調(diào)系統(tǒng)的空調(diào)設(shè)備分銷商和經(jīng)銷商的強(qiáng)力支持。WRAC是最簡(jiǎn)單和最便宜的系統(tǒng),能夠很容易的在零售商店中購(gòu)得,并在持續(xù)高溫來(lái)的時(shí)候自己安裝。同時(shí),無(wú)風(fēng)管的SRAC和SPAC自70年代起在有別于美國(guó)市場(chǎng)的動(dòng)力下在日本得到發(fā)展和改進(jìn)。之后,設(shè)備設(shè)計(jì)和制造技術(shù)在90年代被轉(zhuǎn)讓到中國(guó),這是通過(guò)與當(dāng)?shù)毓?包括主要元件如壓縮機(jī)、熱交換器、電機(jī)、精細(xì)閥和電子控制器的本地制造商)組成的合資公司進(jìn)行的。在90年代中國(guó)也從其它先進(jìn)國(guó)家吸收了較大型空調(diào)設(shè)備的先進(jìn)
24、高新技術(shù),并與多數(shù)是美國(guó)的大公司組成合資企業(yè)?,F(xiàn)今,中國(guó)當(dāng)?shù)刂饕S和合資企業(yè)制造了大量SRAC和SPAC以滿足增長(zhǎng)的國(guó)內(nèi)市場(chǎng)和出口需要。中國(guó)現(xiàn)今已是最大的空調(diào)出口國(guó),在2010年有4189萬(wàn)臺(tái)機(jī)組出口。下面介紹我國(guó)家用空調(diào)產(chǎn)品外觀歷史演變</p><p> 1. 第一代格柵式面板家用空調(diào)器</p><p> 1988年,第一臺(tái)國(guó)產(chǎn)分體壁掛機(jī)KF-19G1A在華寶空調(diào)器廠誕生,當(dāng)時(shí)華寶
25、還給它取了個(gè)很有詩(shī)意的名字——雪蓮。雪蓮的誕生開(kāi)啟了我國(guó)家用空調(diào)器行業(yè)的一個(gè)新時(shí)代,此后,春蘭也擁有了自己的掛機(jī)生產(chǎn)線。華寶和春蘭生產(chǎn)的空調(diào)器統(tǒng)治了從上個(gè)世紀(jì)80年代末到90年代中期近10年的時(shí)間,他們生產(chǎn)的空調(diào)器在外觀上極其相似:扁平的大長(zhǎng)方體結(jié)構(gòu)。與此同時(shí),大量的進(jìn)口產(chǎn)品外觀在90年代中期以前與此也大體相仿,所以,當(dāng)時(shí)的空調(diào)器特別是掛機(jī),如果不看商標(biāo)很難辨別出是哪個(gè)品牌。1988年華寶空調(diào)器廠研制出第一臺(tái)分體壁掛機(jī)KF—19GA是格
26、柵式面板產(chǎn)品的一個(gè)典型代表,直到1995年,春蘭的KFR—22G依然是掛機(jī)市場(chǎng)的主導(dǎo)產(chǎn)品,這也說(shuō)明了當(dāng)時(shí)國(guó)產(chǎn)空調(diào)品仍舊以格柵式面板為主流。 </p><p> 2. 第二代格柵式面板家用空調(diào)器</p><p> 當(dāng)家用空調(diào)器漸漸普及,其外觀也在悄悄地發(fā)生著變化。20世紀(jì)80年代甚至到1995年,中國(guó)空調(diào)市場(chǎng)是進(jìn)口機(jī)一統(tǒng)天下,進(jìn)口機(jī)為中國(guó)家用空調(diào)行業(yè)的發(fā)展起到了啟蒙作用,許多國(guó)產(chǎn)品牌的生
27、產(chǎn)就是引進(jìn)配件加以組裝,這種啟蒙作用也包括對(duì)我國(guó)家用空調(diào)器產(chǎn)品室內(nèi)機(jī)外觀的改變。</p><p> 20世紀(jì)90年代中期,以三菱電機(jī)、日立、松下等為代表的進(jìn)口空調(diào)器出現(xiàn)了一種小型室內(nèi)機(jī),這種室內(nèi)機(jī)一改以往那種龐大敦重的形象,外觀精巧整潔,與家居環(huán)境融為一體,深受消費(fèi)者的青睞。隨著國(guó)內(nèi)眾多空調(diào)工廠對(duì)此類產(chǎn)品的普及生產(chǎn),第二代格柵式面板空調(diào)器主導(dǎo)了空調(diào)市場(chǎng)并流行至今。</p><p> 3
28、. 第三代光面板時(shí)代</p><p> 2005年度國(guó)內(nèi)各個(gè)工廠的新產(chǎn)品,與往年格柵式面板占主流相比,絕大多數(shù)品牌在2005年度推出了光面板系列的空調(diào)產(chǎn)品,如格力的天麗系列、海爾的高效氧吧系列、美的的Q2系列和V系列等等。空調(diào)行業(yè)各廠家的這種集體行為將我國(guó)家用空調(diào)產(chǎn)品推至光面板時(shí)代。</p><p> 與格柵面板相比,不僅是外觀上的一種進(jìn)步,更是產(chǎn)品技術(shù)上的一種轉(zhuǎn)變。光面板掛機(jī)的上進(jìn)風(fēng)
29、下出風(fēng)取代了原來(lái)的正面進(jìn)風(fēng)下出風(fēng)的循環(huán)風(fēng)路,而光面板柜機(jī)的側(cè)進(jìn)風(fēng)或進(jìn)風(fēng)口開(kāi)合式設(shè)計(jì)也漸漸與原來(lái)傳統(tǒng)的下進(jìn)風(fēng)上出風(fēng)的循環(huán)風(fēng)路共同主導(dǎo)柜機(jī)產(chǎn)品的設(shè)計(jì)趨勢(shì)。</p><p> 4. 第四代彩色面板</p><p> 在國(guó)內(nèi)空調(diào)市場(chǎng),將彩色引入空調(diào)面板設(shè)計(jì)并形成一種傳統(tǒng)風(fēng)格是韓國(guó)品牌三星和LG的創(chuàng)舉。與此同時(shí),其他工廠開(kāi)始逐一效仿。至2005年度,絕大多數(shù)工廠都有彩色面板的產(chǎn)品面市;而且,面板
30、的顏色種類也開(kāi)始變得異彩粉紛呈,其中又多款彩色面板產(chǎn)品堪稱經(jīng)典,如海爾的彩屏雙新風(fēng)、格力的天麗、志高的花好月圓、TCL的君蘭系列和海蒂娜系列等等。</p><p> 1.3空調(diào)的發(fā)展趨勢(shì)</p><p> 由于近幾年國(guó)家的大力倡導(dǎo)節(jié)能減排,促進(jìn)環(huán)保,實(shí)施可持續(xù)發(fā)展的戰(zhàn)略。2004年8月,國(guó)家發(fā)改委、國(guó)家質(zhì)檢總局聯(lián)合制定并發(fā)布《能源效率標(biāo)識(shí)管理辦法》,這標(biāo)志著我國(guó)將實(shí)施能源效率標(biāo)識(shí)制度.
31、我國(guó)的能效標(biāo)識(shí)制度自2005年3月1日起正式實(shí)施.能效標(biāo)準(zhǔn)是由能效比得來(lái)的,首先介紹一下空調(diào)能效比的計(jì)算方法:能效比=制冷量/制冷功率。本著響應(yīng)國(guó)家政策發(fā)展節(jié)能技術(shù),內(nèi)的空調(diào)生產(chǎn)商也開(kāi)始逐步走向變頻空調(diào)的市場(chǎng)。在2009年新空調(diào)年,美的變頻空調(diào)整體銷售目標(biāo)為250萬(wàn)套,其中國(guó)內(nèi)市場(chǎng)銷售預(yù)計(jì)達(dá)150萬(wàn)套,占據(jù)國(guó)內(nèi)變頻空調(diào)60%以上市場(chǎng)份額?!懊髂陮?duì)所有做變頻空調(diào)的品牌來(lái)說(shuō)都是一個(gè)機(jī)會(huì),變頻空調(diào)的銷售量很可能翻番,所占市場(chǎng)份額可能達(dá)到10%
32、以上?!焙P趴讫埧偛猛跏坷趯?duì)明年的變頻空調(diào)市場(chǎng)抱樂(lè)觀態(tài)度,而作為未來(lái)的發(fā)展趨勢(shì),國(guó)內(nèi)幾大空調(diào)廠家聞風(fēng)而動(dòng),開(kāi)始對(duì)變頻空調(diào)“投懷送抱”。</p><p> 除了發(fā)展變頻空調(diào)外,還有新冷媒(R410A)的推廣,靜電除塵技術(shù)的普遍利用,負(fù)離子技術(shù)的廣泛使用也都預(yù)示我國(guó)的空調(diào)行業(yè)向著高效、節(jié)能、環(huán)保的趨勢(shì)前進(jìn)。</p><p> 1.4系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p&
33、gt; 本設(shè)計(jì)關(guān)鍵是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行 A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,其中還涉及到電阻與溫度的對(duì)應(yīng)值的計(jì)算,感溫電路比較麻煩。而且在對(duì)采集的信號(hào)進(jìn)行放大時(shí)容易受溫度的影響出現(xiàn)較大的偏差,空調(diào)機(jī)內(nèi)高密度的電路以及電子器件更容易出現(xiàn)較大誤差影響空調(diào)性能。</p>
34、<p> 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,電路簡(jiǎn)單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的再擴(kuò)展,對(duì)于整個(gè)系統(tǒng)費(fèi)用較低,可靠性高,軟件設(shè)計(jì)也比較簡(jiǎn)單,滿足設(shè)計(jì)要求。所以此處選用DS18B20方案。</p><p> 圖1.1 總體控制方案圖
35、</p><p> 2系統(tǒng)硬件的選擇及其功能特性</p><p> 本章主要就選擇單片機(jī)、溫度傳感器、數(shù)碼管作說(shuō)明。</p><p> 2.1 AT89C51單片機(jī)的結(jié)構(gòu)及其功能</p><p> 實(shí)際參考本系統(tǒng)的組成及所需功能的準(zhǔn)確性,本文采用的是AT89C51單片機(jī)。</p><p> 2.1.1 AT8
36、9C51單片機(jī)的結(jié)構(gòu)</p><p> AT89C51單片機(jī)與Intel 80C51在引腳排列、工作特性、硬件組成、指令系統(tǒng)完全兼容。</p><p> 內(nèi)含4KB的Flash存儲(chǔ)器,擦寫(xiě)次數(shù)1000次;</p><p> 內(nèi)含128字節(jié)的RAM;</p><p> 具有32根可編程I/O線;</p><p>
37、 具有2個(gè)16位可編程定時(shí)器;</p><p> 具有6個(gè)中斷源、5個(gè)中斷矢量、2級(jí)優(yōu)先權(quán)的中斷結(jié)構(gòu);</p><p> 具有1個(gè)全雙工的可編程串行通信接口;</p><p> 具有1個(gè)數(shù)據(jù)指針DPRT;</p><p> 兩種低功耗工作模式,即空閑模式和掉電模式;</p><p> 具有可編程3級(jí)程序鎖定
38、位;</p><p> AT89C51的工作電源電壓為5(1±0.2)V且典型值為5V;</p><p> AT89C51最高工作頻率24M Hz;</p><p> 其基本組成(參見(jiàn)圖2.1):中央處理器、Flash存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。</
39、p><p> 1.中央處理器(CPU)</p><p> 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,完成運(yùn)算和控制功能。中央處理器主要包括運(yùn)算器和控制器兩部分。</p><p> 運(yùn)算器主要用來(lái)實(shí)現(xiàn)算術(shù)運(yùn)算、邏輯運(yùn)算和位操作。其中包括邏輯運(yùn)算單元AUL、累加器Acc、B寄存器、程序狀態(tài)字PSW和兩個(gè)暫存器。</p><p> 控制器是識(shí)
40、別指令并根據(jù)指令性質(zhì)協(xié)調(diào)計(jì)算機(jī)內(nèi)各組成單元進(jìn)行工作的部件??刂破髦饕ǔ绦蛴?jì)數(shù)器PC、PC增量器、指令寄存器、指令譯碼器、定時(shí)器和邏輯控制器。其功能是控制指令的讀入、譯碼和執(zhí)行,并對(duì)之靈執(zhí)行過(guò)程進(jìn)行定時(shí)和邏輯控制。</p><p> 2.內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM)</p><p> AT89C51芯片中共有128B位RAM單元,用于存放可讀寫(xiě)的數(shù)據(jù),簡(jiǎn)稱內(nèi)部RAM。</p&g
41、t;<p> 3.外部程序存儲(chǔ)器(外部ROM)</p><p> AT89C51芯片內(nèi)有4K字節(jié)的可反復(fù)擦寫(xiě)的程序存儲(chǔ)器(PENROM)</p><p><b> 4.定時(shí)/計(jì)數(shù)器</b></p><p> AT89C51共有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。</p
42、><p> 2.1.2AT89C51單片機(jī)的引腳及其功能</p><p> 單片機(jī)引腳如圖2.1所示:</p><p> 圖2.1單片機(jī)引腳圖</p><p><b> VCC:電源電壓</b></p><p><b> GND:地</b></p><
43、;p><b> P0口:</b></p><p> P0口是一組8位漏極開(kāi)路雙向I/O口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時(shí),每一個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“1”被寫(xiě)入P0口時(shí),每個(gè)管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,并在這時(shí)激活內(nèi)部的上拉電阻。P0口在閃爍編程時(shí),P0口接收指令,在程序校驗(yàn)時(shí),輸出指令,需要
44、接電阻。</p><p><b> P1口:</b></p><p> P1口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編程時(shí)和程序校驗(yàn)時(shí),P1口接收低8位地址。</p><p>
45、圖2.2 AT89C51單片機(jī)結(jié)構(gòu)框圖</p><p><b> P2口:</b></p><p> P2口是一個(gè)內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P
46、2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。閃爍編程或校驗(yàn)時(shí),P2口接收高位地址和其它控制信號(hào)。</p><p><b> P3口:</b></p><p> P3口是一組帶有內(nèi)部電阻的8位雙向I/O口,P3口輸出緩沖故可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)P3口寫(xiě)如“1”時(shí),它們被內(nèi)部電阻拉到高電平并可作為輸入端時(shí),被外部拉低
47、的P3口將用電阻輸出電流。P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,如下表2.1所示:</p><p> 表2.1 P3口第二功能表</p><p> 除此之外,P3口還接收一些用于閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p><b> RST:</b></p><p> 復(fù)位輸入。當(dāng)震
48、蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。</p><p><b> ALE/:</b></p><p> 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE以時(shí)鐘震蕩頻率的1/16輸出固定的正脈沖信號(hào),因此它可對(duì)輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)AL
49、E脈沖時(shí),閃爍存儲(chǔ)器編程時(shí),這個(gè)引腳還用于輸入編程脈沖。如果必要,可對(duì)特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個(gè)位置后只有一條MOVX和MOVC指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。</p><p><b> PSEN:</b></p><p> 程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT8
50、9C51由外部程序存儲(chǔ)器讀取指令時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN 信號(hào)不出現(xiàn)。</p><p><b> EA/VPP:</b></p><p> 外部訪問(wèn)允許。欲使中央處理器僅訪問(wèn)外部程序存儲(chǔ)器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA
51、端為高電平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。閃爍存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。</p><p> XTAL1:震蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> XTAL2:震蕩器反相放大器的輸出端。</p><p> 2.1.3時(shí)鐘震蕩器</p><p&g
52、t; AT89C51中有一個(gè)用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自然震蕩器。 外接石英晶體及電容C1,C2接在放大器的反饋回路中構(gòu)成并聯(lián)震蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響震蕩頻率的高低、震蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30P
53、F±10PF,而如果使用陶瓷振蕩器建議選擇40PF±10PF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p> 2.1.
54、4閑散節(jié)電模式</p><p> AT89C51有兩種可用軟件編程的省電模式,它們是閑散模式和掉電工作模式。這兩種方式是控制專用寄存器PCON中的PD和IDL位來(lái)實(shí)現(xiàn)的。PD是掉電模式,當(dāng)PD=1時(shí),激活掉電工作模式,單片機(jī)進(jìn)入掉電工作狀態(tài)。IDL是閑散等待方式,當(dāng)IDL=1,激活閑散工作狀態(tài),單片機(jī)進(jìn)入睡眠狀態(tài)。如需要同時(shí)進(jìn)入兩種工作模式,即PD和IDL同時(shí)為1,則先激活掉電模式。</p>&l
55、t;p> 圖2.3內(nèi)部振蕩電路</p><p> 圖2.4外部振蕩電路</p><p> 在閑散工作模式狀態(tài),中央處理器CPU保持睡眠狀態(tài),而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi)隨機(jī)存取數(shù)據(jù)存儲(chǔ)器和所有特殊功能寄存器的內(nèi)容保持不變。閑散模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止。終止閑散工作模式的方法有兩種,一是任何一條被允許中斷的事件被激活,IDL被硬件
56、清除,即刻終止閑散工作模式。程序會(huì)首先影響中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序,并緊隨RETI指令后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入閑散工作模式,那條指令后面的一條指令。二是通過(guò)硬件復(fù)位也可將閑散工作模式終止。</p><p> 需要注意的是:當(dāng)由硬件復(fù)位來(lái)終止閑散工作模式時(shí),中央處理器CPU通常是從激活空閑模式那條指令的下一條開(kāi)始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個(gè)機(jī)器周期有效
57、,在這種情況下,內(nèi)部禁止中央處理器CPU訪問(wèn)片內(nèi)RAM,而允許訪問(wèn)其他端口,為了避免可能對(duì)端口產(chǎn)生的意外寫(xiě)入:激活閑散模式的那條指令后面的一條指令不應(yīng)是一條對(duì)端口或外部存儲(chǔ)器的寫(xiě)入指令。</p><p><b> 2.1.5掉電模式</b></p><p> 在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在
58、中指掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將從新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在VCC恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效切必須保持一定時(shí)間以使振蕩器從新啟動(dòng)并穩(wěn)定工作。</p><p> 表2.2 閑散和掉電模式外部引腳狀態(tài)</p><p> 2.1.6程序存儲(chǔ)器的加密</p><p> AT89C51可使用對(duì)芯片上的三個(gè)加密
59、位LB1,LB2,LB3進(jìn)行編程(P)或不編程(U)得到如下表2.3所示的功能:</p><p> 表2.3LB1、LB2、LB3功能表</p><p> 當(dāng)LB1被編程時(shí),在復(fù)位期間,EA端的電平被鎖存,如果單片機(jī)上電后一直沒(méi)有復(fù)位,鎖存起來(lái)的初始值是一個(gè)不確定數(shù),這個(gè)不確定數(shù)會(huì)一直保存到真正復(fù)位位置。為了使單片機(jī)正常工作,被鎖存的EA電平與這個(gè)引腳當(dāng)前輯電平一致。機(jī)密位只能通過(guò)整
60、片擦除的方法清除。</p><p> 2.2 DS18B20溫度傳感器</p><p> 2.2.1 DS18B20概述</p><p> DS18B20數(shù)字溫度計(jì)提供9-12位攝氏溫度測(cè)量而且有一個(gè)高低電平觸發(fā)的可編程的不因電源消失而改變的報(bào)警功能。DS18B20通過(guò)一個(gè)單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線。它的測(cè)溫范圍
61、為-55~ +125℃, 精度為±5℃。除此之外,DS18B20能直接從單線通訊上級(jí)去能量,出去對(duì)外部電源的要求。</p><p> 每個(gè)DS18B20都有個(gè)獨(dú)特的64位序列號(hào),從而允許多只DS18B20同時(shí)連載一根單總線上;因此,很簡(jiǎn)單就可以用一個(gè)為微處理器去控制很多覆蓋在一大片區(qū)域的DS18B20。這一特性在很多控制方面非常有用。表2.4詳細(xì)說(shuō)明其引腳功能。</p><p>
62、; 表2.4 詳細(xì)的引腳說(shuō)明</p><p> ?。ㄗⅲ核猩媳砦刺峒暗囊_都無(wú)連接)</p><p> 2.2.2 DS18B20測(cè)溫操作</p><p> DS18B20的核心功能是它的直接讀數(shù)的溫度傳感器。溫度傳感器的精度為用戶可編程的9,,10,11或12位,分別以0.5℃,0.25℃,0.125℃和0.0625℃增量遞增。在上電狀態(tài)下默認(rèn)精度為12位
63、。 DS18B20啟動(dòng)后保持低功耗等待狀態(tài);當(dāng)需要執(zhí)行溫度測(cè)量和AD轉(zhuǎn)換時(shí),總線控制器必須發(fā)出[44h]命令。在那之后,嬋真的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中, DS18B20繼續(xù)保持等待狀態(tài)。當(dāng)DS18B20由外部電源供電時(shí)總線控制器在溫度轉(zhuǎn)換指令之后發(fā)起“讀時(shí)序”,DS18B20在溫度轉(zhuǎn)換中返回0,轉(zhuǎn)換結(jié)束返回1.如果DS18B20由寄生電源供電,除非在進(jìn)入溫度轉(zhuǎn)換時(shí)總線被強(qiáng)上拉拉高,否則不會(huì)有返回值。<
64、;/p><p> 表2.5 溫度寄存器格式</p><p> bit7bit 6bit 5bit 4bit 3bit 2bit 1bit 0</p><p> bit 15bit 14bit 13bit 12bit 11bit 10bit 9bit 8</p><p> 表2.6 溫度/數(shù)據(jù)關(guān)系
65、</p><p> 2.2.3報(bào)警操作信號(hào)</p><p> DS18B20在完成一次溫度裝換后,就會(huì)拿溫度值與存儲(chǔ)在TH和TL中一個(gè)字節(jié)的用戶自定義的報(bào)警預(yù)定值進(jìn)行比較。標(biāo)志位(S)指出溫度值的正負(fù):正數(shù)S=0,負(fù)數(shù)S=1。TH和TL寄存器是非易室性的,所以他們?cè)诘綦娛侨伪3謹(jǐn)?shù)據(jù)。</p><p> 表2.7 TH和TL寄存器格式</p>&l
66、t;p> bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0</p><p> 當(dāng)TH和TL為8位寄存器時(shí),4位溫度寄存器中的11個(gè)位用來(lái)和TH、TL進(jìn)行比較。如果測(cè)得的溫度高于TH或低于TL,報(bào)警條件成立,DS18B20內(nèi)部就會(huì)置位一個(gè)報(bào)警標(biāo)識(shí)。每進(jìn)行一次測(cè)溫就對(duì)這個(gè)標(biāo)識(shí)進(jìn)行一次更新;因此,報(bào)警條件不成立了,在下一次溫度轉(zhuǎn)換后報(bào)警標(biāo)識(shí)將被移去。</p&
67、gt;<p> 總線控制器通過(guò)發(fā)出報(bào)警搜索命令[ECh]檢測(cè)總線上所有的DS18B20報(bào)警標(biāo)識(shí)。任何置位報(bào)警標(biāo)識(shí)的DS18B20將響應(yīng)這條命令,所以總線控制器能精確定位每一個(gè)滿足報(bào)警條件的DS18B20。如果報(bào)警條件成立,而TH或TL的設(shè)置已經(jīng)改變,另一個(gè)溫度轉(zhuǎn)換將從新確認(rèn)報(bào)警條件。</p><p> 2.3 LED數(shù)碼管</p><p> 數(shù)碼管按能顯示多少個(gè)“8”可
68、分為1位、2位、4位等等數(shù)碼管</p><p> 按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)
69、用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。</p><p> 圖2.4數(shù)碼管結(jié)構(gòu)示意圖</p><p> 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。</p><p><
70、;b> 1.靜態(tài)顯示驅(qū)動(dòng)</b></p><p> 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼</p><p> 圖2.5數(shù)碼管內(nèi)部原理圖</p><p> 都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示
71、則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p><b> 2.動(dòng)態(tài)顯示驅(qū)動(dòng)</b></p><p> 數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,
72、dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮
73、時(shí)間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p><b> 3硬件電路的設(shè)計(jì)</b></p><p> 系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、按鍵電路、溫度傳感器
74、、復(fù)位電路的組成。電路的原理以及設(shè)計(jì)中所用的器件都在前已經(jīng)作了詳細(xì)的敘述,本章就直接圍繞圖3.1介紹電路的具體設(shè)計(jì)。</p><p> 圖3.1硬件系統(tǒng)框圖</p><p><b> 3.1時(shí)鐘電路</b></p><p> 在AT89C51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的
75、外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘電路,如圖3.2所示。</p><p> 時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。請(qǐng)讀者特別注意時(shí)鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會(huì)造成概念上的錯(cuò)誤。一般地,電容C1和C2取30uF左右,晶體的振蕩頻率范圍是1.2~12MHz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,
76、單片機(jī)運(yùn)行速度也就快89C51的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘振蕩方式,</p><p> 圖3.2 內(nèi)部時(shí)鐘電路</p><p> 但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時(shí)鐘方式,即將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入,如圖3.3</p><p> 圖3.3外部時(shí)鐘電路<
77、/p><p> 3.2顯示電路的設(shè)計(jì)</p><p> 由于此處是空調(diào)控制系統(tǒng),對(duì)溫度測(cè)量、控制基本范圍為</p><p> 0℃-50℃內(nèi),顯然一位的LED數(shù)碼管不能滿足其顯示要求的,所以顯示電路采用3位共陰極LED數(shù)碼管。另外P0口由上拉電阻提高驅(qū)動(dòng)能力,作為段碼輸出并作為數(shù)碼管的驅(qū)動(dòng)。P2口的低三位作為數(shù)碼管的位選端。采用動(dòng)態(tài)掃描的方式顯示掃描結(jié)果,電路圖如
78、下圖3.4。</p><p><b> 圖3.4顯示電路</b></p><p><b> 3.3按鍵電路設(shè)計(jì)</b></p><p><b> 圖3.5按鍵電路</b></p><p> 本系統(tǒng)設(shè)計(jì)三個(gè)按鍵,采用查詢方式,一個(gè)用于選擇切換設(shè)置報(bào)警溫度和當(dāng)前溫度,另外兩
79、個(gè)分別用于設(shè)置報(bào)警溫度的加和減。均采用軟件消抖。電路如圖3.5。</p><p> 3.4溫度傳感器電路</p><p> DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下: </p>&
80、lt;p> 1. 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; </p><p> 2. 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能 </p><p> 3. 無(wú)須外部器件; </p><p> 4. 可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.0~5.5V; </p><p> 5. 零待機(jī)功耗; </p>
81、<p> 6. 溫度以9或12位數(shù)字; </p><p> 7. 用戶可定義報(bào)警設(shè)置; </p><p> 8. 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;</p><p> 9. 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;</p><p> DS18B20可以采用兩種方式供電
82、,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線 總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來(lái)完成對(duì)總線的上拉。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。<
83、/p><p> 圖3.6 溫度傳感器與單片機(jī)的鏈接</p><p> 3.5復(fù)位電路的設(shè)計(jì)</p><p> 復(fù)位電路在此處的主要作用是系統(tǒng)在出錯(cuò)的狀態(tài)下恢復(fù)正常</p><p><b> 圖3.7復(fù)位電路</b></p><p><b> 3.6系統(tǒng)總電路</b>&l
84、t;/p><p> 綜合以上各部分畫(huà)出以下原理圖,如圖3.7,它的各個(gè)模塊電路及作用也已經(jīng)在本章的前一部分作了介紹,所以在此處就不在闡述其具體原理和作用。</p><p><b> 圖3.7系統(tǒng)原理圖</b></p><p><b> 4軟件系統(tǒng)設(shè)計(jì)</b></p><p><b>
85、4.1概述</b></p><p> 本設(shè)計(jì)中引入了單片機(jī),將硬件與軟件結(jié)合在一起,通過(guò)硬件電路與軟件編程實(shí)現(xiàn)課題,減輕了基于傳統(tǒng)的水位控制系統(tǒng)的布線難度。</p><p><b> 4.2主程序流程圖</b></p><p><b> 流程圖如下圖4.1</b></p><p>
86、 圖4.1主程序流程圖</p><p><b> 4.3程序源代碼</b></p><p> DS18B20的讀寫(xiě)程序,數(shù)據(jù)腳P2.7,溫度傳感器18B20匯編程序,采用器件默認(rèn)的12位轉(zhuǎn)化,最大轉(zhuǎn)化時(shí)間750微秒,顯示溫度-55到+125度,顯示精度,為0.1度,顯示采用4位LED共陽(yáng)顯示測(cè)溫值,P0口為段碼輸入,P2.0~P2.4為位選。</p>
87、<p><b> 程序代碼如下:</b></p><p> #include"reg51.h"</p><p> #include"intrins.h" //_nop_();延時(shí)函數(shù)用 </p><p> #define dmP0
88、 //段碼輸出口 </p><p> #define ucharunsignedchar</p><p> #define uint unsignedint sbitDQ=P2^7; //溫度輸入口 </p><p> sbitw0=P2^0; //數(shù)碼管4</p
89、><p> sbitw1=P2^1; //數(shù)碼3</p><p> sbitw2=P2^2; //數(shù)碼管2</p><p> sbitw3=P2^3; //數(shù)碼管1</p><p> sbitbe
90、ep=P1^7; //蜂鳴器和指示燈</p><p> sbitset=P2^6; //溫度設(shè)置切換鍵</p><p> sbitadd=P2^4; //溫度加</p><p> sbitdec=P2^5;
91、 //溫度減</p><p> inttemp1=0; //顯示當(dāng)前溫度和設(shè)置溫度的標(biāo)志位為0時(shí)顯示當(dāng)前溫度</p><p><b> uint h;</b></p><p> uintt emp;</p><p><b> uchar r;</b></p
92、><p> uchar high=35,low=20;</p><p> uchar sign; </p><p> uchar q=0;</p><p> uchar tt=0;</p><p> uchar scale; //溫度小數(shù)部分用查表法//</p><p>
93、 ucharcodeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}; //小數(shù)斷碼表 </p><p> ucharcodetable_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x
94、40}; //共陰LED段碼表"0" "1" "2" "3" "4" "5"7""8" "9""不亮""-"</p><p> uchartable_dm1[]={0xbf,0x86,0xdb,0xcf,
95、0xe6,0xed,0xfd,0x87,0xff,0xef}; //個(gè)位帶小數(shù)點(diǎn)的斷碼表</p><p> uchardatatemp_data[2]={0x00,0x00}; //讀出溫度暫放</p><p> uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};</p>
96、<p> //顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用</p><p> voiddelay(uintt) //11us延時(shí)函數(shù)</p><p><b> {</b></p><p> for(;t>0;t--);</p><p><b> }</b><
97、/p><p> voidscan()</p><p><b> {</b></p><p><b> intj;</b></p><p> for(j=0;j<4;j++)</p><p><b> {</b></p><
98、p><b> switch(j)</b></p><p><b> {</b></p><p> case0:dm=table_dm[display[0]];w0=0;delay(50);w0=1;//小數(shù)</p><p> case1:dm=table_dm1[display[1]];w1=0;delay(
99、50);w1=1;//個(gè)位</p><p> case2:dm=table_dm[display[2]];w2=0;delay(50);w2=1;//十位</p><p> case3:dm=table_dm[display[3]];w3=0;delay(50);w3=1; //百位</p><p> else{dm=table_dm[b3];w3=0;del
100、ay(50);w3=1;}</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> ow_reset(void) //DS18B20復(fù)位函數(shù)</p
101、><p><b> {</b></p><p> charpresence=1;</p><p> while(presence)</p><p><b> {</b></p><p> while(presence)</p><p><b
102、> {</b></p><p> DQ=1;_nop_();_nop_(); //從高拉倒低</p><p><b> DQ=0;</b></p><p> delay(50); //550us</p><p><b> DQ=1;</b><
103、;/p><p> delay(6); //66us</p><p> presence=DQ; //presence=0 復(fù)位成功,繼續(xù)下一步</p><p><b> }</b></p><p> delay(45); //延時(shí)500us&l
104、t;/p><p> presence=~DQ;</p><p><b> }</b></p><p> DQ=1; //拉高電平</p><p><b> }</b></p><p> voidwrite_byte(ucha
105、rval) //向1-WIRE 總線上寫(xiě)1個(gè)字節(jié)</p><p><b> {</b></p><p><b> uchari;</b></p><p> for(i=8;i>0;i--)</p><p><b> {</b></p&
106、gt;<p> DQ=1;_nop_();_nop_(); //從高拉倒低</p><p> DQ=0;_nop_();_nop_();_nop_();_nop_(); //5us</p><p> DQ=val&0x01; //最低位移出</p><p> delay(6);
107、 //66us</p><p> val=val/2; //右移1位</p><p><b> }</b></p><p><b> DQ=1;</b></p><p><b>
108、delay(1);</b></p><p><b> }</b></p><p> ucharread_byte(void) //從總線上取1個(gè)字節(jié)</p><p><b> {</b></p><p> uchari; ucharva
109、lue=0;</p><p> for(i=8;i>0;i--)</p><p><b> {</b></p><p> DQ=1;_nop_();_nop_();</p><p> value>>=1;</p><p> DQ=0;_nop_();_nop_();_n
110、op_();_nop_(); //4us</p><p> DQ=1;_nop_();_nop_();_nop_();_nop_(); //4us</p><p> if(DQ)value|=0x80;</p><p> delay(6); //66us</p>
111、<p><b> }</b></p><p><b> DQ=1;</b></p><p> return(value);</p><p><b> }</b></p><p> read_temp()
112、 //讀出溫度函數(shù)</p><p><b> {</b></p><p> ow_reset(); //總線復(fù)位</p><p> delay(200);</p><p> write_byte(0xcc); //發(fā)命令</p
113、><p> write_byte(0x44); //發(fā)轉(zhuǎn)換命令</p><p> ow_reset();</p><p><b> delay(1);</b></p><p> write_byte(0xcc); //發(fā)命令</p>
114、<p> write_byte(0xbe); </p><p> temp_data[0]=read_byte(); //讀溫度值的第字節(jié)</p><p> temp_data[1]=read_byte(); //讀溫度值的高字節(jié)</p><p> temp=temp_data[1];</p>&l
115、t;p><b> temp<<=8;</b></p><p> temp=temp|temp_data[0]; //兩字節(jié)合成一個(gè)整型變量。</p><p> returntemp; //返回溫度值</p><p><b> }</b>
116、</p><p> work_temp(uinttem) //溫度數(shù)據(jù)處理函數(shù)</p><p><b> {</b></p><p><b> ucharn=0;</b></p><p> if(tem>6348) /
117、/溫度值正負(fù)判斷</p><p><b> {</b></p><p> tem=65536-tem;n=1;</p><p> } //負(fù)溫度求補(bǔ)碼,標(biāo)志位置1</p><p> display[4]=tem&0x0f;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的空調(diào)控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文——基于avr單片機(jī)的汽車空調(diào)控制系統(tǒng)
- 基于單片機(jī)的智能交通控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文基于單片機(jī)的智能風(fēng)扇控制系統(tǒng)
- 基于單片機(jī)的智能交通控制系統(tǒng)畢業(yè)論文
- 基于單片機(jī)的智能溫度控制系統(tǒng)【畢業(yè)論文】
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)智能中央空調(diào)控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的汽車空調(diào)控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的路燈控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文設(shè)計(jì)基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的水位控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論