基于AT89C51的紅外線家電遙控設(shè)計(jì).doc_第1頁
基于AT89C51的紅外線家電遙控設(shè)計(jì).doc_第2頁
基于AT89C51的紅外線家電遙控設(shè)計(jì).doc_第3頁
基于AT89C51的紅外線家電遙控設(shè)計(jì).doc_第4頁
基于AT89C51的紅外線家電遙控設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于AT89C51的紅外線家電遙控設(shè)計(jì).txt懂得放手的人找到輕松,懂得遺忘的人找到自由,懂得關(guān)懷的人找到幸福!女人的聰明在于能欣賞男人的聰明。生活是燈,工作是油,若要燈亮,就要加油!相愛時(shí),飛到天邊都覺得踏實(shí),因?yàn)橛心愕臓繏?;分手后,坐在家里都覺得失重,因?yàn)闆]有了方向。 本文由qingshanxiaozi貢獻(xiàn) doc文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 題目: 基于 AT89C51 的紅外線家電遙控設(shè)計(jì) 院 ( 系 ) 理工學(xué)院 : 專 年 姓 業(yè): 電子信息工程 級(jí): 2006 級(jí) 名: 學(xué) 號(hào): 職 稱: 指導(dǎo)教師: 2010 年 6 月 19 日 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 目 摘 前 錄 要 1 言 3 總體設(shè)計(jì)原理分析 4 Abstract 2 第一章 1.1 紅外線遙控器工作原理 4 1.1.1 紅外線介紹 4 1.1.2 紅外線遙控原理介紹 4 1.2 紅外家電遙控器譯碼原理 6 第二章 電路的硬件設(shè)計(jì) 8 2.1 硬件控制電路介紹 8 2.2 控制電路分析 10 2.2.1 復(fù)位電路 11 2.2.2 時(shí)鐘電路 12 2.2.3 紅外線接收模塊電路 13 2.2.4 電源電路 14 2.2.5 工作指示燈電路 14 2.2.6 繼電器電路 14 2.2.7 蜂鳴器電路 15 2.2.8 擴(kuò)展功能 16 第三章 軟件設(shè)計(jì) 17 3.1 控制程序 17 3.1.1 程序流程及說明 17 3.1.2 軟件抗干擾措施 19 3.1.3 程序片段介紹 19 結(jié) 論 22 參考文獻(xiàn) 23 附錄 A 24 附錄 B 25 后 記 29 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 摘 要 如今,利用紅外遙控傳輸較小的數(shù)據(jù)量來控制電器設(shè)備的應(yīng)用已經(jīng)非常廣泛,對(duì)各種 紅外遙控器發(fā)出來的紅外編碼進(jìn)行采集和處理就成了眾人非常關(guān)心和急需解決的問題。仔 細(xì)分析了多種遙控器所發(fā)紅外編碼的特點(diǎn)及其規(guī)律,詳細(xì)地闡述了利用單片機(jī)系統(tǒng)對(duì)家用 電器遙控器發(fā)出來的紅外編碼進(jìn)行學(xué)習(xí)、存儲(chǔ)、傳輸和再生的原理,來實(shí)現(xiàn)以紅外線為傳 送信息媒介的短距離無線遙控控制電路,具有準(zhǔn)確度高、速度快的特點(diǎn),本設(shè)計(jì)廣泛應(yīng)用 于工業(yè)、醫(yī)療、家用電器等設(shè)備的開啟和關(guān)閉控制。 在了解了其發(fā)射的編碼脈沖信號(hào)波形后,設(shè)計(jì)了基于單片機(jī)AT89C51的紅外遙控器解 碼器,對(duì)解碼器硬件和相應(yīng)軟件進(jìn)行分析并給出程序流程圖,給出多功能遙控系統(tǒng)框圖, 詳細(xì)地說明其硬件組成原理和各個(gè)部分的功能,并給出了部分程序流程圖。本設(shè)計(jì)以單片 機(jī)為核心設(shè)計(jì)一種智能型紅外線遙控器,可以對(duì)各種紅外線遙控器發(fā)射的信號(hào)進(jìn)行識(shí)別、 存貯和再現(xiàn)等功能,從而實(shí)現(xiàn)對(duì)各類家電的控制。 關(guān)鍵詞:紅外遙控器;單片機(jī);編碼;解碼器;信號(hào) 1 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) Abstract Today, the application, using infrared telecontrol to transmit a few data to control electric equipment, is so popularized. The problem, picking and processing the infrared code which sent by the various telecontroller, being watched out and solved eagerly by many people. We analyzed carefully the characteristic and its law of the infrared code which sent by the kinds of telecontroller. The principle, using the singlechip system to learn, store, transmit and restore the infrared code which sent by the telecontroller of electric appliance, is also detailedly expounded in this paper. By guiding of the principle, which take the infrared as the pass-along message medium short distance wireless remote control circuit, which has the accuracy to be high, the speed quick characteristic. This design widely applies in equipment and so on industry, medical service, domestic electric appliances opening with the closure control. After thecode pulse signal waveshape that infrared remote controller emits is known, the decoder of infrared remote controller based on single chip microcomputer AT89C51 is designed, the decoder hardware and appropriate software are analysed and the program process diagrams are given. The paper puts forward frame diagram of multifunction remote control system and detailed the compose of hardware principle and function of each part, and gives part of program flu diagrams. This is to design an intelligent infrared remote focusing on single chip. It can distinguish, store and recurrence to signals that all kinds of infrared remote launched. Thereby, the control of all household electrical appliances can be realized. Key words: infrared remote controller;single chip microcomputer;code decoder;signal ; ; ; 2 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 前 言 隨著社會(huì)的發(fā)展各種家用電器已經(jīng)進(jìn)入了千家萬戶, 各式各樣、 琳瑯滿目的家用電器, 空調(diào)、電視、音響系統(tǒng)等傳統(tǒng)意義上的家電早已成為普通百姓生活不可或缺的一部分,甚 至連投影機(jī)、數(shù)字機(jī)頂盒,電子監(jiān)控(防盜)系統(tǒng)等新興電器也正迅速步入現(xiàn)代家庭,我 們家里的遙控器越來越多,不同型號(hào)的遙控器控制不同的家電。 遙控器,想來大家并不陌生,遙控作為眾多現(xiàn)代家電的一種基本控制方式,幾乎所有 的家電產(chǎn)品都配備了遙控器,甚至現(xiàn)在連電風(fēng)扇,臺(tái)燈這樣的設(shè)備都配備了遙控器??墒?, 隨著家里的電器越來越多,電器產(chǎn)品的遙控器也越來越多,這就產(chǎn)生比較多的麻煩,日常 生活中,很多人都會(huì)遇到隨手拿錯(cuò)放在茶幾上各種遙控器的麻煩,不僅使用起來不方便而 且茶幾上擺放一堆遙控器也很不好看。 本設(shè)計(jì)就是設(shè)計(jì)一種遙控器,可以讓我們通過一個(gè)通用的遙控器可以統(tǒng)一控制多個(gè)家 電的開關(guān),這樣就讓對(duì)家電的控制簡(jiǎn)單化了。但是不同企業(yè)使用的遙控器原理各有不同, 大多數(shù)的家用電器都有各自不同的遙控器,為了解決這個(gè)問題,本設(shè)計(jì)探討一個(gè)了遙控 器的設(shè)計(jì)方案:該遙控器可以通過控制繼電器而控制家電的開關(guān),從而擁有對(duì)多臺(tái)電器 的遙控功能,即省時(shí)、又省力,又節(jié)約資源,從而使人們免除同時(shí)面對(duì)眾多遙控器的煩 惱。 本設(shè)計(jì)硬件部分是利用控制電路控制繼電器的開合,從而控制家電的開關(guān)的簡(jiǎn)單的目 的,本設(shè)計(jì)只用了兩組繼電器,只能控制兩臺(tái)家電,而實(shí)際中我們還可以加入更多的繼電 器,達(dá)到控制更多家電的目的。 從遙控器的控制原理來說,其通過紅外發(fā)出的信號(hào)通常是一種經(jīng)過特定編碼的紅外信 號(hào),習(xí)慣稱之為遙控器編碼,不同廠家的遙控器所采用的碼型都是不一樣的,以免互相沖 突,而這個(gè)代碼也是公開的,我們只要能模擬各種遙控信號(hào)編碼,就能實(shí)現(xiàn)對(duì)相應(yīng)電器的 遙控功能。 本設(shè)計(jì)主要是利用東芝牌遙控器編碼方式發(fā)射紅外控制信號(hào),接收電路使用一體化紅 外接收模塊接收紅外信號(hào),經(jīng)過濾除載波后將紅外信號(hào)發(fā)到單片機(jī)內(nèi),而譯碼方式按照東 芝遙控器編碼方式進(jìn)行解碼,譯出遙控器所按的按鍵,然后輸出動(dòng)作控制繼電器開關(guān),從 而達(dá)到用軟件驅(qū)動(dòng)硬件,達(dá)到控制電器開關(guān)的目的。 3 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 第一章 總體設(shè)計(jì)原理分析 1.1 紅外線遙控器工作原理 1.1.1 紅外線介紹 紅外線是一種電磁波,具有與無線電波及可見光一樣的本質(zhì)。人的眼睛能看到的可見 光按波長(zhǎng)從長(zhǎng)到短排列, 依次為紅、 橙、 黃、 青、 綠、 藍(lán)、 紫。 其中紅光的波長(zhǎng)范圍為 0.62 0.76m;紫光的波長(zhǎng)范圍為 0.380.46m。比紫光波長(zhǎng)還短的光叫紫外線,比紅光波長(zhǎng)還 長(zhǎng)的光叫紅外線。紅外線的波長(zhǎng)在 0.76100m 之間,位于無線電波與可見光之間。紅外 線遙控就是利用波長(zhǎng)為 0.761.5m 之間的近紅外線來傳送控制信號(hào)的。 由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、 錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空調(diào)機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅 外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅 完全可靠而且能有效地隔離電氣干擾。 此外紅外線通信還具有保密性強(qiáng),信息容量大,結(jié)構(gòu)簡(jiǎn)單,既可以是室內(nèi)使用,也可 以在野外使用, 由于它具有良好的方向性, 適用于國(guó)防邊界哨所與哨所在之間的保密通信, 但在野外使用時(shí)易受氣候的影響1。 1.1.2 紅外線遙控原理介紹 紅外線遙控器是以紅外線發(fā)光 LED, 發(fā)射波長(zhǎng) 940nm 的紅外線不可見光, 來傳送信號(hào)。 整個(gè)遙控器系統(tǒng)分為發(fā)射端及接收端兩部分, 發(fā)射端經(jīng)過紅外線發(fā)射 LED 送出紅外線控制 信號(hào),這些信號(hào)經(jīng)過紅外線接收模塊接收端接收進(jìn)來,并對(duì)其控制信號(hào)做譯碼而做相對(duì)的 動(dòng)作輸出完成遙控的功能。 紅外通信由來已久,但是進(jìn)入 90 年代,隨著科學(xué)技術(shù)的不斷進(jìn)步和地球空間技術(shù)的 發(fā)展,使人們對(duì)紅外線技術(shù)的研究越來越深入,應(yīng)用范圍更廣泛,尤其是在紅外遙感技術(shù) 和紅外通信技術(shù)領(lǐng)域里,數(shù)字鎖相技術(shù)和傳感器技術(shù)的巨大進(jìn)步,大大加速了這個(gè)進(jìn)程, 目前無線產(chǎn)品在商業(yè)銷售中的使用已相當(dāng)普遍,但大多存在著很大的局限性,電路繁雜, 計(jì)算難度大且多為模擬電路,抗干擾能力差,準(zhǔn)確度底,電路的維護(hù)調(diào)試很不方便。越來 越多的遠(yuǎn)距離控制和數(shù)據(jù)通信系統(tǒng)引入了不可見的紅外線作為傳輸媒介進(jìn)行通信,組成了 無線紅外遙控通信系統(tǒng),此方法以其成本底、精度高、保密性強(qiáng)、技術(shù)性能穩(wěn)定的特點(diǎn)而 受到廣大用戶和專業(yè)人士的歡迎。 常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。發(fā)射部分的主要元件為紅外發(fā)光二 極管,它實(shí)際上是一只特殊的發(fā)光二極管,由于其內(nèi)部材料不同于普通發(fā)光二極管,因而 在其兩端施加一定電壓時(shí)它發(fā)出的是紅外線而不是可見光。目前大量使用的紅外發(fā)光二極 管發(fā)出的紅外線波長(zhǎng)為 940nm 左右,外形與普通 5 發(fā)光二極管相同,只是顏色不同,紅 4 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 外發(fā)光二極管一般有黑色、深藍(lán)、透明三種顏色。 接收部分的紅外接收管是一種光敏二極管,只對(duì)紅外光線有敏感作用,在實(shí)際應(yīng)用中 要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應(yīng)用時(shí) 是反向運(yùn)用,這樣才能獲得較高的靈敏度。紅外接收二極管一般有圓形和方形兩種,由于 紅外發(fā)光二極管的發(fā)射功率一般都較小(100mW 左右),所以紅外接收二極管接收到的信 號(hào)比較微弱,因此就要增加高增益放大電路。 紅外發(fā)射器 AND 門 信號(hào)放大 38kHz 載波信號(hào) 紅外線發(fā)射二極管 發(fā)射紅外線信號(hào) 圖1-1 紅外線發(fā)射器的工作方塊圖 紅外線發(fā)射器的工作流程如圖 1-1 所示,當(dāng)按下某一按鍵后,遙控器上的控制芯片便 進(jìn)行編碼產(chǎn)生一組句柄,結(jié)合載波電路的載波信號(hào)(為 38kHz)而成為合成信號(hào),經(jīng)過放 大器提升功率而推動(dòng)紅外線發(fā)射二極管,將紅外線信號(hào)發(fā)射出去,所要發(fā)射的句柄必須加 上載波才能使信號(hào)傳送的距離加長(zhǎng),一般遙控器的有效距離為 10m。 紅外線 信號(hào)接收 紅外線接收模塊 單片機(jī) AT89C51 控制 圖1-2 紅外線接收的工作方塊圖 紅外線接收的工作方塊圖如圖1-2所示,其主要控制組件為紅外線接收模塊,其內(nèi)部含 有高頻的濾波電路,專門用來濾除紅外線合成信號(hào)的載波信號(hào)(38kHz)而送出發(fā)射器的 控制信號(hào)。當(dāng)紅外線合成信號(hào)進(jìn)入紅外線接收模塊,在其輸出端便可以得到原先的數(shù)字控 制編碼,只要經(jīng)過單片機(jī)譯碼程序進(jìn)行譯碼,便可以得知按下那一按鍵,而作出相應(yīng)的控 制處理,完成紅外線遙控的動(dòng)作。 由于每家廠商設(shè)計(jì)出來的遙控器一定不一樣,即使是使用相同的控制芯片,也會(huì)做特 5 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 殊的編碼設(shè)計(jì),以避免遙控器間互相的干擾。在本設(shè)計(jì)中將以東芝牌電視遙控器為例子來 做實(shí)驗(yàn)說明,這款遙控器使用國(guó)內(nèi)遙控器最常用的編碼芯片PT2221或是兼容芯片。 其中的編碼數(shù)據(jù)包含廠商固定編碼及按鍵編碼,廠商固定編碼為避免與其他家廠商重 復(fù),而按鍵編碼則是遙控器上的各個(gè)按鍵編碼。 例如按下遙控器的 1 鍵,則會(huì)發(fā)送出以下的 4 字節(jié)出去: 40 BF 01H ED BF”為廠商固定編碼,“01H ED”則為1鍵按鍵編碼,廠商編碼只要是 其中“40 東芝牌電視遙控器就是固定的,各個(gè)按鍵編碼則依按鍵不同而不一樣。 各個(gè)位編碼方式是以波寬信號(hào)來調(diào)變,低電平0.8ms加上高電平0.4ms則編碼為“0”, 低電平0.8ms加上高電平1.6ms則編碼為“1”。 當(dāng)按下遙控器上的某一按鍵則會(huì)產(chǎn)生特定的 一組編碼,結(jié)合38kHz載波信號(hào)發(fā)射出去,加上載波信號(hào)可以增加發(fā)射距離。 1.2 紅外家電遙控器譯碼原理 遙控電路使用89C51單片機(jī)作控制,通過紅外線接收模塊接收信號(hào),因?yàn)榻邮漳K有 自動(dòng)濾除載波功能,所以紅外線接收模塊輸出的信號(hào)就是遙控器所產(chǎn)生的編碼,通過電路 傳到單片機(jī)內(nèi),單片機(jī)識(shí)別出遙控器的按鍵,作相應(yīng)的動(dòng)作。 紅外線接收模塊是一種光敏二極管及濾波器組成, 光敏二極管只對(duì)紅外光線有敏感作 用,在實(shí)際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極 管在電路中應(yīng)用時(shí)是反向運(yùn)用,這樣才能獲得較高的靈敏度。紅外接收二極管一般有圓形 和方形兩種,由于紅外發(fā)光二極管的發(fā)射功率一般都較小(100mW左右),所以紅外接收 二極管接收到的信號(hào)比較微弱,因此就要增加高增益放大電路。因此在紅外線發(fā)射端紅外 線信號(hào)加載在一個(gè)38kHz載波上發(fā)射出去,這樣即增加了信號(hào)強(qiáng)度,也增強(qiáng)了信號(hào)的傳輸 距離,使用起來更加方便。 紅外線發(fā)射器使用東芝牌紅外線遙控器,遙控器發(fā)出編碼,紅外接收模塊接收信號(hào), 并傳回單片機(jī)內(nèi)進(jìn)行解碼。使用的控制軟件包含完整的東芝牌電視紅外遙控器解碼,使用 單片機(jī)匯編語言進(jìn)行譯碼。因?yàn)闁|芝遙控器是使用的4字節(jié)(32位)編碼信號(hào),所以譯碼 程序取出4字節(jié)(32位)編碼信號(hào)。 遙控器接收信號(hào)方式如圖1-3所示,然后進(jìn)行譯碼動(dòng)作流程圖。 6 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 紅 紅 外 發(fā) 射 塊 模 碼 收 譯 接 機(jī) 外 片 單 繼 電 器 開 關(guān) / 信 號(hào) 指 示 燈 圖1-3 電路譯碼流程 本設(shè)計(jì)采用的是用繼電器連接家電的電源,通過繼電器控制家電的開關(guān),而繼電器的 控制是受單片機(jī)的電平輸出來控制的,當(dāng)單片機(jī)通過紅外線接收模塊收到紅外線信號(hào)時(shí), 通過譯碼程序識(shí)別出遙控器所按得鍵,通過設(shè)定好的程序,確定單片機(jī)是輸出高電平或低 平,從而使繼電器作出相應(yīng)的動(dòng)作。 在單片機(jī)的匯編語言中, 我們將各個(gè)按鍵用匯編語言指定代碼, 例如, 將1鍵編號(hào)為01H, 2鍵編號(hào)為02H,這個(gè)編碼是單片機(jī)用來識(shí)別遙控器所做的動(dòng)作。當(dāng)遙控器譯出所按鍵時(shí), 單片機(jī)使繼電器做相應(yīng)的動(dòng)作,達(dá)到控制目的。 本設(shè)計(jì)中,設(shè)定了1234四個(gè)按鍵編碼程序,當(dāng)按下1鍵和2鍵時(shí)單片機(jī)控制繼電器做出 相應(yīng)的動(dòng)作,每一個(gè)按鍵對(duì)應(yīng)不同的繼電器。例如按一下1鍵繼電器閉合,蜂鳴器發(fā)出嘩 的一聲,指示燈閃爍一下,再按一下1鍵繼電器打開,蜂鳴器發(fā)出嘩的一聲,指示燈閃爍。 而按下3鍵和4鍵時(shí),只有指示燈和蜂鳴器有動(dòng)作,繼電器沒有動(dòng)作,所以3鍵和4鍵只是測(cè) 試按鍵。 7 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 第二章 電路的硬件設(shè)計(jì) 2.1 硬件控制電路介紹 本設(shè)計(jì)的紅外線信號(hào)發(fā)射器使用東芝牌紅外線遙控器,遙控器發(fā)出紅外信號(hào)編碼,編 碼加載在38kHz載波上發(fā)射出去,紅外接收模塊接收信號(hào)并濾除載波,并傳回單片機(jī)內(nèi)進(jìn) 行解碼。使用的控制軟件包含完整的東芝牌電視紅外遙控器解碼,使用單片機(jī)匯編語言進(jìn) 行譯碼。因?yàn)闁|芝遙控器是使用的4字節(jié)(32位)編碼信號(hào),所以譯碼程序取出4字節(jié)(32 位)編碼信號(hào)。 使用89C51單片機(jī)作控制,通過紅外線接收模塊接收信號(hào),因?yàn)榻邮漳K有自動(dòng)濾除 載波功能,所以紅外線接收模塊輸出的信號(hào)就是遙控器所產(chǎn)生的編碼,通過電路傳到單片 機(jī)內(nèi),單片機(jī)識(shí)別出遙控器的按鍵,作相應(yīng)的動(dòng)作。 完整的控制電路如圖2-1所示。 VCC C2 20pF C1 20pF VCC C3 10uF SW-PB P3.4 P3.5 R3 1K 14 15 29 30 1 2 3 4 5 6 7 8 P3.2 VCC Y1 31 19 18 9 12 13 U1 EA XTAL1 VCC XTAL2 RST S1 INTR0/P3.2 INTR1/P3.3 TIMER 0/P3.4 TIMER 1/P3.5 PSEN ALE P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 VSS 20 89C51 40 P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) RD/P3.7 WR/P3.6 TXD/P3.1 RXD/P3.0 P2.7(A15) P2.6(A14) P2.5(A13) P2.4(A12) P2.3(A11) P2.2(A10) P2.1(A9) P2.0(A8) 39 38 37 36 35 34 33 32 17 16 11 10 28 27 26 25 24 23 22 21 D1 R1 1K LED VCC VCC D4 K2 RELAY-SPDT J3 1 2 3 Q3 NPN VCC VCC J1 1 2 CON2 CON3 C4 10uF P3.2 1 3 R6 100 U3 VCC VDD 2 Q1 NPN GND R9 10K R10 1K GND HONG WAI OUT VCC R5 D3 K1 RELAY-SPDT J2 1 2 3 CON3 R2 10K R7 10K VCC R8 1K Speaker VCC Q2 NPN 1K D2 LED P3.4 P3.5 R4 100 LS1 VCC 圖2-1 控制電路 由總電路圖可已看出,當(dāng)電路通電后電源指示燈亮起,有紅外線信號(hào)時(shí),紅外線接收 8 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 模塊接收紅外信號(hào)經(jīng)過濾除載波之后,通過單片機(jī)INT0腳傳回單片機(jī)內(nèi),經(jīng)單片機(jī)程序譯 碼比較,識(shí)別出遙控器所按的鍵,再控制繼電器和蜂鳴器做相應(yīng)動(dòng)作。工作指示燈為狀態(tài) 指示燈,當(dāng)紅外線信號(hào)出現(xiàn)時(shí),工作指示燈LED會(huì)亮起作指示,信號(hào)收集完畢后,LED會(huì) 熄滅。當(dāng)單片機(jī)接收到紅外接收模塊傳回的信號(hào),按程序譯出遙控器所做的動(dòng)作,會(huì)由 T1腳或WR 腳發(fā)出對(duì)繼電器的控制信號(hào),通過繼電器的開關(guān)控制家電產(chǎn)品電源的開啟或關(guān) 閉。 圖2-2 AT89C51引腳圖 電路的核心芯片是一個(gè)AT89C51單片機(jī),主要作用包括譯碼,控制電路等功能。它是 由多種集成電路組合而成,從而達(dá)到不同的功能。 AT89C51 單片機(jī)是 ATMAL 公司 89 系列單片機(jī)的一種 8 位 Flash 單片機(jī)。 它最大特點(diǎn) 是片內(nèi)含有 Flash 存儲(chǔ)器,用途十分廣泛,特別是在生產(chǎn)便攜式商品,手提式儀器等方面, 有著十分廣泛的應(yīng)用2 ,AT89C51 外部引腳如圖 2-2 所示。 AT89C51 單片機(jī)內(nèi)部主要有以下部件:8031CPU、振蕩電路、總線控制部件、中斷控 制部件、片內(nèi) Flash 存儲(chǔ)器、片內(nèi) RAM、并行 I/O 接口、定時(shí)器和串行 I/O 接口。AT89C51 是 89 系列單片機(jī)的標(biāo)準(zhǔn)型,它是與 MSC-51 系列單片機(jī)兼容的。在內(nèi)部含有 4KB 或 8KB 可重復(fù)編程的 Flash 存儲(chǔ)器,可進(jìn)行 1000 次擦寫操作。全靜態(tài)工作為 0-24MHz,有 3 級(jí)程 序鎖存器,內(nèi)部含有 128-256 字節(jié)的 RAM,有 32 條可編程 I/O 口線,2-3 個(gè) 16 位定時(shí)/計(jì) 數(shù)器,6-8 個(gè)中斷源,通用的串行接口,低電壓空閑及電源下降方式。 單片機(jī)內(nèi)部組成框圖如圖2-3所示。 9 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 外部定 時(shí)元件 系統(tǒng)時(shí)鐘 定時(shí)/計(jì)數(shù)器 復(fù)位 ROM 中斷 串行 I/O 口 并行 I/O 口 CPU 電源 RAM 圖2-3 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖 XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振 蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2 應(yīng)不接。有余 輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求, 但必須保證脈沖的高低電平要求的寬度。 AT89C51 單片機(jī)內(nèi)部由 CPU、4KB 的 FPEROM ,128B 的 RAM,兩個(gè) 16 位的定時(shí)/ 計(jì)數(shù)器 T0 和 T1,4 個(gè) 8 位的 I/O 端 P0、P1、P2、P3 等組成。單片機(jī)內(nèi)部最核心的部分是 CPU。CPU 主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù) 的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等,CPU 按其功能可分為運(yùn)算器和控制器兩部分。 控制器由程序計(jì)數(shù)器 PC、 指令儲(chǔ)存器、 指令譯碼器、 實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。 它的功能是對(duì)來自存儲(chǔ)器中的指令進(jìn)行譯碼,通過實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種 操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器 由算術(shù)邏輯器部件 ALU、累加器 ACC、暫存器、程序狀態(tài)字寄存器 PSW,BCD 碼運(yùn)算調(diào) 整電路等組成3。 2.2 控制電路分析 本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì),這兩者相互結(jié)合,不可分離。從時(shí)間上看,硬件設(shè) 計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬 件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計(jì)任 務(wù),隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度 越來越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。但是硬件是每個(gè)產(chǎn)品 的基礎(chǔ),只有硬件電路設(shè)計(jì)合理后才能進(jìn)行之后的設(shè)計(jì),所以遙控器的控制電路設(shè)計(jì)非常 重要。 紅外線遙控器控制電路分為以下幾個(gè)單元: (1)復(fù)位電路 (2)時(shí)鐘電路 10 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) (3)紅外線接收模塊電路 (4)電源電路 (5)工作指示燈電路 (6)繼電器電路 (7)蜂鳴器電路 下面將分析控制電路的各個(gè)主要電路單元。 2.2.1 復(fù)位電路 單片機(jī)的復(fù)位都是靠外部電路來實(shí)現(xiàn)的。在時(shí)鐘電路工作后,只要在單片機(jī)的復(fù)位 (RST)腳上出現(xiàn) 24 個(gè)時(shí)鐘振蕩脈沖(也就是 2 個(gè)機(jī)器周期)以上的高電平,單片機(jī)便實(shí)現(xiàn)初 始化狀態(tài)復(fù)位。 由按鍵 S13 以及電解電容 C5、電阻 R5 構(gòu)成按鍵及上電復(fù)位電路。由于單片機(jī)是高電 平復(fù)位,所以當(dāng)按鍵 S13 按下時(shí)候,單片機(jī)的 9 腳 RET 管腳處于高電平,此時(shí)單片機(jī)處于 復(fù)位狀態(tài)。當(dāng)上電后,由于電容的緩慢充電,單片機(jī)的 9 腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過 一段時(shí)間后,單片機(jī)的 9 腳處于穩(wěn)定的低電平狀態(tài),此時(shí)單片機(jī)上電復(fù)位完畢,系統(tǒng)程序 從 0000H 開始執(zhí)行。 使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng) 復(fù)位的方法來看, 系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。 硬件復(fù)位必須通過 CPU 外部的硬 件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和 硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi) 通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能 夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來 模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從 0000H 地址開始執(zhí)行。對(duì)各專用寄存器的 復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。 值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù) 位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒 計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè) 定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令 讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。 傳統(tǒng)的復(fù)位方法有阻容上電復(fù)位和按鍵電平復(fù)位,如圖 2-4 所示,本設(shè)計(jì)采用按鍵手 動(dòng)復(fù)位電路,它們實(shí)際上利用 RC 充放電原理實(shí)現(xiàn)的復(fù)位電路,從外部給 RST 腳 2 個(gè)機(jī)器 周期以上的高電平。 在實(shí)際應(yīng)用系統(tǒng)中,為了保證復(fù)位電路可靠地工作,常常將 RC 電路接斯密特電路后 再接入單片機(jī)的復(fù)位端和外圍電路復(fù)位端。這樣就特別適用于應(yīng)用現(xiàn)場(chǎng)干擾大、電壓波動(dòng) 大的工作環(huán)境,并且當(dāng)系統(tǒng)有多個(gè)復(fù)位端時(shí),也能夠保證可靠的同步復(fù)位4。 11 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) VCC C3 10uF RST S1 SW-PB R3 1K 圖2-4 復(fù)位電路 當(dāng) AT89C51 的 RST 引腳到高電平時(shí),單片機(jī)就會(huì)復(fù)位。按下按紐 S13,將高電平接 到 RST 端,從而復(fù)位。復(fù)位后,單片機(jī)就從 0000H 地址開始執(zhí)行程序。P0P3 四個(gè)并行 接口全為高電平,其他寄存器全部清零,只有 SBUF 寄存器狀態(tài)不確定。 2.2.2 時(shí)鐘電路 時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。CPU 就是通過復(fù)雜的時(shí)序電 路完成不同的指令功能的。MCS-51 的時(shí)鐘信號(hào)可以由兩種方式產(chǎn)生:一種是內(nèi)部方式, 利用芯片內(nèi)部的振蕩電路,產(chǎn)生時(shí)鐘信號(hào);另一種為外部方式,時(shí)鐘信號(hào)由外部引入。 C2 XTAL1 20pF C1 20pF Y1 XTAL2 圖2-5 時(shí)鐘電路 MCS-51 單片機(jī)有 HMOS 型和 CHMOS 型,它們的時(shí)鐘電路有一定區(qū)別。內(nèi)部時(shí)鐘電 路, 利用 AT89C51 內(nèi)部一個(gè)高增益的反向放大器, 把一個(gè)晶振體和兩個(gè)電容器組成的自激 振蕩電路接于 XTAL1(19 腳)和 XTAL2(18 腳)之間。這樣,振蕩器發(fā)出的脈沖直接送 入內(nèi)部時(shí)鐘電路。晶振體可以是石英晶體或陶瓷結(jié)構(gòu),振蕩頻率可任選,一般頻率在 1.2 12MHz。對(duì)于石英晶體振蕩器,電容 C3,C4 在 20pF 左右,對(duì)于陶瓷振蕩器,C3,C4 約 20pF 左右。 內(nèi)部時(shí)鐘電路如圖 2-5 所示, MCS-51 的內(nèi)部工作時(shí)鐘也可以由外部振蕩器提供,這 時(shí),對(duì) HMOS 型芯片,外部振蕩器的信號(hào)接至 XTAL2,即內(nèi)部時(shí)鐘發(fā)生器的輸出端,而 內(nèi)部反相放大器的輸人端 XTAL1 應(yīng)接地.在 CHMOS 電路中,因內(nèi)部時(shí)鐘發(fā)生器的信號(hào)取 自反相放大器的輸入端(即與非門的一個(gè)輸入端), 故采用外部時(shí)鐘源時(shí), 接線方式與 HMOS 12 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 型的有所不同:外部信號(hào)接至 XTALI,XTAL2 不用。對(duì)外部振蕩器的信號(hào)沒有特殊的要求, 一般為 0.512 MHz 的方波,方波的波形應(yīng)盡量規(guī)范即上升沿、下降沿盡可能垂直。 本設(shè)計(jì)時(shí)鐘電路使用的是一個(gè) 11.0592MHz 的晶振,所以單片機(jī)的一個(gè)機(jī)器周期是 1.085s,由此可算出單片機(jī)執(zhí)行程序時(shí)在計(jì)算延時(shí)子程序時(shí)間隔的時(shí)間。 2.2.3 紅外線接收模塊電路 紅外線接收模塊是一個(gè)紅外線接收及濾波一體化模塊。當(dāng)有紅外線信號(hào)時(shí),紅外接收 端接收紅外信號(hào),濾除載波,并通過引腳傳回單片機(jī)內(nèi)進(jìn)行解碼分析??梢哉f紅外線接收 模塊式整個(gè)電路的一個(gè)窗口,紅外線接收電路在整個(gè)電路中占有非常重要的作用,只有紅 外接收模塊正常工作時(shí)才能保證整個(gè)電路正常工作。 紅外接收頭的外形,均有三只引腳,即電源正VDD、電源負(fù)(GND)和數(shù)據(jù)輸出(Out)。 接收頭的引腳排列因型號(hào)不同而不盡相同,因接收頭的外形不同而引腳有所區(qū)別,本設(shè)計(jì) 用的是是紅外線一體化接收模塊,工作條件如下: 工作電壓:4.85.3V 工作電流:1.72.7mA 接收頻率:38kHz 峰值波長(zhǎng):980nm 靜態(tài)輸出:高電平 輸出低電平:0.4V 輸出高電平:接近工作電壓 紅外線接收模塊的3個(gè)引腳不能接錯(cuò),否則恐有燒毀內(nèi)部電路之虞,最左邊引腳(1號(hào)) 為數(shù)字信號(hào)輸出, 中間接地, 右邊為電源輸入, 在電源輸入端處并接有RC的電源濾波電路。 在焊接完接收模塊后可以使用邏輯筆接觸紅外線接收模塊的信號(hào)輸出端,一邊按住紅外線 遙控器某一按鍵, 使其不斷地發(fā)射紅外線遙控器信號(hào), 若是接收模塊正常, 邏輯筆脈沖LED 便會(huì)閃動(dòng),這是自行檢測(cè)紅外線遙控器發(fā)射及接收是否正常的最簡(jiǎn)單的方法。 紅外線接收模塊電路如圖2-6所示。 C4 10uF P3.2 1 3 R6 100 U3 VCC VDD 2 GND HONG WAI OUT 圖2-6 紅外接收模塊電路 13 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 由于紅外線接收模塊對(duì)燈光照射十分敏感,觀察一般家電產(chǎn)品的紅外接收模塊處前都 有濾光的面板,因此在做實(shí)驗(yàn)時(shí),不能將燈光直接照射在接收模塊處,以免造成干擾產(chǎn)生 誤動(dòng)作,做出不正確的解碼。 2.2.4 電源電路 如圖2-7所示,電源電路是一個(gè)由兩孔插針、一個(gè)1k保護(hù)電阻、一個(gè)LED發(fā)光二極管組 成。當(dāng)外部電源接到J1時(shí),電路開始通電,LED發(fā)光二極管亮起,代表電路通電的指示。 其中1k電阻起到保護(hù)LED發(fā)光二極管的作用,避免LED發(fā)光二極管燒壞, 起到保護(hù)的作用。 此電源電路是整個(gè)電路供電單元,J1接一個(gè)外部5V的直流電壓源,電壓不能過大否則 會(huì)燒壞其它電路,但也不能過小,電壓過低會(huì)影響單片機(jī)正常工作。 R5 1K D2 LED VCC J1 1 2 CON2 圖2-7 電源電路 2.2.5 工作指示燈電路 工作指示燈電路如圖2-8所示,發(fā)光二極管接單片機(jī)的P3.7腳,稱為工作指示燈LED, 當(dāng)單片機(jī)此引腳送出低電平時(shí),LED點(diǎn)亮,高電平時(shí),LED熄滅。此電路作用就是當(dāng)單片 機(jī)接收到紅外線接收模塊傳回的信號(hào)時(shí),單片機(jī)會(huì)發(fā)出電脈沖,LED發(fā)光二極管會(huì)閃爍, 表示單片機(jī)有接收到紅外線信號(hào),也可依據(jù)LED閃動(dòng)情況,可以判斷程序執(zhí)行的正確性及 顯示程序執(zhí)行的結(jié)果,本設(shè)計(jì)LED指示燈起到直觀的指示是否檢測(cè)到紅外線信號(hào)的作用。 D1 P3.7 LED 圖2-8 R1 1K VCC 工作指示燈電路 2.2.6 繼電器電路 繼電器所扮演的角色是一組可以電氣控制的開關(guān), 因此是串聯(lián)到電器的AC110V電源回 路中,其功能是可以取代電器上的開關(guān),在電路圖中的繼電器線圈驅(qū)動(dòng)電壓為直流5V,做 電器上的開關(guān)時(shí),其流過的電流負(fù)載不能過大,約2A內(nèi)較保險(xiǎn),以免燒毀繼電器或是單片 14 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 機(jī)控制電路。 VCC D3 K1 RELAY-SPDT J2 1 2 3 CON3 本設(shè)計(jì)的繼電器電路圖如圖2-9所示,其中電阻R7,R8為保護(hù)電阻,穩(wěn)壓管D3起到保 護(hù)繼電器的作用,當(dāng)外部電源超出繼電器的最大電壓后,穩(wěn)壓管首先會(huì)被擊穿,達(dá)到保護(hù) 繼電器的目的。其中P3.5接單片機(jī)的T1腳,繼電器的開關(guān)控制信號(hào)都是由此引腳發(fā)出。經(jīng) 過三極管信號(hào)放大控制繼電器的開關(guān),J2連接電器的電源開關(guān),直接控制電器電源的是否 導(dǎo)通。 2.2.7 蜂鳴器電路 蜂鳴器是常見的輸出裝置,當(dāng)有按鍵按下時(shí),可以發(fā)出嘩的一聲,用以指示有按鍵被 按下了,也可以用來播放音樂、音響或是用于語音錄音回放。一般小型蜂鳴器分為蜂鳴器 及傳統(tǒng)的蜂鳴器,蜂鳴器比傳統(tǒng)蜂鳴器小,它是利用送出的震蕩頻率來發(fā)聲的5。 聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個(gè)口線的“高” 電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上蜂鳴器就能發(fā)出一定頻率 的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而 改變音調(diào),使蜂鳴器發(fā)出不同的聲音。 蜂鳴器電路單元如圖2-10所示,在控制電路中單片機(jī)的T0腳是蜂鳴器的驅(qū)動(dòng)位,當(dāng)單 片機(jī)持續(xù)送出工作脈沖就可以推動(dòng)蜂鳴器發(fā)出嘩的聲響, 當(dāng)工作頻率越高時(shí), 聲音越清脆, 工作頻率越低時(shí),聲音則較低沉,過低的工作頻率則無法使蜂鳴器發(fā)出聲音。 P3.5 R7 10K VCC R8 1K Q2 NPN 圖2-9 繼電器電路 15 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) Q1 NPN P3.4 R4 100 LS1 R2 10K Speaker VCC VCC 圖2-10 蜂鳴器電路 當(dāng)程序執(zhí)行到相應(yīng)的段落時(shí),蜂鳴器會(huì)發(fā)出不同的響聲,用來表示所按的鍵。如按下 K1鍵時(shí),蜂鳴器會(huì)發(fā)出嘩的一聲,工作指示燈也會(huì)閃動(dòng)。當(dāng)按下K2鍵時(shí),會(huì)發(fā)出兩聲。而 按未編碼的按鍵時(shí),工作指示燈閃動(dòng),蜂鳴器無動(dòng)作。 2.2.8 擴(kuò)展功能 本設(shè)計(jì)以東芝牌電視紅外線遙控器來遙控繼電器開啟關(guān)閉,進(jìn)而直接控制家電開關(guān), 可以將此應(yīng)用做功能擴(kuò)充, 進(jìn)而遙控啟動(dòng)任何電源啟動(dòng)的裝置, 不必要直接開啟電源開關(guān), 增加使用的方便性。還可以增加其他紅外線遙控器按鍵功能,并增加多組繼電器開啟或關(guān) 閉控制電器。 16 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 第三章 軟件設(shè)計(jì) 3.1 控制程序 3.1.1程序流程及說明 程序分析環(huán)節(jié)是為程序設(shè)計(jì)做一個(gè)總體規(guī)劃。從程序的功能來看可分為兩大類:一類 是執(zhí)行程序,它能完成各種實(shí)質(zhì)性的功能,如解碼,定時(shí),計(jì)算,輸出控制等,另一類是 控制程序,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角 色的程序。這兩類程序的設(shè)計(jì)方法各有特色,執(zhí)行程序的設(shè)計(jì)偏重算法效率,與硬件關(guān)系 密切,千變?nèi)f化??刂瞥绦蚴歉鶕?jù)設(shè)計(jì)者想要達(dá)到的功能設(shè)計(jì)的,與設(shè)計(jì)者的思路有密切 的關(guān)系。 流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法, 程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述??傮w框圖中的各個(gè)子模塊 或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具 體程序和閱讀程序使用。 流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字 和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分 支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)) ,循環(huán)結(jié)構(gòu)。 主程序控制的工作流程圖如圖3-1所示。 在主控程序循環(huán)中主要工作為等待紅外線信號(hào) 出現(xiàn),并跳過前導(dǎo)信號(hào),開始收集連續(xù)32位的編碼數(shù)據(jù),存入內(nèi)存的連續(xù)空間。紅外線信 號(hào)譯碼后輸出4字節(jié)數(shù)據(jù),經(jīng)由程序比較處理,再控制繼電器動(dòng)作及蜂鳴器發(fā)出聲響做動(dòng) 作指示。工作指示燈LED所扮演的角色為狀態(tài)指示,當(dāng)確認(rèn)紅外線的信號(hào)出現(xiàn)時(shí),LED會(huì) 亮起做指示。信號(hào)收集譯碼完畢后,LED會(huì)熄滅。 IR-IN是將紅外線信號(hào)譯碼的子程序,其輸出結(jié)果為4字節(jié)數(shù)據(jù)。紅外線信號(hào)譯碼數(shù)據(jù) 占用連續(xù)4字節(jié)的內(nèi)存空間, 并以R0寄存器間接尋址方式做存取。 是存放在變量IRCOM處, 而程序中實(shí)際程序比較處理時(shí),只比較了第3個(gè)字節(jié)(即按鍵編碼),程序中使用數(shù)字鍵 1234,其第3個(gè)字節(jié)正是數(shù)字1234,程序代碼定義如下: IR 遙控器按鍵1234比較 CODE_K1 CODE_K2 CODE_K3 CODE_K4 EQU 01H EQU 02H EQU 03H EQU 04H 在比較時(shí)便可以輕易處理。在一般情況下都可以正常動(dòng)作,但在有噪聲干擾的時(shí)候則 會(huì)產(chǎn)生誤動(dòng)作。通常較理想的比較應(yīng)該是做完整比較,比較完4個(gè)字節(jié)數(shù)據(jù),才做出相應(yīng) 動(dòng)作,則較難產(chǎn)生誤動(dòng)作。 17 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 主程序開始 繼電器 OFF 紅外線信號(hào)輸入位 設(shè)為高電平 LED 閃動(dòng)表示開始 壓電喇叭發(fā)出嘩的一聲表示開始 等待紅外線出現(xiàn) 并進(jìn)行解碼 N Y 紅外線解碼數(shù)據(jù)比較處理 控制繼電器動(dòng)作及壓電喇叭指示 圖 3-1 主程控流程圖 控制字程序說明如下: (1)DELAY:延遲子程序; (2)LED_BL:工作指示燈閃爍; (3)BZ:蜂鳴器發(fā)出嘩的一聲; (4)DE:短暫延遲; (5)DEL:0.1ms延遲子程序; (6)OP:紅外線譯碼后執(zhí)行相對(duì)動(dòng)作; 18 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) (7)IR_IN:IR譯碼4字節(jié)數(shù)據(jù)。 3.1.2 軟件抗干擾措施 為了減少干擾對(duì)脈沖信號(hào)的影響,提高系統(tǒng)的抗干擾能力,在軟件上采用了抗干擾措 施。措施之一為讀出計(jì)數(shù)值設(shè)計(jì)一個(gè)“窗口”,只有計(jì)數(shù)值落在“窗口”內(nèi)才為有效值, 窗口范圍為0. 1ms (對(duì)應(yīng)計(jì)數(shù)值為64H) ,即: “0”范圍: 1F4H 64H , “1”范圍:5DCH 64H , 只有位于“窗口”內(nèi)的計(jì)數(shù)值才作為有效計(jì)數(shù)值。措施之二是確定識(shí)別碼,只有讀到正確的 識(shí)別碼時(shí),才對(duì)其后的16 個(gè)字節(jié)進(jìn)行解碼。 3.1.3 程序片段介紹 下面介紹幾段主要程序的片段,整個(gè)程序就是由這樣不同功能的片段組成,從而達(dá)到 控制的目的。 1. BEGIN: CLR CLR SETB BZ: MOV R6,#0 B1: CALL DE CPL SPK DJNZ R6,B1 MOV R5,#5 CALL DELAY RET 此段程序在單片機(jī)內(nèi)部存儲(chǔ)器00H單元進(jìn)行初始化,主要對(duì)P3.5,P3.6 I/O口進(jìn)行清0 操作, 并對(duì)P3.2 I/O口置高電平, 并且調(diào)用了BE和LED_BC偽指令, 使蜂鳴器發(fā)出嘩的一聲, 而且LED燈開始正常閃爍,程序初始化結(jié)束后進(jìn)入主程序。 2.LOOP: MOV R0,#IRCOM CALL IR_IN CALL OP 19 RY1 RY2 IRIN CALL BZ CALL LED_BL 哈爾濱學(xué)院本科畢業(yè)論文(設(shè)計(jì)) JMP LOOP 此段程序?yàn)檎麄€(gè)系統(tǒng)的主要程序部分,其功能主要為將30H單元內(nèi)的數(shù)送入R0,其后 調(diào)用了偽指令I(lǐng)R_IN,此偽指令主要判斷IR信號(hào),并通過LED在顯示相對(duì)應(yīng)的結(jié)果,偽指 令OP主要在程序執(zhí)行的過程中完成對(duì)蜂鳴器的控制。JMP LOOP此指令為跳轉(zhuǎn),即跳回偽 指令LOOP,使整個(gè)主程序進(jìn)入一個(gè)循環(huán)往復(fù)的過程。 3.DELAY: MOV R6,#50 D1: MOV R7,#100 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,DELAY RET 此段函數(shù)是一個(gè)延時(shí)子函數(shù)程序,根據(jù)MOV指令(占1機(jī)械周期) ,DJNZ指令(占2 機(jī)械周期) 和程序?qū)6, R7送入的立即數(shù), 可以得出關(guān)于延時(shí)時(shí)間為R5*10ms的延時(shí)指令。 表3-1為程序執(zhí)行時(shí)間。 表3-1 指令 DELAY: MOV R6,#50 D1:MOV R7,#100 DJNZ R7,$ DJNZ R6,D1 DJNZ R5, DELAY RET 1 1 2 2 2 2 1s 1 s 2 s 2 s 2 s 2 s 延時(shí)子程序指令執(zhí)行時(shí)間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論