打印

红外接收算法。欢迎拍砖。

[复制链接]
2640|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
popo77|  楼主 | 2007-5-8 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚刚完成了红外接收。现把算法发布出来供大家分享。不为显摆,只为活跃社区,常常在这里看贴,现在也把自己的心得贴出来。欢迎拍砖。

hs6221发送,接收头解码。使用定时及外中断。

//码元接收
//1.Wt1
//收到下降边沿E1
//启动100us定时器。每定时中断一次查询输入引脚电平,分别计入高低电平计数器。
//进入Wt2

//2.Wt2 9ms
//判断输入管脚电平为高触发中断(因为硬件不能设置上升沿触发中断)
//根据高电平计数次数判断间隔时间。如满足9ms起始标志,清计数器,进入Wt3;否则清计数器,关定时器转1。

//3.Wt3 4.5ms/2.25ms
//3.1 判断时间间隔若为4.5ms,表明为新键按下。计数器清零,等待下次中断,转Wt4。
//3.2 判断时间间隔若为2.25ms,表明重复按键。最近一次码元加入缓冲队列。清计数器,关定时器转1。
//3.3 其它时间,非法,清计数器,关定时器转1。

//4.Wt4 1.125/2.25
//4.1 1.125/2.25ms 当前码为0/1,码元计数器加1。
//若码元计数器为32,则一帧完毕。码元加入缓冲队列,置新码标志,清计数器,关定时器转1;否则转4重复。
//4.2 其它间隔时,转1。[毛刺处理暂未考虑]。

相关帖子

沙发
xxdcq| | 2007-5-8 11:02 | 只看该作者

这是在已知格式的遥控器解码

这是在已知格式的遥控器解码
如果是未知遥控器怎么办?

使用特权

评论回复
板凳
popo77|  楼主 | 2007-5-8 11:24 | 只看该作者

阿?未知格式吗?

我的想法:
    未知格式的话,应该有个采集并分析的过程。
    采集不用说,只要接收头就可以了。
    分析的过程,我现在想到的是,和所有已知格式比对。如果是专用保密的格式,好像就涉及密码学吧,红外不过是载体罢了。

不知道对不对,期待达人的回复。

使用特权

评论回复
地板
dcp| | 2007-5-8 13:23 | 只看该作者

一个IO口加一个定时器可否搞掂?

当然定时中断可以用,但不能用外中断

使用特权

评论回复
5
yewuyi| | 2007-5-8 13:42 | 只看该作者

LS为什么不让用外部中断?

使用特权

评论回复
6
麦田51| | 2007-5-8 13:44 | 只看该作者

协议

请问楼主的红外接受发送用的是哪种协议??modbus,645还是别的?

使用特权

评论回复
7
xxdcq| | 2007-5-8 13:57 | 只看该作者

看看我们的红外遥控

http://www.yofeng.com/IrCtrR.asp
可以自动识别95%的红外遥控器

使用特权

评论回复
8
popo77|  楼主 | 2007-5-8 17:03 | 只看该作者

回六楼。是NEC编码标准。

谢谢版主,第一个裤子。呵呵。开心啊。

使用特权

评论回复
9
DCP| | 2007-5-9 00:14 | 只看该作者

RE:5楼

第一个原因是故意不用,这就要睇你的编程能力了
另外一个原因是外中断给其他任务占用了.这时你必须在没有外中断的情况下进行红外解码!

使用特权

评论回复
10
chenkaifa| | 2007-5-14 20:32 | 只看该作者

求助

有没有用C51写的子程序,借我参考一下谢谢
email: c0088@qq.com

使用特权

评论回复
11
mylovetus| | 2007-5-14 22:59 | 只看该作者

好的编程习惯----尽量少用中断,尤其是外部中断!

我的外部中断只能用在STOP模式下的唤醒.唤醒之后再关外部中断.

使用特权

评论回复
12
xwj| | 2007-5-14 23:07 | 只看该作者

LS,没你那种说法,应该合理使用中断,并坚决杜绝中断中等待

使用特权

评论回复
13
udbit18| | 2007-8-8 15:06 | 只看该作者

不错不错,好东西,知道共享,真是好

使用特权

评论回复
14
ywk99521| | 2008-9-2 09:37 | 只看该作者

学习

我也做红外发送和接收,有没有做多路同时接收和发送的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

33

帖子

0

粉丝