社区
单片机/工控
帖子详情
如何在C51实现接收NEC遥控器并且全部中断已被占用
greatmind829
2011-07-26 09:51:06
我上网找过一些用中断来实现的例子,可是我的中断已被占用,不知有没有更好的办法来实现它
请提供一些意见,项目需要,急用,就要交了,谢谢了。。
...全文
119
5
打赏
收藏
如何在C51实现接收NEC遥控器并且全部中断已被占用
我上网找过一些用中断来实现的例子,可是我的中断已被占用,不知有没有更好的办法来实现它 请提供一些意见,项目需要,急用,就要交了,谢谢了。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjtea
2011-07-26
打赏
举报
回复
1)定时器还比较好办,原20毫秒定时中断,可以改变成0.2毫秒定时中断,并且用2个累计计数变量。一个计100次就是原来的20毫秒;另一个用来记录波形脉宽;
2)精确测量波形跳变,最好就是用中断,而且还需要上、下跳变均触发。如果肯定找不出中断引脚,那就只好查询,每0.2毫秒的定时中断中,查询一次波形的电平。这个精度,对遥控器来说,应该够了;
3)可以根据精度要求,改变1)中的0.2毫秒的大小。
guoyu_bo
2011-07-26
打赏
举报
回复
最好别,轮循环时间精度不好把握,而且随着程序变化你这把时间的尺子也跟着在变
至于共用要具体分析了,比如有按键的话,就可通过这个按键来进行不同中断的切换之类的
greatmind829
2011-07-26
打赏
举报
回复
至于共用中断,GPIO默认是高电平,要怎样来共用法
greatmind829
2011-07-26
打赏
举报
回复
我看到NEC 协议是标准波型总长是67.5ms,由9.12ms(低),4.5ms(高),+1.12ms+2.3ms...;
我的C51程序是20ms一个循环,可不可以去放一段轮循程序,放在循环里,去检测GPIO的状态加delay
guoyu_bo
2011-07-26
打赏
举报
回复
遥控器的代码都是靠测量波形之间的时间长短来得到的,这就需要保证实时性,也就是必须要有中断,但已经没有中断口的话,只能尝试和其他中断共用一个中断口了
从零开始:用51单片机DIY一个万能红外
遥控器
本文详细介绍了基于51单片机构建万能红外
遥控器
的全流程,涵盖红外通信原理(
NEC
/RC5/SIRC协议)、硬件电路设计(
接收
头VS1838B、发射管驱动)、信号捕获与精准解码(外部
中断
+定时测量)、38kHz载波调制发射
实现
,以及系统优化(低功耗睡眠、EEPROM存储)和功能扩展(多协议适配、学习模式、OLED交互)。核心技术聚焦于嵌入式红外编解码与时序控制。
【51单片机实战】PWM调速、AD/DA转换与红外遥控的综合应用设计
本文详细阐述基于51单片机的三大核心功能
实现
:利用定时器
中断
生成10–20kHz PWM驱动直流电机;外接XPT2046(SPI接口12位ADC)与DAC0832完成高精度模数/数模转换,并强调参考电压滤波与电源噪声抑制;采用HS0038
接收
头配合外部
中断
+定时器解码
NEC
红外协议,提升抗干扰能力;最终通过分层软件架构与状态机设计,整合三者构建可遥控调速、光感自适应的智能小车系统。
基于51单片机的红外遥控综合实验套件:LED流水灯/OLED状态显示/蜂鸣器音乐/直流电机正反转控制
一套开箱即用的51单片机红外遥控实践方案,兼容主流
NEC
协议
遥控器
,按键可切换并协同控制四大功能模块。8颗LED组成流水灯,支持启停、方向切换和6级调速;0.96英寸OLED实时刷新当前工作模式、
接收
到的红外键值及系统运行状态;内置多段简谱旋律与提示音,蜂鸣器响应按键或状态变化;直流电机通过L298N驱动芯片
实现
正转、反转、停止三态控制,电路已预留标准接口。全部代码采用标准C语言编写,主控逻辑集中于HYliushuideng.c文件,结构清晰、注释完整;配套README.md详细列出硬件接线图、Keil C
51单片机红外遥控风扇仿真套件:Keil5源码+Proteus8.9双机收发演示+PWM调速与定时功能
一套开箱即用的51单片机红外遥控风扇学习资源,包含完整可运行的Keil5工程(分红外发射与
接收
两部分)、Proteus8.9仿真文件(.pdsprj格式),支持三档风速调节(低/中/高)、三种工作模式(自然风/睡眠风/正常风)以及1–8小时定时关机。硬件逻辑基于L298N驱动直流电机,仿真中接入示波器实时观测ENA引脚PWM波形,直观体现占空比变化对电机转速的影响。系统采用双51架构:一个单片机模拟红外
遥控器
发送
NEC
编码信号,另一个作为主控
接收
并解析指令,执行对应动作。所有代码使用标准C编写,模块清晰,涵
c语言检测按钮长按自动加数,求助!这个红外遥控解码程序,如何添加当按键持续长按时,数值按一定的频率递增或递减...
这段代码展示了如何使用C语言编写红外
遥控器
的解码程序,包括短按、长按和连发功能。程序可以检测到单按键的长按,并在长按期间使数值按照一定频率递增或递减。红外解码部分详细解释了信号的识别和处理过程。
单片机/工控
27,521
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章