完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
红外遥控是一种无线非接触式遥控,具有抗干扰能力强、功耗低、成本低等优点,常用于家用电器遥控。红外遥控原理是以红外光为载体进行发送和接收数据,发送端通过红外发射二极管发出经过调制的红外光,接收端通过红外接收二极管接收红外光,然后解调获得数据。
在应用中各种系统的红外遥控原理基本相似,只是区别在于红外编码,红外遥控常用的红外编码协议有NEC、Philips RC5,当然也可以使用自定义红外编码,本次例程中使用的红外编码为NEC编码。 NEC协议介绍 起始码传输 每一帧数据传输前都需要先传输起始位,起始位格式为9ms低电平+4.5ms高电平,如果按键持续按下,将不会传输数据帧,而是传输重复帧,重复帧的格式为9ms低电平+2.25ms高电平。 位传输 0传输:周期为1.12ms,低电平时间为560us,高电平时间为560us; 1传输:周期为2.25ms,低电平时间为560us,高电平时间为1690us。 帧格式 其一数据格式为,起始码+地址+地址反码+命令+命令反码四个字节,其中地址反码和命令反码用于校验数据是否正确。如果按键持续按下,将间隔110ms传输重复帧。 图51. NEC数据帧格式 例程中使用定时器的输入捕获功能测量电平宽度,从而解析出数据。 资源准备 硬件环境: 对应产品型号的AT-SURF-F437 Board 软件环境: AT32F435_437_Firmware_Library_V2.x.xprojectat_sufr_f437examplesinfrared_receiver 硬件设计 本案例使用的硬件资源有TFT LCD液晶显示屏、IRM-56384红外接收头,对应的引脚如下: 对应的电路原理如下: 软件设计 1) 红外接收测试 初始化TFT LCD 初始化TMR用于捕获信号 将信息显示在LCD屏上 2) 代码介绍 main函数代码描述 int main(void) { uint8_t key_value; /* 初始化系统时钟 */ system_clock_config(); /* 初始化中断优先级分组 */ nvic_priority_group_config(NVIC_PRIORITY_GROUP_4); /* 初始化延时函数 */ delay_init(); /* 初始化LCD */ lcd_init(LCD_DISPLAY_VERtiCAL); /* 初始化红外接口 */ infrared_receiver_init(); /* 显示信息 */ lcd_string_show(10, 20, 200, 24, 24, (uint8_t *)"Infrared receiver Test"); while(1) { /* 红外按键获取 */ if(infrared_receiver_key_get(&key_value) == SUCCESS) { /* 显示按键地址和命令 */ lcd_string_show(10, 90, 310, 24, 24, (uint8_t *)"key address: "); lcd_num_show(178, 90, 310, 24, 24, (uint8_t)(key_value >> 8), 3); lcd_string_show(10, 120, 310, 24, 24, (uint8_t *)"key cmd: "); lcd_num_show(178, 120, 310, 24, 24, (uint8_t)(key_value & 0xFF), 3); } } void infrared_receiver_init(void)函数代码描述 /** * @Brief infrared receiver init. * @param none. * @retval none. */ void infrared_receiver_init(void) error_status infrared_receiver_key_get(uint16_t *val)函数代码描述 /** * @brief get infrared key. * @param the pointer of key value. * @retval error_status. */ error_status infrared_ receiver_key_get(uint16_t *val) 下载验证 初始化TMR用于接收数据 使用遥控器对着红外接收头按按键 收到有效数据后,将信息显示在LCD屏上
|
|
相关推荐
1 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
140 浏览 0 评论
483 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
815 浏览 0 评论
1346 浏览 2 评论
804 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16907 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 20:47 , Processed in 0.739084 second(s), Total 52, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
8356