單片機紅外遙控器設計_第1頁
單片機紅外遙控器設計_第2頁
單片機紅外遙控器設計_第3頁
單片機紅外遙控器設計_第4頁
單片機紅外遙控器設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機紅外遙控器設計 紅外線遙控是目前使用很廣泛的一種通信和遙控技術。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之后,在錄音機、音響設備、空凋機以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業設備中,在高壓、輻射、有毒氣體、粉塵等環境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。紅外線是太陽光線中眾多不可見光線中的一種,由德國科學家霍胥爾于1800年發現,又稱為紅外熱輻射,他將太陽光用三棱鏡分解開,在各種不同顏色的色帶位置上放置了溫度計,試圖測量各種顏色的光的加熱效應。結果發現,位于紅光外側的那支溫度計升溫最快。因此得到結論:太陽

2、光譜中,紅光的外側必定存在看不見的光線,這就是紅外線。也可以當作傳輸之媒界。 太陽光譜上紅外線的波長大于可見光線,波長為0.751000m。紅外線可分為三部分,即近紅外線,波長為0.751.50m之間;中紅外線,波長為1.506.0m之間;遠紅外線,波長為6.0l000m 之間。 真正的紅外線夜視儀是光電倍增管成像,與望遠鏡原理全完不同,白天不能使用,價格昂貴且需電源才能工作。【紅外遙控系統】 通用紅外遙控系統由發射和接收兩大部分組成,應用編/解碼專用集成電路芯片來進行控制操作,如圖1所示。發射部分包括鍵盤矩陣、編碼調制、LED紅外發送器;接收部分包括光、電轉換放大器、解調、解碼電路。圖1a紅

3、外發射原理圖圖1b 紅外接受原理圖【遙控發射器及其編碼】 紅外遙控發射器專用芯片很多,根據編碼格式可以分成兩大類,這里我們以運用比較廣泛,解碼比較容易的一類來加以說明,現以日本NEC的uPD6121G組成發射電路為例說明編碼原理。當發射器按鍵按下后,即有遙控碼發出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”,其波形如圖2所示。上述“0”和“1”組成的32位二進制碼經38kHz的載頻進行二次調

4、制以提高發射效率,達到降低電源功耗的目的。然后再通過紅外發射二極管產生紅外線向空間發射,如圖3所示,連發波形如圖4所示。UPD6121G產生的遙控編碼是連續的32位二進制碼組,其中前16位為用戶識別碼,能區別不同的電器設備,防止不同機種遙控碼互相干擾。該芯片的用戶識別碼固定為十六進制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。當遙控器在按鍵按下后,周期性地發出同一種32位二進制碼,周期約為108ms。一組碼本身的持續時間隨它包含的二進制“0”和“1”的個數不同而不同,大約在4563ms之間,圖4為發射波形圖。當一個鍵按下超過36ms,振蕩器使芯

5、片激活,將發射一組108ms的編碼脈沖,這108ms發射代碼由一個起始碼(9ms),一個結果碼(4.5ms),低8位地址碼(9ms18ms),高8位地址碼(9ms18ms),8位數據碼(9ms18ms)和這8位數據的反碼(9ms18ms)組成。如果鍵按下超過108ms仍未松開,接下來發射的代碼(連發代碼)將僅由起始碼(9ms)和結束碼(2.5ms)組成。代碼格式(以接收代碼為準,接收代碼與發射代碼反向) 位定義 單發代碼格式 連發代碼格式 注:代碼寬度算法:16位地址碼的最短寬度:1.12×16=18ms 16位地址碼的最長寬度:2.24ms×16=36ms 已知8位數據代

6、碼及其8位反代碼的寬度和不變:(1.12ms+2.24ms)×8=27ms 32位代碼的寬度為(18ms+27ms)(36ms+27ms) 1 解碼的關鍵是如何識別“0”和“1”,從位的定義我們可以發現“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據高電平的寬度區別“0”和“1”。如果從0.56ms低電平過后,開始延時,0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此

7、取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。2 根據碼的格式,應該等待9ms的起始碼和4.5ms的結果碼完成后才能讀碼。【紅外遙控解碼實驗硬件】一體化紅外線接收器是一種集紅外線接收和放大整形于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積又很小巧,它適合于各種紅外線遙控和紅外線數據傳輸,廣泛用于電視機、衛星接收機、VCD、DVD、音響、空調等家用電器中接收紅外信號,圖5是一體化接收頭的引腳排列圖,圖6是本站產品配套的采用屏蔽線焊接的一體化紅外接收頭,采用屏蔽線焊接,抗干擾能力強,接收更可靠。沒有購買實驗板配

8、套的一體化紅外接收頭的網友可以根據圖2所示接收頭引腳排列圖自己焊接一個。圖5:一體化紅外接收頭(引腳排列圖) 圖6:本站產品配套一體化紅外接收頭(已經用屏蔽線焊接好,抗干擾能力強,插入實驗板即可使用)下面就是我們將要進行紅外遙控解碼實驗所要用到的硬件設備:S51增強型實驗板、ISP編程器、AT89S51實驗芯片、豪華型多功能紅外線遙控器。圖7:S51增強型單片機實驗板及防插反紅外遙控接口圖8:豪華型多功能紅外遙控器 高靈敏度一體化紅外接收頭(23元)圖9:32鍵豪華型紅外遙控器原理圖圖10:ISP編程器燒寫實驗單片機芯片AT89S51【紅外遙控解碼實驗】 我們經過對前面的遙控編解碼知識的學習,

9、對紅外遙控有了基本的了解,下面我們馬上進行解碼實驗。本紅外遙控解碼實驗的的功能是:程序對遙控器發射的遙控碼進行解碼,解碼成功時蜂鳴器發出"嘀嘀"的解碼成功提示音,如果按壓的是數字鍵"09"就將按鍵值在實驗板上的5位數碼管上顯示出按鍵值,同時將按鍵的十六進制值用P1口的8位發光二極管指示出來;如果按壓的不是數字鍵"09",就直接從P1口輸出鍵值;下面是遙控解碼匯編源程序。實驗時將先連接好硬件設備,將配套的一體化紅外遙控接收頭插入實驗板上的"紅外遙控"接口內,在Keil單片機集成開發環境中新建工程,通過Keil將源程序

10、編譯得到HEX格式目標文件yk.hex,最后使用ISP編程器將目標文件燒寫到AT89S51單片機中,插到S51增強型實驗板上運行,拿出配套的紅外遙控器進行解碼測試,看看實驗結果是否和程序相同。>>> 點此下載HEX格式目標文件 yk.hex >>>>>> 點此下載遙控解碼源程序和Keil工程文件 >>> ORG 0000H MAIN: MOV SP,#60HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHJNB P3.2,$;等待遙控信號出現MOV R6,#10SB: ACA

11、LL YS1 ;調用882微秒延時子程序JBP3.2,MAIN ;延時882微秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序DJNZR6, SB;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P3.2, $ ;等待高電平避開9毫秒低電平引導脈沖ACALL YS2 ;延時4.74毫秒避開4.5毫秒的結果碼MOV R1,#1AH ;設定1AH為起始RAM區MOV R2,#4 PP: MOV R3,#8JJJJ: JNB P3.2,$;等待地址碼第一位的高電平信號LCALL YS1 ;高電平開始后用882微秒

12、的時間尺去判斷信號此時的高低電平狀態MOV C,P3.2;將P3.2引腳此時的電平狀態0或1存入C中JNC UUU ;如果為0就跳轉到UUUJBP3.2,$;如果為1就等待高電平信號結束UUU: MOV A,R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV R1,A ;將A中的數暫時存放在R1中DJNZR3,JJJJ ;接收地址碼的高8位INC R1;對R1中的值加1,換成下一個RAMDJNZR2,PP ;接收完16位地址碼和8位數據碼和8位數據反碼,存放在1AH/1BH/1CH/1DH的RAM中;以下對代碼是否正確和定義進行識別MOV A,1AH ;比較高8位地

13、址碼XRL A,#00000000B;判斷1AH的值是否等于00000000,相等的話A為0JNZ MAIN;如果不相等說明解碼失敗退出解碼程序MOV A,1BH ;比較低8位地址XRL A,#11111111B;再判斷高8位地址是否正確JNZ MAIN;如果不相等說明解碼失敗退出解碼程序MOV A,1CH ;比較數據碼和數據反碼是否正確?CPL AXRL A,1DH ;將1CH的值取反后和1DH比較 不同則無效丟棄,核對數據是否準確JNZ MAIN;如果不相等說明解碼失敗退出解碼程序LCALL SOUND ;解碼成功,聲音提示MOV A,1AHCPL AMOV P1,A;遙控碼十六進制值通過

14、P1口LED顯示出來;- 下面為09鍵碼判斷并在實驗板的5位數碼管中顯示鍵值 -JZPD: MOV A,1AHIRD0: CJNEA,#00H,IRD1 ;按鍵"0"判斷顯示MOV P0,#0C0HMOV P2,#11100000BAJMPMAINIRD1: CJNEA,#01H,IRD2 ;按鍵"1"判斷顯示MOV P0,#0F9HMOV P2,#11100000BAJMPMAINIRD2: CJNEA,#02H,IRD3 ;按鍵"2"判斷顯示MOV P0,#0A4HMOV P2,#11100000BAJMPMAINIRD3: CJ

15、NEA,#03H,IRD4 ;按鍵"3"判斷顯示MOV P0,#0B0HMOV P2,#11100000BAJMPMAINIRD4: CJNEA,#04H,IRD5 ;按鍵"4"判斷顯示MOV P0,#99HMOV P2,#11100000BAJMPMAINIRD5: CJNEA,#05H,IRD6 ;按鍵"5"判斷顯示MOV P0,#92HMOV P2,#11100000BAJMPMAINIRD6: CJNEA,#06H,IRD7 ;按鍵"6"判斷顯示MOV P0,#82HMOV P2,#11100000BAJM

16、PMAINIRD7: CJNEA,#07H,IRD8 ;按鍵"7"判斷顯示MOV P0,#0F8HMOV P2,#11100000BAJMPMAINIRD8: CJNEA,#08H,IRD9 ;按鍵"8"判斷顯示MOV P0,#80HMOV P2,#11100000BAJMPMAINIRD9: CJNEA,#09H,IRDOR ;按鍵"9"判斷顯示MOV P0,#90HMOV P2,#11100000BAJMPMAINIRDOR:MOV P2,#0FFH ;關閉數碼管使能。"09"以外的非數字功能按鍵鍵值不采用數碼管顯示,直接從P1口輸出鍵值AJMPMAINYS1: MOV R4,#19 ;延時子程序1D1: MOV R5,#18DJNZR5,$DJNZR4,D1 RETYS2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論