电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章电子制作电子制作红外遥控解码

红外遥控解码

03-22 05:03:59 | http://www.5idzw.com | 电子制作 | 人气:577
标签:电子制作网,http://www.5idzw.com 红外遥控解码,http://www.5idzw.com
last_8:    ;//如果为第二字节
 mov keydata+1,a ;//则保存第一字节到31h
 mov r7,#0  ;//清零R7
 sjmp nextbit  ;//
seach:    ;//匹配按键编码
 mov r0,#-2  ;//按键编码字节个数计数器
 mov r1,#-1  ;//按键顺序计数器
seach1:   ;//
        inc r0  ;//
seach2:   ;//
 inc r0   ;//
 inc r1   ;//
 cjne r1,#29,compare ;//是否R1=29 
 sjmp exit0  ;//
compare:   ;//开始匹配
  mov a,r0  ;//
 mov dptr,#keycode ;//地址指针指向码表首址
 movc a,@a+dptr ;//取码
 cjne a,keydata,seach1 ;//比较
 inc r0   ;//R0+1,再比较下一字节(每个按键编码为2字节)
 mov a,r0  ;//
 ;mov dptr,#keycode ;//
 movc a,@a+dptr ;//比较
 cjne a,keydata+1,seach2 ;//是否匹配,不匹配则继续跟下一字节比较
 mov p1,r1         ;//如果匹配,把按键顺序号输出到p1
send:    ;//
 mov tmod,#20h     ;   //设置timer 1,mode 2
 mov tl1,#0fdh  ;//设置定时器初值
 mov th1,#0fdh  ;//
 mov scon,#01010000b;//以上设置,即设置串口波特率系数为:9600,8,1,0
 setb tr1  ;//启动定时器1
loop_s:  ;//
 mov sbuf,r1    ;//把R1(按键顺序号)输出到串口
 jnb ti,$  ;//等待是否发送完毕
 clr ti   ;//发送完毕,清零TI
exit0:    ;//
ljmp main   ;//循环

keycode:   ;//每两字节代表一个按键的编码
db 11111000b,00000000b,    11111100b,00000000b,    11111001b,11000000b
db 11111100b,11000000b,    11111010b,00000000b,    11111010b,00100000b
db 11111010b,01000000b,    11111010b,01100000b,    11111010b,10000000b
db 11111010b,10100000b,    11111010b,11000000b,    11111010b,11100000b
db 11111011b,00000000b,    11111011b,00100000b,    11111011b,01000000b
db 11111011b,01100000b,    11111111b,01100000b,    11111111b,10100000b
db 10001100b,10001110b,    10001101b,11101110b,    10001100b,10101110b
db 10001101b,11001110b,    11111000b,11100000b,    11111100b,10000000b
db 11111100b,01000000b,    11111001b,10100000b,    11111100b,10100000b
db 11111100b,01100000b
end
---------------------------------------------------------------------------------
各种遥控器编码不同,如果你采用的是其他遥控器,修改几个参数即可(当然按键的编码表肯定不同了),即计数器的值不同,不过有的遥控器有机器码(机器码每个按键都是一样的),此时可以跳过机器码的采集。最后有一点想提一下的是,刚开始不知道遥控器的编码是比较麻烦的,笔者在“双龙电子“网站下载了个声卡示波器,用他可以一目了然观看遥控器的波形,测量其脉冲宽度,有了它确实方便很多,该软件可以到双龙公司网站http://www.sl.com.cn/免费下载使用。如果你想用遥控器遥控电脑,你可以自己编写一个接受串行口应用软件,或者你可以直接下载使用Girder这个软件,该软件是专门为串口遥控器做的,很好用,下载地址为:http://www.girder.nl/,你可以利用这个软件定义遥控器来遥控你电脑移动鼠标、键盘操作、上网浏览、打开播放器、关机等。

上一页  [1] [2] 

,红外遥控解码