電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機實例 >> 正文

單片機紅外遙控器設計

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2018/10/12

  UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設備,防止不同機種遙控碼互相干擾。該芯片的用戶識別碼固定為十六進制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。

  當遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進制“0”和“1”的個數(shù)不同而不同,大約在45~63ms之間,圖4為發(fā)射波形圖。

  當一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。

 代碼格式(以接收代碼為準,接收代碼與發(fā)射代碼反向)
  
  ① 位定義

   

  ② 單發(fā)代碼格式
 
   
       
  ③ 連發(fā)代碼格式

   

  注:代碼寬度算法:

  16位地址碼的最短寬度:1.12×16=18ms 16位地址碼的最長寬度:2.24ms×16=36ms

  已知8位數(shù)據(jù)代碼及其8位反代碼的寬度和不變:(1.12ms+2.24ms)×8=27ms

  ∴ 32位代碼的寬度為(18ms+27ms)~(36ms+27ms)

  1. 解碼的關鍵是如何識別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時,0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可*起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可*,一般取0.84ms左右均可。

  2. 根據(jù)碼的格式,應該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。


 【紅外遙控解碼實驗硬件】

  一體化紅外線接收器是一種集紅外線接收和放大整形于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積又很小巧,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸,廣泛用于電視機、衛(wèi)星接收機、VCD、DVD、音響、空調(diào)等家用電器中接收紅外信號,圖5是一體化接收頭的引腳排列圖,圖6是本站產(chǎn)品配套的采用屏蔽線焊接的一體化紅外接收頭,采用屏蔽線焊接,抗干擾能力強,接收更可*。沒有購買實驗板配套的一體化紅外接收頭的網(wǎng)友可以根據(jù)圖2所示接收頭引腳排列圖自己焊接一個。

 
 
圖5:一體化紅外接收頭
(引腳排列圖)
 
圖6:本站產(chǎn)品配套一體化紅外接收頭(已經(jīng)用屏蔽線焊接好,抗干擾能力強,插入實驗板即可使用)

  下面就是我們將要進行紅外遙控解碼實驗所要用到的硬件設備:S51增強型實驗板、ISP編程器、AT89S51實驗芯片、豪華型多功能紅外線遙控器。

 
 
圖7:S51增強型單片機實驗板及防插反紅外遙控接口


 

 
圖8:豪華型多功能紅外遙控器 + 高靈敏度一體化紅外接收頭(23元)


 

圖9:32鍵豪華型紅外遙控器原理圖



 

圖10:ISP編程器燒寫實驗單片機芯片AT89S51


 【紅外遙控解碼實驗】

  我們經(jīng)過對前面的遙控編解碼知識的學習,對紅外遙控有了基本的了解,下面我們馬上進行解碼實驗。本紅外遙控解碼實驗的的功能是:程序?qū)b控器發(fā)射的遙控碼進行解碼,解碼成功時蜂鳴器發(fā)出"嘀嘀"的解碼成功提示音,如果按壓的是數(shù)字鍵"0~9"就將按鍵值在實驗板上的5位數(shù)碼管上顯示出按鍵值,同時將按鍵的十六進制值用P1口的8位發(fā)光二極管指示出來;如果按壓的不是數(shù)字鍵"0~9",就直接從P1口輸出鍵值;下面是遙控解碼匯編源程序。

  實驗時將先連接好硬件設備,將配套的一體化紅外遙控接收頭插入實驗板上的"紅外遙控"接口內(nèi),在Keil單片機集成開發(fā)環(huán)境中新建工程,通過Keil將源程序編譯得到HEX格式目標文件yk.hex,最后使用ISP編程器將目標文件燒寫到AT89S51單片機中,插到S51增強型實驗板上運行,拿出配套的紅外遙控器進行解碼測試,看看實驗結(jié)果是否和程序相同。。。

  >>> 點此下載HEX格式目標文件 yk.hex >>>
  >>> 點此下載遙控解碼源程序和Keil工程文件 >>>

    ORG   0000H
MAIN:  MOV   SP,#60H
    MOV   P0,#0FFH
    MOV   P1,#0FFH
    MOV   P2,#0FFH
    MOV   P3,#0FFH
    JNB   P3.2,$    ;等待遙控信號出現(xiàn)
    MOV   R6,#10
SB:   ACALL  YS1      ;調(diào)用882微秒延時子程序
    JB   P3.2,MAIN   ;延時882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序
    DJNZ  R6, SB    ;重復10次,目的是檢測在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序
               ;以上完成對遙控信號的9000微秒的初始低電平信號的識別。
    JNB   P3.2, $    ;等待高電平避開9毫秒低電平引導脈沖
    ACALL  YS2      ;延時4.74毫秒避開4.5毫秒的結(jié)果碼
    MOV   R1,#1AH    ;設定1AH為起始RAM區(qū)
    MOV   R2,#4
PP:   MOV   R3,#8
JJJJ:  JNB   P3.2,$    ;等待地址碼第一位的高電平信號
    LCALL  YS1      ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態(tài)
    MOV   C,P3.2    ;將P3.2引腳此時的電平狀態(tài)0或1存入C中
    JNC   UUU      ;如果為0就跳轉(zhuǎn)到UUU
    JB   P3.2,$    ;如果為1就等待高電平信號結(jié)束
UUU:   MOV   A,@R1     ;將R1中地址的給A
    RRC   A       ;將C中的值0或1移入A中的最低位
    MOV   @R1,A     ;將A中的數(shù)暫時存放在R1中
    DJNZ  R3,JJJJ    ;接收地址碼的高8位
    INC   R1      ;對R1中的值加1,換成下一個RAM
    DJNZ  R2,PP     ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,存放在1AH/1BH/1CH/1DH的RAM中
               ;以下對代碼是否正確和定義進行識別
    MOV   A,1AH     ;比較高8位地址碼
    XRL   A,#00000000B ;判斷1AH的值是否等于00000000,相等的話A為0
    JNZ   MAIN     ;如果不相等說明解碼失敗退出解碼程序
    MOV   A,1BH     ;比較低8位地址
    XRL   A,#11111111B ;再判斷高8位地址是否正確
    JNZ   MAIN     ;如果不相等說明解碼失敗退出解碼程序
    MOV   A,1CH     ;比較數(shù)據(jù)碼和數(shù)據(jù)反碼是否正確?
    CPL   A
    XRL   A,1DH     ;將1CH的值取反后和1DH比較 不同則無效丟棄,核對數(shù)據(jù)是否準確
    JNZ   MAIN     ;如果不相等說明解碼失敗退出解碼程序
    LCALL  SOUND     ;解碼成功,聲音提示
    MOV   A,1AH
    CPL   A
    MOV   P1,A     ;遙控碼十六進制值通過P1口LED顯示出來

;-------- 下面為0~9鍵碼判斷并在實驗板的5位數(shù)碼管中顯示鍵值 --------
JZPD:  MOV   A,1AH
IRD0:  CJNE  A,#00H,IRD1  ;按鍵"0"判斷顯示
    MOV   P0,#0C0H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD1:  CJNE  A,#01H,IRD2  ;按鍵"1"判斷顯示
    MOV   P0,#0F9H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD2:  CJNE  A,#02H,IRD3  ;按鍵"2"判斷顯示
    MOV   P0,#0A4H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD3:  CJNE  A,#03H,IRD4  ;按鍵"3"判斷顯示
    MOV   P0,#0B0H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD4:  CJNE  A,#04H,IRD5  ;按鍵"4"判斷顯示
    MOV   P0,#99H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD5:  CJNE  A,#05H,IRD6  ;按鍵"5"判斷顯示
    MOV   P0,#92H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD6:  CJNE  A,#06H,IRD7  ;按鍵"6"判斷顯示
    MOV   P0,#82H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD7:  CJNE  A,#07H,IRD8  ;按鍵"7"判斷顯示
    MOV   P0,#0F8H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD8:  CJNE  A,#08H,IRD9  ;按鍵"8"判斷顯示
    MOV   P0,#80H
    MOV   P2,#11100000B
    AJMP  MAIN
IRD9:  CJNE  A,#09H,IRDOR  ;按鍵"9"判斷顯示
    MOV   P0,#90H
    MOV   P2,#11100000B
    AJMP  MAIN

IRDOR: MOV   P2,#0FFH     ;關閉數(shù)碼管使能。"0~9"以外的非數(shù)字功能按鍵鍵值不采用數(shù)碼管顯示,直接從P1口輸出鍵值
    AJMP  MAIN

YS1:   MOV   R4,#19 ;延時子程序1
D1:   MOV   R5,#18
    DJNZ  R5,$
    DJNZ  R4,D1
    RET

YS2:   MOV   R4,#10 ;延時子程序2
D2:   MOV   R5,#216
    DJNZ  R5,$
    DJNZ  R4,D2
    RET

SOUND: MOV   R7,#228 ;音效延時子程序
SDL1:  CPL   P3.7
    MOV   R6,#0FFH
SDL0:  DJNZ  R6,SDL0
    DJNZ  R7,SDL1
    RET

  把上面程序?qū)懭隺t89S51單片機中,一個簡單的單片機紅外遙控器設計就完成了哈哈,是不是很有興趣了,通電后,按壓遙控器上的0~9按鍵,則實驗板上的數(shù)碼管上就顯示出對應的按鍵值,同時解碼成功后發(fā)出聲音指示。。。

Tags:單片機,紅外遙控器  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
国产黄大片在线观| 欧美肥臀bbwbbwbbw| 国产精品高清一区二区三区 | 91精品国产综合久久久久| 欧美一区二区三区精品影视 | 精品国产青草久久久久福利| 国产成人精选免费视频| 99久久人人爽亚洲精品美女| 好爽~好大~不要| 久久久久久久久久国产精品免费| 日韩欧美卡一卡二卡新区| 亚洲欧美另类一区| 正在播放国产乱子伦视频| 全球全球gogo专业摄影| 精品欧美成人高清在线观看2021| 国产亚av手机在线观看| 黄色一级一毛片| 国产精品免费久久久久影院| a级成人毛片免费图片| 女人张开腿无遮无挡图| 丁香六月婷婷在线| 很污的视频网站| 主播福利在线观看| 放荡女同老师和女同学生| 久久精品成人一区二区三区| 日韩美女视频一区| 亚洲人成网站在线观看播放| 欧美一区二区三区久久综| 亚洲乱码无码永久不卡在线| 欧美三级中文字幕在线观看| 亚洲精品国产品国语在线| 毛片免费在线观看网站| 亚洲欧美另类视频| 日韩欧美一区二区三区久久| 久久亚洲国产精品五月天婷| 日日碰狠狠添天天爽五月婷| 久久综合网欧美色妞网| 日本高清不卡码| 久久精品国产精品亚洲蜜月| 成人综合婷婷国产精品久久蜜臀| 久久99精品国产麻豆不卡|