版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 第1章引言1</b></p><p> 1.1傳感器的概述和應用前景1</p><p> 1.2課題目的和意義2</p><p> 1.3課題的主要組成和設(shè)計要求3</p><p>
2、; 第2章方案比較與論證4</p><p> 2.1設(shè)計思路4</p><p> 2.2方案設(shè)計比較4</p><p> 2.3方案的確定7</p><p> 第3章硬件電路設(shè)計5</p><p> 3.1設(shè)計思路與方法5</p><p> 3.2基本功能
3、模塊電路6</p><p> 3.2.1溫度采集模塊6</p><p> 3.2.2系統(tǒng)控制模塊9</p><p> 3.2.3數(shù)據(jù)存儲模塊9</p><p> 3.2.4顯示模塊10</p><p> 3.2.5紅外發(fā)送與接收模塊12</p><p> 3.2
4、.6單片機引腳分配圖14</p><p> 第4章系統(tǒng)程序設(shè)計15</p><p> 第5章設(shè)計演示結(jié)果26</p><p> 5.1硬件演示效果27</p><p> 第6章結(jié)論與展望30</p><p><b> 6.1結(jié)論30</b></p>
5、<p> 6.2結(jié)束語30</p><p><b> 致謝31</b></p><p><b> 參考文獻32</b></p><p> 附錄一系統(tǒng)原理圖33</p><p> 附錄二程序清單34</p><p><b> 智能
6、空調(diào)節(jié)電控制器</b></p><p><b> 本文摘要</b></p><p> 本文設(shè)計了一種基于STC89C52單片機能學習各種32位空調(diào)遙控指令并自動依據(jù)檢測到的溫度調(diào)節(jié)空調(diào)的運行狀態(tài)的空調(diào)控制裝置的實現(xiàn)方案,以及硬件設(shè)計和軟件設(shè)計的方法。本設(shè)計充分利用了單片機價格低、功能強、抗干擾性能好等優(yōu)點。針對環(huán)境溫度檢測和空調(diào)紅外控制給出了實用的硬件
7、設(shè)計和軟件編程,成功實現(xiàn)了控制器對空調(diào)的智能控制。整個裝置采用DS18B20實時采集環(huán)境中的溫度,同時顯示在數(shù)碼管上;用紅外線發(fā)射與接收與空調(diào)進行數(shù)據(jù)指令通信,將外部中斷撲捉到得指令信號存儲到掉電非易失性外部E2PROM存儲器中,單片機根據(jù)實時采集到的溫度向空調(diào)發(fā)送相應的指令信號。</p><p> 關(guān)鍵詞:單片機,DS18B20溫度采集,紅外通信,I2C總線通信</p><p> I
8、ntelligent Air Conditioning Power Controller</p><p> Abstract: This text has designed a Implementation Scheme, which is an air-conditioning control device based on STC89C52 micro-controller, it can learn al
9、l kinds of 32 bits air-conditioning remote control instructions and adjust the air-conditioning’s running automaticly according to the temperature detected. The design makes full use of low cost single chip, functional s
10、trength, and good anti-jamming, For infrared temperature detection and control of air conditioning gives practical hardware des</p><p> Keywords: SCM, DS18B20 temperature acquisition, Infrared Communicati
11、on, I2C bus communication</p><p><b> 第1章引言</b></p><p> 隨著“信息時代”的到來,作為獲取信息的手段——傳感器技術(shù)得到了顯著的進步,其應用領(lǐng)域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術(shù)已成為衡量一個國家科學技術(shù)發(fā)展水平的重要標志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非
12、常重要的。</p><p> 1.1傳感器的概述和應用前景</p><p> 由于傳感器能將各種物理量、化學量和生物量等信號轉(zhuǎn)變?yōu)殡娦盘?,使得人們可以利用計算機實現(xiàn)自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標,還必須懂得傳感器經(jīng)過適當?shù)慕?/p>
13、口電路調(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應傳感器的生產(chǎn)、研制、開發(fā)和應用。另一方面,傳感器的被測信號來自于各個應用領(lǐng)域,每個領(lǐng)域都為了改革生產(chǎn)力、提高工效和時效,各自都在開發(fā)研制適合應用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應用之廣,并且還有很大潛力。
14、</p><p> 溫度是一種最基本的環(huán)境參數(shù),人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過程中需要實時測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測量,因此研究溫度的測量方法和裝置具有重要的意義。測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個發(fā)展階段:①傳統(tǒng)的分立式溫度傳感器,②模擬集成溫度傳感器,③智能集成溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡化的方向飛速發(fā)展。文章
15、將介紹智能集成溫度傳感器DS18B20的結(jié)構(gòu)特征及控制方法,并對以此傳感器,AT89C52單片機為控制器構(gòu)成的溫度測量裝置的工作原理及程序設(shè)計作了詳細的介紹。該裝置適用于人民的日常生活和工、農(nóng)業(yè)生產(chǎn)用于溫度測量。</p><p> DS18B20介紹及優(yōu)點</p><p> 由DALLAS半導體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛
16、用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠等特點。 </p><p> 1.DS18B20性能特點 </p><p> DS18B20的性能特點:①采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進制數(shù),含符號位),②測溫范圍為-55℃-+125℃,測量
17、分辨率為0.0625℃, ③內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM,④適配各種單片機或系統(tǒng)機,⑤用戶可分別設(shè)定各路溫度的上、下限,⑥內(nèi)含寄生電源。 </p><p> 2.DS18B20內(nèi)部結(jié)構(gòu) </p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。</p><p> 64位光
18、刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號。不同的器件地址序列號不同。 </p><p> 3. DS18B20控制方法 </p><p> 在硬件上,DS18B20與單片機的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機的I/O線相連;另一種是用寄生電源供電,此時UDD、GND接地,I/O接單片機I/O。無論是內(nèi)部寄生電源還是外部供電,I
19、/O口線要接5KΩ左右的上拉電阻。</p><p> CPU對DS18B20的訪問流程是:先對DS18B20初始化,再進行ROM操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴格的工作時序和通信協(xié)議。如主機控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這
20、樣才能對DS18B20進行預定的操作。</p><p> 1.2課題背景和意義</p><p> 現(xiàn)有辦公室的空調(diào)由于人為控制上下限的溫度值,有時候為了圖舒服將溫度設(shè)的很低,而且在無人的時候常常忘記關(guān)掉空調(diào),特別是在一些大型的公共場所,這不僅僅會造成電能的浪費,還會對人的身體健康不利,基于這種背景空調(diào)節(jié)電控制器就有它的用場了,它通過自動實時監(jiān)測環(huán)境的溫度判斷是否達到上下限值從而自動通
21、過發(fā)射學習到得紅外指令信號來控制空調(diào)的制冷、加熱和開關(guān)機來達到節(jié)能的目的。</p><p> 在傳統(tǒng)的溫度檢測系統(tǒng)中大都采用模擬溫度傳感器(例如AD590)一般經(jīng)前端放大、A/D變換和數(shù)據(jù)修正等過程。經(jīng)實踐應用分析發(fā)現(xiàn):傳統(tǒng)電路設(shè)計上存在電源干擾、濾波不可靠,線路過于復雜、無屏蔽措施等不可靠因素。DS18B20在芯片的內(nèi)部自帶模擬和數(shù)字轉(zhuǎn)換電路的,使用起來非常的方便。它采用單線傳輸技術(shù),另外,溫度的分辨率可以選
22、擇9到12位的分辨率。因此采用單總線數(shù)字溫度傳感器DS18B20可將溫度直接轉(zhuǎn)化為串行數(shù)字信號供微機處理,而且在單總線上可以掛多片DS18B20,微機只需一根端口線就能與多片DS18B20進行通信,而且由于它體積小的優(yōu)點,因此占用的PCB板面積很小,電路也很好設(shè)計。因此,由單片機和DSI8B20構(gòu)成的分布式多點溫度檢測系統(tǒng)改變傳統(tǒng)的溫度采樣模式,具有可靠性高、線路簡單、測量精度高、功能便于擴展等優(yōu)點。</p><p&
23、gt; 本設(shè)計應用性和實用性都比較強,只要應用不同的傳感器就可以用到不同的系統(tǒng)中,比如壓力監(jiān)測、風速、濕度等等,并且通信采用的是紅外信號,在使用時基本上不用改變原有的設(shè)備。并且在設(shè)計完了以后,控制器會根據(jù)編程自動控制空調(diào)調(diào)節(jié)環(huán)境的溫度在設(shè)置的溫度范圍內(nèi),具有智能控制的功能。</p><p> 為了提高對傳感器和紅外信號發(fā)送和接收的認識和了解,尤其是對紅外通信的深入研究以及其用法與用途,基于實用、廣泛和典型的原
24、則而設(shè)計了本器件。本文利用單片機結(jié)合傳感器技術(shù)以及紅外信號的使用而開發(fā)設(shè)計了這一控制器。文中傳感器理論、紅外通信技術(shù)、單片機實際應用有機結(jié)合,詳細地講述了利用DS18B20傳感器探測環(huán)境溫度的過程以及紅外指令信號的發(fā)送與接收。</p><p> 1.3課題的主要組成和設(shè)計要求</p><p> 本設(shè)計系統(tǒng)包括溫度采集模塊,系統(tǒng)控制模塊,數(shù)據(jù)存儲模塊,顯示模塊,紅外信號撲捉與發(fā)送模塊五
25、個部分。文中對每個部分功能、實現(xiàn)過程作了詳細介紹。整個系統(tǒng)的核心是進行溫度監(jiān)測和紅外信號指令的撲捉與發(fā)送。</p><p><b> 設(shè)計要求如下:</b></p><p> 設(shè)計制作一個辦公室空調(diào)節(jié)電控制器來控制辦公室空調(diào)的電源。具體要求如下:</p><p> 14°~28°內(nèi)不能開啟空調(diào);</p>
26、<p> 低于14°時允許開啟制熱,達到18°時自動關(guān)閉,自然降溫到14°時又允許開啟;</p><p> 高于28°時允許開啟制冷,達到24°時自動關(guān)閉,自然升溫到28°時又允許開啟;</p><p> 第2章方案比較與論證</p><p><b> 2.1 設(shè)計思路<
27、;/b></p><p> 智能空調(diào)節(jié)電控制器是由微控制器獲取溫度傳感器數(shù)據(jù),并通過紅外通信技術(shù)對環(huán)境內(nèi)的空調(diào)進行相應的控制。</p><p> 在設(shè)計之時首先要對整體架構(gòu)要有個清晰地了解,針對控制現(xiàn)場的實時性和可靠性要求,應著重考慮MCU的選型,時鐘頻率是否有特殊要求,內(nèi)存以及ROM的需求,內(nèi)部功能模塊的特殊功能等;其次是溫度傳感器的選擇,可以從兩個方面來考慮。第一,使用AD芯
28、片對溫度信號采樣,第二,直接使用數(shù)字溫度傳感器;為了滿足系統(tǒng)的多功能以及可視化要求,考慮采取何種自控顯示控制的方法;再者是考慮到與空調(diào)的通信方式的選擇,可以選擇數(shù)據(jù)線的通信方式或者紅外通信的方式。</p><p> 2.2 方案設(shè)計比較</p><p> 方案一:直接在空調(diào)的控制裝置中加入溫度傳感器的溫度檢測電路,同時加入相關(guān)的程序。</p><p> 這種
29、方案的硬件電路和相關(guān)的程序編寫是最簡單的,但操作起來也是最麻煩的,因為它要拆開空調(diào),從新安裝電路,下載程序,這是最不實用的一種。</p><p> 方案二:采用獨立的模塊,用具有硬件I2C總線控制單元的單片機和溫度傳感器檢測電路構(gòu)成一個獨立的模塊,通過判斷檢測到的不同的溫度值來控制空調(diào)的運行,而它們的連接采用數(shù)據(jù)線的方式,單片機上只要一個用來控制的I/O口就行。</p><p> 此方
30、案雖然在安裝上沒有方案一麻煩,但也要拆開空調(diào),采用數(shù)據(jù)線的控制方式能夠保證數(shù)據(jù)的傳輸?shù)姆€(wěn)定性和不被干擾,同時也省去了紅外指令學習的需要,但在位置上受到了限制,只能在一定的范圍內(nèi)安裝,如果需要遠距離安裝,它的成本也會不低,同時具有硬件I2C總線控制單元的單片機本身成本就高一些。</p><p> 方案三:同樣采用獨立的模塊,直接用不具有硬件I2C總線控制單元的51單片機和溫度傳感器檢測電路構(gòu)成一個獨立的模塊,通過
31、判斷檢測到的不同的溫度值來控制空調(diào)的運行,同時這次我們采用紅外通信的方式,這也就要求模塊能夠?qū)W習存儲不同紅外遙控器的指令,并且依據(jù)檢測到的溫度像空調(diào)發(fā)送不同的空調(diào)指令,因而在硬件電路上還要加上紅外接收和紅外發(fā)送的電路,以及外部的存儲器。</p><p> 方案三采用紅外通信的方式和單片機軟件模擬I2C總線,相對來說電路與編程是最復雜的一種,但是可操作性和可維護性是最好的,并且同樣能夠?qū)W習適用大部分的空調(diào),通過紅
32、外信號的傳輸控制方式對裝置的安裝也非常的方便,既不需要拆動空調(diào),只要在紅外敏感的范圍內(nèi)對安裝的位置也沒要求,安裝的成本也不會提高,而51單片機也是目前市場上最成熟,最經(jīng)濟實惠的一款單片機,對它的應用也是最方便的。</p><p><b> 2.3方案的確定</b></p><p> 從上面方案的比較來看,方案三不但滿足功能要求,而且系統(tǒng)的實時性比較高,抗干擾能力
33、也較好,性價比較高。根據(jù)以上方案的對比,以及根據(jù)實驗環(huán)境和設(shè)備的情況,綜合考慮后,最終選定第3套方案。</p><p> 第3章整體電路設(shè)計</p><p> 3.1設(shè)計思路與方法</p><p> 電路設(shè)計仿真軟件有很多種,像Multisim,Proteus,Protel等,我選擇用Protel dxp作為我的電路制圖軟件,因為:</p>
34、<p> 1. Protel DXP是第一個將所有設(shè)計工具集于一身的板級設(shè)計系統(tǒng),電子設(shè)計者從最初的項目模塊規(guī)劃到最終形成生產(chǎn)數(shù)據(jù)都可以按照自己的設(shè)計方式實現(xiàn)。</p><p> 2. 通過設(shè)計輸入仿真、PCB繪制編輯、拓撲自動布線、信號完整性分析和設(shè)計輸出等技術(shù)融合,Protel DXP為電路設(shè)計提供了全面的設(shè)計解決方案。</p><p> 3. Protel DXP不是
35、單純的PCB(印制電路板)設(shè)計工具,而是由多個模塊組成的系統(tǒng)工具,分別是SCH(原理圖)設(shè)計、SCH(原理圖)仿真、PCB(印制電路板)設(shè)計、Auto Router(自動布線器)和FPGA設(shè)計等,覆蓋了以PCB為核心的整個物理設(shè)計。該軟件將項目管理方式、原理圖和PCB圖的雙向同步技術(shù)、多通道設(shè)計、拓樸自動布線以及電路仿真等技術(shù)結(jié)合在一起,為電路設(shè)計提供了強大的支持。</p><p> 軟件選擇后,然后就是要對系
36、統(tǒng)功能模塊化,把系統(tǒng)分成若干不同功能的模塊,然后分別繪制所需的模塊。因此根據(jù)實際情況,可以將本系統(tǒng)分為如下幾個部分:溫度采集模塊,系統(tǒng)控制模塊,數(shù)據(jù)存儲模塊,數(shù)碼管顯示模塊,紅外接收模塊,紅外發(fā)送模塊。整個裝置的框架圖如圖3.1所示。</p><p><b> 、</b></p><p> 圖3.1 控制器框架圖</p><p> 根據(jù)各
37、基本模塊的設(shè)計,設(shè)計了系統(tǒng)整體電路圖,系統(tǒng)原理圖請詳見附錄A。</p><p> 3.2基本功能模塊電路</p><p> 3.2.1溫度采集模塊</p><p> 1. DS18B20基本介紹</p><p> 該模塊使用DS18B20數(shù)字溫度傳感器,沒有采用傳統(tǒng)的熱敏電阻和AD轉(zhuǎn)換等方式進行溫度采集,簡化了電路結(jié)構(gòu),并且也提高
38、了可靠性和穩(wěn)定性。DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。外形圖如圖3.1所示。</p><p> 圖3.2 DS18B20外型圖</p><p> DS28B20內(nèi)部存貯器(如圖3.3示)由一個高速暫存RAM和一個非易失性,電可擦除EERAM組成,后者存貯高低溫度和觸發(fā)器TH和TL。<
39、;/p><p> 圖3.3 DS18B20存貯器結(jié)構(gòu)圖</p><p> 每一DS18B20包括一個唯一的64位長的ROM編碼,由于多個傳感器可以漏極開路的形式掛載在一根總線上,因此主機搜索不同的ROM編碼就可以找到不同的傳感器,ROM編碼格式如圖3.4所示。主機進行ROM操作時,必須提供五種操作命令之一:1)Read ROM(讀ROM),2)Match ROM(符合ROM),3)Sear
40、ch ROM(搜索ROM),4)Skip ROM(跳過ROM),Alarm Search(告警搜索)。</p><p> MSB LSB MSB LSB MSB LSB</p><p> (最高有效位) (最低有效位)</p><p> 圖3.4 ROM編碼格式</p><p&
41、gt; 溫度采集模塊最重要的是要弄清傳感器是怎樣把溫度進行數(shù)字化的。在DS18B20內(nèi)部完成提供0.5℃的分辨率,溫度讀數(shù)以16位、符號擴展的二進制補碼讀數(shù)形式提供。數(shù)據(jù)在單線接口上串行發(fā)送。溫度是以1/2℃LSB(最低有效位)形式表示時,產(chǎn)生以下9位格式,如圖3.5所示:</p><p> 圖3.5 DS18B20內(nèi)溫度數(shù)據(jù)格式</p><p> 為了達到更高的精度,則在對DS18
42、B20測溫原理進行詳細分析的基礎(chǔ)上,采取直接讀DS18B20內(nèi)部暫存器的方法,將DS18B20的測溫分辨率提高到0.01~0.1℃。首先用讀暫存器指令(BEH),讀出0.5℃為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度整數(shù)部分T1,然后用BEH指令讀取計數(shù)器1的計數(shù)剩余值M1和每度計數(shù)值M2??紤]到DS18B20測量溫度的整數(shù)部分是以0.25℃、0.75℃為進位界限的關(guān)系,實際溫度T可以用下式計算得
43、到:</p><p> T=(T1-O.25)+(M2-M1)/M2</p><p> 2. 溫度采集模塊電路</p><p> 根據(jù)DS18B20技術(shù)參數(shù),溫度采集模塊電路設(shè)計如圖3.6所示。DS18B20采用+5V電源供電,而不采用數(shù)據(jù)線供電的寄生電源供電形式,目的在于減少溫度轉(zhuǎn)換和數(shù)據(jù)讀取的時間,提高傳感器的工作效率。DS18B20數(shù)據(jù)傳輸端口漏極開路,
44、因此多個DS18B20可以進行“線與”,掛載在同一條數(shù)據(jù)線上。數(shù)據(jù)線使用上拉電阻連接到VCC,以滿足電平轉(zhuǎn)換期間提供足夠的電流。其中數(shù)據(jù)端接單片機引腳P1.7。</p><p> 圖3.6 溫度采集電路</p><p> 3.2.2系統(tǒng)控制模塊</p><p> 1. 內(nèi)部時鐘電路。</p><p> MCS-51芯片內(nèi)有一個高增益
45、反向放大器,XTAL1,XTAL2引腳分別為該反向放大器的輸入端和輸出端,在芯片的外部通過這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。如圖3.7所示。</p><p> 圖3.7 內(nèi)部時鐘電路</p><p> 電路中的電容C1、C2的取值對振蕩頻率輸出的頻率值、穩(wěn)定性及振蕩電路起振速度有少許影響,C1、C2可在20PF-100PF之間選擇,外接
46、陶瓷振蕩器時典型取值為47PF,取60PF-70PF時振蕩器有較高的頻率穩(wěn)定性。晶體振蕩頻率可在1.2M-12M之間選擇,根據(jù)實際情況,選擇11.0592MHZ。</p><p><b> 2. 系統(tǒng)復位電路</b></p><p> MCS-51單片機的復位操作有兩種方式:上電復位和上電按鈕復位。通常因為系統(tǒng)運行的需要,常常需要人工按鈕復位,復位電路如圖3.8所
47、示,只需要將一個常開按鈕開關(guān)并聯(lián)于上電復位電路,按下開關(guān)一定時間就能使RST引腳端為高電平,從而使單片機復位。</p><p> 圖3.8 系統(tǒng)復位電路</p><p> 3.2.3數(shù)據(jù)存儲模塊</p><p> 在此模塊中,使用24C02作為擴展數(shù)據(jù)存儲器,把DS18B20的ROM信息保存到里面。1. 24C02基本介紹</p><p&
48、gt; 24C02是一個2K存儲空間的COMS EEPROM,內(nèi)部含有256個8位字節(jié),16字節(jié)頁寫緩沖器。它支持IIC總線數(shù)據(jù)傳送協(xié)議,通過器件地址輸入端A0,A1和A2最多可以實現(xiàn)將8個24C02連接到總線上。對24C02進行操作,必須嚴格掌握讀寫時序。</p><p> 2. IIC總線工作原理</p><p> IIC總線在傳送數(shù)據(jù)過程中共有三種類型信號,他們分別是:開始信號
49、、結(jié)束信號和應答信號。</p><p> 開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。 結(jié)束信號:SCL為低電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應答信號,CPU接收到應答信號后,根
50、據(jù)實際情況做出是否繼續(xù)傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現(xiàn)故障。</p><p> I2C規(guī)程運用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為
51、高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。</p><p> 數(shù)據(jù)存儲模塊電路設(shè)計如圖3.9所示,SCK時鐘線和SDA數(shù)據(jù)線經(jīng)上拉電阻接+5V電源。</p><p> 圖3.9 數(shù)據(jù)存儲模塊</p><p> 3.2.4顯示模塊</p><p> 1. 溫度數(shù)據(jù)顯示部分</p><p> 圖3
52、.10所示模塊使用8位一體共陰極數(shù)碼顯示管作為顯示器,單片機輸出信號不能直接接入數(shù)碼管,因為此時I/O口輸出電流并不能驅(qū)動數(shù)碼管。因此必須在數(shù)碼管輸入端接驅(qū)動,驅(qū)動的接法有多種,可以使用上面模塊電路中所使用的方法,直接經(jīng)上拉電阻接到電源,還有一種方式就是接驅(qū)動芯片,滿足信號的電平轉(zhuǎn)換。此模塊中采用信號經(jīng)驅(qū)動芯片74LS244輸出到數(shù)碼管。而單片機P0口輸出信號作為數(shù)碼管段選信號,顯示數(shù)字或者字符,P2口輸出信號作為數(shù)碼管位選信號,用來選
53、擇哪個數(shù)碼管亮或滅。其中后五位數(shù)碼管用來顯示溫度數(shù)據(jù),末尾兩位為小數(shù)顯示,第三位為帶小數(shù)點的整數(shù)顯示。第六位為負數(shù)字符“-”顯示。最高三位顯示DS18B20編號,用來顯示當前DS18B20的溫度數(shù)據(jù),如“no 1”等編號。</p><p> 圖3.10 顯示模塊</p><p><b> 工作狀態(tài)顯示部分</b></p><p> 圖3.
54、11 工作狀態(tài)提示電路</p><p> 如圖3.11示,發(fā)光二極管D1用來表示發(fā)送加熱指令后的狀態(tài),并配合揚聲器LS1一聲提示;發(fā)光二極管D2表示發(fā)送制冷指令后的狀態(tài);發(fā)光二極管D3表示發(fā)送開關(guān)指令后的狀態(tài);并且每次成功發(fā)送指令后都會配合揚聲器LS1一聲提示。</p><p> 3.2.5紅外發(fā)送與接收模塊</p><p><b> 1. 紅外發(fā)
55、送模塊</b></p><p> 考慮到成本的因素,我采用的是軟件調(diào)制發(fā)射的方法。 一般紅外電視遙控器的輸出都是用編碼后串行數(shù)據(jù)對38~40kHz的方波進行脈沖幅度調(diào)制而產(chǎn)生的。 當發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: 采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms
56、、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”。 上述“0”和“1”組成的32位二進制碼經(jīng)38kHz的載頻進行二次調(diào)制,然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。一般電視遙控器的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機種遙控碼互相干擾。后16位為8位的操作碼和8位的操作反碼,用于核對數(shù)據(jù)是否接收準確。 根據(jù)紅外編碼的格式,發(fā)送數(shù)據(jù)前需要先發(fā)送9ms的起始碼和4
57、.5ms的結(jié)果碼。</p><p> 遙控串行數(shù)據(jù)編碼波形如下圖所示:</p><p> 圖3.12 數(shù)據(jù)0和1的寬度</p><p> 圖3.13 紅外信號0和1的調(diào)制示意</p><p> 圖3.14 一條紅外信號的指令 </p><p><b> 2. 紅外接收模塊</b>
58、;</p><p> 接收電咱我們使用一化紅外接紅外接收管TL0038,不需要任何外接無件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,實物如圖3.15所示:</p><p> 圖3.15 紅外一體化接收頭實物圖</p><p> TL0038接收到38kHz紅外信號時,輸出端輸出低電平,否則為高電平。從接收端出來的數(shù)據(jù)波形如圖3.16所示:&l
59、t;/p><p> 圖3.16 解調(diào)出來的指令信號</p><p> 整個紅外發(fā)送以及與單片機的接口原理圖如圖3.17:</p><p> 圖3.17 紅外發(fā)射與接收部分</p><p> P3是TL0038的原理框圖,它的數(shù)據(jù)端直接接到單片機的P32外部中斷0口,發(fā)送端口則接到P31端,為增大發(fā)射功率加了一個三極管放大電流。</p
60、><p> 3.2.6 電源部分</p><p> 由于控制器是一個獨立的模塊,因此我們設(shè)計時采用了從220V市電獨立供電的方式,先用變壓器將交流電降到24V,再用二極管橋式整流,輸出的電壓輸入到三端線性穩(wěn)壓芯片7805輸出5V的系統(tǒng)所需電壓,電源部分的電路原理圖如圖3.18:</p><p> 圖3.18 電源模塊原理圖</p><p>
61、; 3.2.7單片機引腳分配圖</p><p> 圖3.19為單片機引腳分配圖。引腳分配說明如下:</p><p> X1,X2分別接時鐘振蕩電路的輸入輸出;RST為復位信號輸入端;SCL,SDA為存儲器24C02的時鐘線,數(shù)據(jù)線;P2.5,P2.6,P2.7接綠、紅、藍發(fā)光二極管;P3.7接揚聲器;P1.4為多路DS18B20數(shù)據(jù)輸入輸出及控制端口;P0為數(shù)碼管數(shù)據(jù)端口;P1.1
62、,P1.2,P1.3為數(shù)碼管位控制端;P3.1,P3.2為紅外信號接收和發(fā)送端口。</p><p> 圖3.19 單片機引腳分配</p><p> 上面5個模塊將下位機硬件分成了幾個部分,每個部分都對硬件做了較詳細的介紹,至于下位機整體的電路圖請詳見附錄A。</p><p> 第4章系統(tǒng)程序設(shè)計</p><p> 我把軟件分成了以下
63、幾個部分:紅外指令信號的撲捉識別、紅外指令信號的調(diào)制發(fā)射、E2PROM外部存儲器的存取、溫度傳感器的溫度的檢測及數(shù)碼管顯示和單片機的主程序。</p><p> 4.1 紅外指令信號的撲捉識別</p><p> 由于采用的是紅外一體化接收頭,它的輸出信號就是單片機能夠識別的TTL電平,因此我采用定時計數(shù)的方式來區(qū)別0和1,用下降沿的外部0中斷來撲捉紅外指令信號。首先檢測判斷是否是主遙控
64、器的指令信號,繼而根據(jù)不同的指令可以學習存儲不同的遙控器的加熱、制冷和開關(guān)機指令,這樣在學習完指令后控制器就可以根據(jù)檢測到得不同的溫度值向空調(diào)發(fā)送不同的指令信號,實現(xiàn)智能控制和節(jié)能的效果。</p><p> 紅外指令信號的撲捉識別的程序流程圖如圖4.1:</p><p> 圖4.1 紅外信號撲捉程序流程圖</p><p> 整個紅外指令信號的撲捉程序放在外部中
65、斷0的中斷服務程序中。</p><p> 4.2 紅外指令信號的調(diào)制發(fā)射</p><p> 當單片機檢測到的溫度達到設(shè)定的臨界值時,單片機就要通過紅外發(fā)送電路向空調(diào)發(fā)送已經(jīng)學習過的相應的指令信號??紤]到成本的因素,我決定采用軟件調(diào)制發(fā)射的方式。</p><p> 由于我的主控遙控器是32位編碼,因此本控制器只能識別32的遙控器指令信號,依據(jù)紅外一體化接收的
66、解調(diào)原理,發(fā)射時在低電平部分發(fā)射38K的脈沖信號,高電平則不發(fā)信號,發(fā)送38K的脈沖信號時采用定時器2定時26us。</p><p> 程序流程圖如4.2:</p><p> 圖4.2 紅外指令信號的調(diào)制發(fā)射流程圖</p><p> 4.3 溫度傳感器的溫度的檢測及數(shù)碼管顯示</p><p> 1. 溫度采集部分是系統(tǒng)的核心之一,
67、關(guān)于這一部分在硬件電路設(shè)計中有詳細的介紹。而DS18B20溫度傳感器的操作必須掌握嚴格的時序,這一點非常重要,當初設(shè)計之時我就在這里下了很大功夫。控制好時序就能編寫相應功能的子函數(shù)對DS18B20進行操作?! ∮捎贒S18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。&
68、lt;/p><p> 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命
69、令的傳輸都是低位在先。 DS18B20的復位時序如圖4.3所示:</p><p> 圖4.3 復位時序圖</p><p> DS18B20的讀時序如圖4.4所示: 對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程?! τ贒S18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程
70、,至少需要60us才能完成。</p><p><b> 圖4.4 讀時序圖</b></p><p> DS18B20的寫時序如圖4.5所示: 對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程?! τ贒S18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣
71、IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。</p><p><b> 圖4.5 寫時序圖</b></p><p> 在整個控制器程序的運行過程中采用定時器0定時,每隔1S實時采集一次環(huán)境的溫度值并用數(shù)碼管顯示,下面對幾個DS18B20重要的函數(shù)進行介紹。</p><p> void Write
72、OneChar(unsigned char dat); //寫一個字節(jié)數(shù)據(jù)到DS18B20</p><p> unsigned char ReadOneChar(void); //讀取一個字節(jié)數(shù)據(jù)</p><p> void Init_DS18B20(void); //初始化DS18B20</p><p> un
73、signed char ReadTemperature(void) //獲取當前溫度值,并計算 </p><p> 24C02-E2PROM外部存儲器的存取</p><p> 24C02采用的是I2C總線方式。</p><p> 4.4.1 I2C總線介紹</p><p> I2C總線是由PHILIPS公司推出的一
74、種總線標準,它是同步信號的一種特殊形式,具有接口線少、控制簡單、器件封裝形式小、通信速率較高等優(yōu)點。在主從通信中,可以有多個I2C總線器件同時接到I2C總線上,所有與I2C兼容的器件都具有標準的接口,通過地址來識別通信對象,使他們可以經(jīng)由I2C總線自由通信。</p><p> I2C總線由數(shù)據(jù)線SDA和時鐘線SCL兩條線構(gòu)成通信線路,既可發(fā)送數(shù)據(jù),又可接收數(shù)據(jù)。在CPU和被控IC之間,IC和IC之間都可進行雙向
75、傳送,最高傳送速率為400kps,各種器件均并聯(lián)在總線上,但是每個器件均有唯一的地址,在信息傳輸過程中,I2C總線上并聯(lián)的每個器件既是被控器(或主控器),又是接收器(或發(fā)送器),這取決于它所完成的功能。CPU發(fā)出的控制信號分為地址碼和數(shù)據(jù)碼兩部分:地址碼用來選址,即接通需要控制的電路,數(shù)據(jù)碼是通信的內(nèi)容,這樣各IC電路雖然掛在同一條總線上,卻彼此獨立。</p><p> I2C總線硬件結(jié)構(gòu)圖</p>
76、<p> 下圖為I2C總線硬件結(jié)構(gòu)圖,其中,SCL是時鐘線,SDA是數(shù)據(jù)線??偩€上各器件均采用漏極開路結(jié)構(gòu)與總線相接,因此SCL和SDA都需要上拉電阻,總線在空閑狀態(tài)下均保持高電平,連接到總線上的任意器件輸出的低電平,都將使總線的信號變低,即各器件的SDA和SCL都是線與的關(guān)系。</p><p> 圖4.6 I2C總線系統(tǒng)硬件結(jié)構(gòu)圖</p><p> I2C總線支持多主
77、和主從的工作方式,通常為主從工作方式,在主從工作方式下,系統(tǒng)中只有一個主控制器(單片機),其他器件都是具有I2C總線的外圍從器件。在主從工作方式中,主控制器啟動數(shù)據(jù)的發(fā)送,產(chǎn)生時鐘信號,發(fā)出停止信號。</p><p> 4.4.3 I2C總線通信格式</p><p> 下圖為I2C總線上進行一次數(shù)據(jù)傳輸?shù)耐ㄐ鸥袷?lt;/p><p> 圖4.7 I2C總線上進行一
78、次數(shù)據(jù)傳輸?shù)耐ㄐ鸥袷?lt;/p><p> 4.4.4 數(shù)據(jù)位的有效性規(guī)定</p><p> I2C總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘信號為低電平時,數(shù)據(jù)線上的高電平或低電平的狀態(tài)才允許變化,如下圖所示:</p><p> 圖4.8 I2C總線數(shù)據(jù)位的有效性規(guī)定</p><p><b>
79、; 發(fā)送啟動信號</b></p><p> 在利用I2C總線進行數(shù)據(jù)傳送時,首先由主機發(fā)出啟動信號,啟動I2C總線。在SCL為高電平期間,SDA出現(xiàn)上升沿則為啟動信號。此時,具有I2C總線的從器件會檢測到該信號,啟動時序如下圖所示:</p><p> 圖4.9 I2C總線啟動時序圖</p><p><b> 發(fā)送尋址信號</b&g
80、t;</p><p> 主機發(fā)送啟動信號后,再發(fā)出尋址信號。器件地址有7位和10兩種,這里只介紹7位的地址尋址方式。尋址字節(jié)的位定義如下圖所示,尋址信號由一個字節(jié)構(gòu)成,高7位為地址位,最低位為方向位,用以表明主機與從器件的數(shù)據(jù)傳輸方向,方向位為0,表明主機接下來對從器件進行寫操作;方向位為1,表明主機接下來對從器件進行讀操作。</p><p> 圖4.10 尋址字節(jié)的位定義</
81、p><p> 主機發(fā)送地址時,與主機連接的從機都將這7位地址碼與自己的地址比較,如果相同,則認為自己正被主機尋址,根據(jù)R/W位將自己設(shè)定為發(fā)送器或接收器。</p><p> 從機的地址有固定部分和可編程部分組成。在一個系統(tǒng)中可能希望接入多個相同的從機,從機地址中可編程部分決定了可接入總線該類器件的最大數(shù)目,如一個從機的7位尋址位有4位為固定位,3位為可編程位,則只能尋址8個同類的器件,即可
82、以有8個同樣的器件接入到I2C總線中。</p><p><b> 應答信號</b></p><p> I2C總線協(xié)議規(guī)定,每傳送一個字節(jié)數(shù)據(jù)(含地址及命令字)后,都要有一個應答信號,以確定傳送的數(shù)據(jù)是否被對方收到。應答信號由接收設(shè)備產(chǎn)生,在SCL為高電平期間,接收設(shè)備將SDA拉為低電平,表示數(shù)據(jù)傳送正確,產(chǎn)生應答,時序圖如下所示:</p><p
83、><b> 數(shù)據(jù)傳輸</b></p><p> 圖4.11 I2C總線應答時序圖</p><p> 主機發(fā)送尋址信號并得到從器件應答后,便可以進行數(shù)據(jù)傳輸,每次一個字節(jié),但每次傳輸都應得到應答信號后再傳輸下一個字節(jié)信號。</p><p><b> 非應答信號</b></p><p>
84、 當主機為接收設(shè)備時,主機對最后一個字節(jié)不應答,以向發(fā)送設(shè)備表示數(shù)據(jù)傳輸結(jié)束。</p><p><b> 發(fā)送停止信號</b></p><p> 在全部數(shù)據(jù)傳輸完畢后,主機發(fā)送停止信號,即在SCL為高電平期間,SDA上產(chǎn)生一上升沿信號,停止時序圖如下:</p><p> 圖4.12 I2C總線停止時序圖</p><p&
85、gt; 目前市場上很多單片機都已經(jīng)具有硬件I2C總線控制單元,這類單片機工作時,總線狀態(tài)由硬件監(jiān)測,無須用戶介入,操作非常方便。但我使用的AT89C52單片機不具備I2C總線接口,因此需要通過軟件模擬I2C總線的工作時序,在使用時,只需正確調(diào)用各個函數(shù)就能方便的擴展I2C總線接口器件。</p><p> 在總線的一次數(shù)據(jù)傳送過程中,可以有以下幾種組合方式:</p><p> 主機向從
86、機發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向在整個傳送過程中不變;</p><p> 主機在第一個字節(jié)后立即從從機讀取數(shù)據(jù);</p><p> 在傳送過程中,當需要改變方向時,需將起始信號和從機地址各重復一次,而兩次讀寫方向位剛好相反。</p><p> 為了保證數(shù)據(jù)傳輸?shù)目煽啃?,標準I2C總線的傳輸具有嚴格的時序要求。I2C總線的起始信號、終止信號、應答或發(fā)送“0”、非應答或發(fā)
87、送“1”的模擬時序如下:</p><p> 圖4..13 I2C總線模擬時序圖</p><p> 單片機在模擬I2C總線通信時,需寫出如下幾個關(guān)鍵的程序:總線初始化、啟動信號、應答信號、停止信號、寫一個字節(jié)、讀一個字節(jié),本程序中I2C幾個主要程序表示如下:</p><p> void init() //總線初始化</p><p>
88、 void start() //起始信號</p><p> void respons() //應答信號</p><p> void stop() //停止信號</p><p> void writebyte(uchar date) //寫一個字節(jié)</p><p> uchar readbyte(void) //讀一個字節(jié)<
89、/p><p> void write_add(uchar address,uchar date) //任意一地址寫入一數(shù)據(jù)</p><p> read_add(address) //任意地址讀一個數(shù)據(jù)</p><p><b> 單片機的主程序</b></p><p> 控制器的主程序是整個系統(tǒng)的主線程序,其他的程
90、序模塊都是圍繞著這個主程序而運行的,我的主程序流程框圖如下:</p><p> 圖4.14 主程序流程框圖</p><p> 第5章設(shè)計演示結(jié)果</p><p> 按照前面模塊化系統(tǒng)功能的原則,經(jīng)過努力,各個硬件模塊已成功實現(xiàn)其基本功能。系統(tǒng)硬件功能包括溫度采集與數(shù)碼顯示,外部數(shù)據(jù)存儲,紅外通信模塊,系統(tǒng)控制模塊</p><p>
91、5.1硬件演示效果</p><p> 下面的圖片都是我用自己的51開發(fā)板實現(xiàn)的各個模塊的功能。</p><p> 5.1.1 溫度采集與數(shù)碼顯示</p><p> 上圖展示的還有單片機根據(jù)采集到得溫度而做出的反應,如圖所示溫度達到了25度,需要制冷,相應的指示燈亮。</p><p> 5.1.2 E2PROM外部存儲器的測試<
92、/p><p> 這個部分我設(shè)計了一個秒表,每隔一秒將定時器的計數(shù)值存入外部E2PROM,同時在下次上電時從E2PROM中讀出上次的計數(shù),然后繼續(xù)加數(shù),因為如果不用E2PROM則在斷電后,計數(shù)值是不會得到保存的,下次上電時會從0開始計數(shù)。</p><p><b> 秒表正在計數(shù)</b></p><p><b> 突然斷電</b&
93、gt;</p><p> 從新上電,可見單片機從上次斷電時的數(shù)據(jù)開始計數(shù),說明存儲成功。</p><p> 5.1.3 紅外發(fā)送與接收演示</p><p> 用紅外發(fā)光二極管在發(fā)送低電平時用38K的脈沖信號調(diào)制,高電平時不發(fā)送信號,這樣解調(diào)出來的信號剛好是高低電平的脈沖信號,送到一個發(fā)光二極管顯示。</p><p> 照片中的紅外發(fā)光
94、二極管處于熄滅狀態(tài)。</p><p> 紅外發(fā)光二級管處于亮的狀態(tài),發(fā)光二極管閃爍。</p><p> 這是我的紅外遙控器。</p><p><b> 第6章總結(jié)與展望</b></p><p><b> 6.1總結(jié)</b></p><p> 本文給出了智能空調(diào)節(jié)
95、電控制器的設(shè)計方案,將系統(tǒng)分為溫度采集與顯示、E2PROM存儲、紅外發(fā)送、紅外撲捉和單片機主控五個部分。通過硬件演示效果表明,系統(tǒng)能有效采集環(huán)境溫度數(shù)據(jù),并且能正確顯示,實時性也比較高,同時控制器也能有效撲捉到紅外指令信號和發(fā)送已學習的指令信號。該系統(tǒng)在實際應用中能取得較好的效果,直接使用數(shù)字溫度傳感器DS18B20,提高了溫度采集系統(tǒng)的可靠性;采用紅外通信的方式更提高了控制器的市場實用性,且硬件電路簡單、廉價,抗干擾能力強、擴展方便。
96、相對于傳統(tǒng)的大量需要節(jié)能控制的空調(diào),控制器具有良好的應用前景。</p><p><b> 6.2結(jié)束語</b></p><p> 在本次設(shè)計中,發(fā)現(xiàn)了若干問題,一些問題更是聞所未聞,迷惑不解之時在網(wǎng)上苦苦尋找答案,通過和老師、同學交流后才把問題解決。理論≠實踐?,F(xiàn)在我更加堅信這句話的深刻內(nèi)涵,很多問題當我們說的再容易不過的時候,做起來卻非常棘手。發(fā)現(xiàn)了這么多問題
97、,我想,在以后的工作和學習中都將是我寶貴的經(jīng)驗。</p><p> 特別是紅外通信和I2C存儲部分,以前接觸的比較少,通過本裝置的設(shè)計,我完全掌握了它們的應用,這也極大的提高了我的C編程能力,同時強化和提升了我的硬件設(shè)計能力。</p><p> 如今的社會,到處都打著節(jié)能和智能化的旗號,各種產(chǎn)品終端很多都具有自動控制的功能。這一趨勢是以后發(fā)展的必然趨勢。而空調(diào)的節(jié)能控制還是一個市場的空
98、白,本裝置的設(shè)計成功則恰恰滿足這一要求,當然本裝置還有很多需值得改進的地方,比如只能識別32位的空調(diào)指令,不能進行紅外人體感應等,在以后的時間里我將進一步逐漸實現(xiàn)這些功能。</p><p><b> 致謝</b></p><p> 在這里,非常感謝我的指導老師王永才老師對我的幫助,是他在百忙之中抽出時間為我排憂解難。在此次畢業(yè)設(shè)計過程中,我遇到了很多難以解決的問題
99、,這些問題涉及到硬件、軟件、論文等方面,每次遇到問題我都直接跑去他辦公室請教,看到我過來,他即刻停止手中的活,細心地為我講解,這些問題他都講的非常清晰透徹,聽完之后有種豁然開朗的感覺。</p><p> 在畢業(yè)設(shè)計中,還得謝謝身邊的一些老師,朋友和同學,在與他們的討論過程中我收獲很多!</p><p><b> 參考文獻</b></p><p&
100、gt; 杜留峰,雷進輝.基于單片機的紅外線數(shù)據(jù)通信系統(tǒng)設(shè)計.河南科技學院機電學院</p><p> 樊慶偉,許鋒.紅外遙控器接收與單片機識別技術(shù). 信息技術(shù),2000年第5期</p><p> 趙健衡.基于單片機控制的紅外線遙控器設(shè)計. 《電腦知識與技術(shù)》 2009年第22卷第1期</p><p> 丁彬成.空調(diào)遙控器的設(shè)計與生產(chǎn).《現(xiàn)代電子技術(shù)》2005年
101、第11期總第202期</p><p> 趙健衡,成偉.適于室內(nèi)電器控制的紅外線遙控器設(shè)計與實現(xiàn).常州工學院學報,第21卷第6期</p><p> 何忠蛟.基于DS18B20的分布式溫度傳感系統(tǒng). 邵陽學院學報(自然科學版),第4卷,第1期,2007年3月</p><p> 蘇長贊.紅外線與超聲波遙控.人們郵電出版社</p><p>
102、趙亮,候國銳.單片機C語言編程與實例.人民郵電出版社</p><p> 求是科技.單片機應用系統(tǒng)開發(fā)實例導航.人民郵電出版社</p><p> 郭天祥.新概念51單片機C語言教程.電子工業(yè)出版社</p><p> 楊忠煌,黃博俊,李文昌.單芯片8051實務與應用.中國水利水電出版社</p><p> 譚浩強. C程序設(shè)計(第二版).清
103、華大學出版社</p><p> 沙占友,王彥朋,孟志永. 單片機外圍電路設(shè)計.電子工業(yè)出版社</p><p> 楊恢先,黃輝先.單片機原理及應用.人民郵電出版社</p><p> 何書森.實用遙控電路原理與設(shè)計速成. 福建科學技術(shù)出版社</p><p><b> 附錄一系統(tǒng)原理圖</b></p>
104、<p><b> 附錄二程序清單</b></p><p><b> //頭文件部分</b></p><p> #define uchar unsigned char </p><p> #define uint unsigned int </p><p> /*********
105、**************************************************************/</p><p> //void delay1(uchar MS);</p><p> void react(void);</p><p> unsigned char ReadTemperature(void);</p>
106、<p> void Init_DS18B20(void);</p><p> unsigned char ReadOneChar(void);</p><p> void WriteOneChar(unsigned char dat);</p><p> void delay(unsigned int i);</p><p&g
107、t; send_irdata(char p_irdata);</p><p> //void initial();</p><p> /************************************************************************/</p><p><b> //i2c頭文件</b>&l
108、t;/p><p> sbit wp=P1^5;//定義I2C的寫保護端</p><p> sbit scl=P1^6;//定義時鐘端口</p><p> sbit sda=P1^7;//定義數(shù)據(jù)端口</p><p> uchar t=0;</p><p> uchar sec=0,num=0;</p>
109、<p> //uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> //18B20單線溫度檢測</p><p> /****************************************************************************
110、*/</p><p> sbit green=P2^5;</p><p> uchar yy=0;</p><p> uint i=0,j=0;</p><p> sbit red=P2^6;</p><p> sbit blue=P2^7;</p><p> sbit speake
111、r=P3^7;//定義喇叭的端口,所有的deep換成speaker</p><p> sbit seg1=P1^1;//數(shù)碼管位選</p><p> sbit seg2=P1^2;</p><p> sbit seg3=P1^3;</p><p> sbit DQ=P1^4;//ds18b20 端口</p><p&
112、gt; sfr dataled=0x80;//顯示數(shù)據(jù)端口</p><p> /*****************************************************************************/ </p><p> uchar temp;</p><p> uchar flag_get,count0,num0,min
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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è)計---智能去電控制器的設(shè)計
- 油田抽油機智能節(jié)電控制器的研制.pdf
- 智能時間控制器畢業(yè)設(shè)計
- 智能溫度控制器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-智能路燈控制器設(shè)計
- 畢業(yè)設(shè)計論文--智能溫度控制器
- 凈化臺智能控制器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----智能水塔水位控制器
- 畢業(yè)設(shè)計--太陽能充電控制器設(shè)計
- 太陽能充電控制器設(shè)計 畢業(yè)設(shè)計
- 太陽能充電控制器設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--led路燈智能控制器的設(shè)計
- 畢業(yè)設(shè)計--led路燈智能控制器的設(shè)計
- 高壓真空斷路器智能控制器畢業(yè)設(shè)計
- 室內(nèi)建筑智能環(huán)境控制器設(shè)計畢業(yè)設(shè)計
- 溫度控制器畢業(yè)設(shè)計
- 智能太陽能路燈控制器畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計——無功補償智能控制器設(shè)計(含外文翻譯)
- 具有保護功能的智能充電控制器的設(shè)計
- 機械手臂智能控制器的研究【畢業(yè)設(shè)計】
評論
0/150
提交評論