搜索
bottom↓
回复: 15

[求助]一个关于红外解码不稳定的问题求教大家

[复制链接]

出0入0汤圆

发表于 2014-7-6 17:35:26 | 显示全部楼层 |阅读模式
本帖最后由 lxa0 于 2014-7-6 17:43 编辑

本人用的是50462芯片红外遥控手柄
解码过程没问题
问题是:
当按下某个键后解码成功
这时候再换一个键按下后
有时候会出现上次那个键的动作
就是说出现了误动作

检查代码没找出问题所在
困扰我很久
无奈在此求助大家
看这个问题怎么解决
不胜感激



下面是我写的原代码:
;tt1 T1读红外代码子程序<占用区2 >*******************************
org 0290h
tt1:push dph         ;保护现场
push dpl
push acc
push psw
jb 01h,t3
jb 02h,t3           ;全部动作未完成则返回
jb 00h,t2           ;如果收到遥控引导码则进入接收识别模式
mov th1,#00h        ;清T1,为接收做准备
mov tl1,#00h
setb 00h            ;设接收遥控波头准备好标志位
setb tr1            ;开T1中断
sjmp t3
t2:setb psw.4       ;进入区2
clr psw.3
mov a,th1           ;将收到的第一个遥控波头存到30h单元
mov @r0,a
mov th1,#00h        ;清T1,准备读下一位
mov tl1,#00h
inc r0
djnz r1,t3        ;全部信号接收完闭否?
mov 10h,#30h        ;接收完,则恢复10h、11h单元初值
mov 11h,#2fh
clr tr1             ;关T1中断
clr ex1             ;关外部中断1
mov 20h,#00h        ;恢复接收标致位
setb 01h            ;设读取完成标志并允许转换标志位
t3:pop psw
pop acc
pop dpl
pop dph
reti

;zh转换子程序<占用区1>*********************************************
org 0300h
zh: push dph            ;将识别后的遥控信号转换成16位动作代码
push dpl
push acc
push psw
setb psw.3              ;进入区i
clr psw.4
mov r0,#2fh
mov r1,#07h             ;8位一小组
jb 00h,h01
jb 02h,h01
jb 01h,h0
h00:setb ex1
mov 20h,#00h           ;清除上次的标志           
mov 21h,#00h           ;清除上次的动作指令
h01:mov 08h,#2fh
mov 09h,#07h
pop psw
pop acc
pop dph
pop dpl
ret
h0: inc r0               ;取第一组第一位
cjne r0,#51h,h1          ;是否干扰?
sjmp h00                 ;是则返回
h1: jc h2
sjmp h00
h2: cjne @r0,#03h,h0     ;开始转换第一组第一位
inc r0
cjne @r0,#03h,h0
inc r0
cjne @r0,#03h,h0
inc r0
cjne @r0,#01h,h0
inc r0
cjne @r0,#01h,h0
inc r0
cjne @r0,#01h,h0
inc r0
cjne @r0,#03h,h0
inc r0
cjne @r0,#01h,h0
cjne r0,#59h,h3       ;地址码正确否?
sjmp h00
h3: jc h4
sjmp h00
h4: inc r0            ;开始转换指令码
mov a,@r0
jb acc.1,h5
clr 08h
sjmp h6
h5: setb 08h
h6: mov a,21h
rl a
mov 21h,a
djnz r1,h4            ;8位指令码转换完否?
setb 02h              ;设置允许执行动作标志位
clr 01h               ;清除允许转换标志位
ajmp h01

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2014-7-6 17:39:39 | 显示全部楼层
网上搜索的50462的资料

怎么不能上传图片了?????????????????

出0入0汤圆

 楼主| 发表于 2014-7-7 00:03:28 | 显示全部楼层
本帖最后由 lxa0 于 2014-7-7 00:04 编辑

只有几个人浏览过本帖子了
...................

出0入0汤圆

发表于 2014-7-7 09:27:27 | 显示全部楼层
用分析仪测量波形,看发的码对不对应那个键,发射没问题的话,就是接收解码的问题 了

出0入0汤圆

 楼主| 发表于 2014-7-7 10:26:32 | 显示全部楼层
zxd08 发表于 2014-7-7 09:27
用分析仪测量波形,看发的码对不对应那个键,发射没问题的话,就是接收解码的问题 了 ...

解码没问题
都可以照指令动作的
就是有时后会误动作

出0入4汤圆

发表于 2014-7-7 10:30:53 | 显示全部楼层
汇编现在看不懂了
不知道50462有没有连按码,有没有处理连按码

出0入0汤圆

发表于 2014-7-7 11:13:25 | 显示全部楼层
楼主的汇编看不懂,楼主键码执行完动作,码值清空了吗?

出0入0汤圆

发表于 2014-7-7 16:52:27 | 显示全部楼层
lxa0 发表于 2014-7-7 10:26
解码没问题
都可以照指令动作的
就是有时后会误动作

还没分析出误出作是发射造成的还是接收造成的?

出0入0汤圆

 楼主| 发表于 2014-7-7 23:46:55 | 显示全部楼层
szpspike 发表于 2014-7-7 10:30
汇编现在看不懂了
不知道50462有没有连按码,有没有处理连按码

有连按码
我是接收3组后
找出其中的2组做比较
一致的话才动作的

出0入0汤圆

 楼主| 发表于 2014-7-7 23:47:58 | 显示全部楼层
zyyn123 发表于 2014-7-7 11:13
楼主的汇编看不懂,楼主键码执行完动作,码值清空了吗?

是的清理了

mov 20h,#00h
mov 21h,#00h
mov 22h,#00h
上3句就是做清理的代码

出0入0汤圆

 楼主| 发表于 2014-7-7 23:48:35 | 显示全部楼层
zxd08 发表于 2014-7-7 16:52
还没分析出误出作是发射造成的还是接收造成的?

这个还真没分析出来
所以请大家帮助

出0入0汤圆

 楼主| 发表于 2014-7-9 00:24:49 | 显示全部楼层
继续求助~~~~~~~~~~~~~~

出0入0汤圆

发表于 2014-7-9 08:48:37 | 显示全部楼层
汇编....
肯定是逻辑有问题

出0入0汤圆

 楼主| 发表于 2014-7-9 11:40:54 | 显示全部楼层
qq335702318 发表于 2014-7-9 08:48
汇编....
肯定是逻辑有问题

我也知道有错误
但是就是找不出来呀
..............

出0入0汤圆

发表于 2014-7-9 21:05:07 | 显示全部楼层
lxa0 发表于 2014-7-9 11:40
我也知道有错误
但是就是找不出来呀
..............

用C吧,,汇编基本没人人能帮你

出0入0汤圆

 楼主| 发表于 2014-7-10 15:22:01 | 显示全部楼层
qq335702318 发表于 2014-7-9 21:05
用C吧,,汇编基本没人人能帮你

老朽已年过半百
学不进去 C 了呀
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 03:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表