Keil C51红外遥控解码程序
Keil C51 的红外解码程序,写得真是挺实用。用了外部中断 0和定时器 1配合,不光解码效率高,还省资源。整个思路就是先用中断抓住下降沿,再通过定时器测脉冲长度,判断数据类型。这种玩法你要是做过红外接收的项目,肯定有共鸣。
程序状态机设计得也比较清晰,用了enum
来控制解码流程,变量命名也还行,直接就能看懂。还有点不错的是,它判断信号有效性这一块做得比较严谨,不是啥信号都当真。
代码量不大,但逻辑结构挺紧凑。CPU 初始化、中断配置、定时器重载这些该有的都有。像这种用中断方式来做红外接收的,放到遥控开关、智能灯具这些项目里,还是蛮合适的。
如果你手上正好是用 uPC1621 或 uPC1622 这些红外接收头,强烈建议你试试这个程序,拿来做个改进版遥控器接收模块也挺好用。
顺带给你挖几个相关链接,有空可以挨个看看:
如果你平时对中断、定时器这些用得还不够熟,这个例子就是个不错的练手项目,代码也比较容易上手,调试也方便。
147.19KB
文件大小:
评论区