Keil C51红外遥控解码程序

Keil C51 的红外解码程序,写得真是挺实用。用了外部中断 0定时器 1配合,不光解码效率高,还省资源。整个思路就是先用中断抓住下降沿,再通过定时器测脉冲长度,判断数据类型。这种玩法你要是做过红外接收的项目,肯定有共鸣。

程序状态机设计得也比较清晰,用了enum来控制解码流程,变量命名也还行,直接就能看懂。还有点不错的是,它判断信号有效性这一块做得比较严谨,不是啥信号都当真。

代码量不大,但逻辑结构挺紧凑。CPU 初始化中断配置定时器重载这些该有的都有。像这种用中断方式来做红外接收的,放到遥控开关、智能灯具这些项目里,还是蛮合适的。

如果你手上正好是用 uPC1621 或 uPC1622 这些红外接收头,强烈建议你试试这个程序,拿来做个改进版遥控器接收模块也挺好用。

顺带给你挖几个相关链接,有空可以挨个看看:

如果你平时对中断、定时器这些用得还不够熟,这个例子就是个不错的练手项目,代码也比较容易上手,调试也方便。

pdf 文件大小:147.19KB