基于Protues的红外遥控系统设计与仿真
需积分: 0 183 浏览量
更新于2024-08-10
收藏 723KB PDF 举报
"这篇文档是关于红外遥控系统设计的,主要介绍了基于红外接收组件IRLINK在Protues软件中的仿真应用,以及使用PIC微控制器进行红外遥控信号收发设计仿真的方法。文中涉及到的关键技术包括SONY SIRC协议、红外接收头的解调信号处理和微控制器的中断解码功能。"
在红外遥控系统中,红外信号的传输和接收是至关重要的环节。本文档提及的“ms的起始信-c标准库”可能是针对红外信号处理的一种特定实现,其中2.4ms的起始信号是识别红外遥控信号开始的关键标志。当这个起始信号的电平由高变低时,中断会被触发,开始进行信号的解码过程。
在中断服务函数`interrupt INT_IR_ISR()`中,首先检查中断标志INTF是否为0,如果是,则直接返回,表示没有有效的中断发生。接着,清零信号宽度变量IR_us和禁止中断,然后设置一个2ms的延迟。这是因为2.4ms的起始信号宽度如果超过2ms还未变为高电平,那么系统会认为这是一个无效的起始信号并退出。
在中断服务函数内部,通过不断读取红外输入`Read_IR()`的状态,判断是否已经完成了2.4ms的起始信号接收。如果读取到高电平,说明已经跳过了2.4ms的起始信号,系统继续执行后续的解码步骤。如果在等待过程中,信号宽度超过2400us,表示有异常,程序也会退出。
接下来的for循环用于收集12位编码,每轮循环等待红外信号变为低电平,并跳过600us的空白区。如果在等待过程中,信号宽度超过600us,同样视为异常,退出循环。低电平宽度的计算用于确定编码的每一位。
整个解码过程是基于中断的,确保了对瞬态红外信号的准确捕获。通过使用IRLINK组件和PIC微控制器,可以在Protues环境下进行红外遥控系统的仿真设计,这对于教学和实验是非常有用的工具。实际应用中,这种设计可以应用于各种需要红外遥控的设备,如电视、空调等家用电器。
这个文档揭示了红外遥控系统中的信号检测与解码流程,重点在于如何识别和处理2.4ms的起始信号,以及如何在中断服务程序中进行高效的数据采集。对于理解和设计红外遥控系统,尤其是基于SONY SIRC协议的系统,提供了实用的参考。
2016-12-22 上传
2016-04-21 上传
2022-04-11 上传
2023-09-11 上传
2022-09-20 上传
2022-07-10 上传
2013-07-05 上传
552 浏览量
2015-07-26 上传
幽灵机师
- 粉丝: 35
- 资源: 3903
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫