NEC红外遥控解码

该博客介绍了如何使用AVR Atmel16单片机进行NEC红外遥控信号的解码,内容包括如何处理事件,获取键值,并通过串口将这些信息发送出去。同时,文章强调了在配置熔丝位和设置时钟时的注意事项。
摘要由CSDN通过智能技术生成

单片机AVR  atmel16,将事件和键值通过串口发送出去注意熔丝位配置时钟。


#include <iom16v.h>
#include <macros.h>

#define KEY_CUSTOM_CODE    0x22f5 /* 遥控器用户识别码 */
#define KEY_PRESS_EVENT    0x1    /* PRESS按键事件 */
#define KEY_REPEAT_EVENT   0x2    /* REPEAT按键事件 */
#define KEY_RELEASE_EVENT  0x3    /* RELEASE按键事件 */

/* 主频8MHz,采用64分频 */
#define LEADER_CODE_REPEAT_MIN  (10000 / 8)  /* 9+2.5 = 11.5ms */
#define LEADER_CODE_REPEAT_MAX  (12500 / 8)  /* 9+2.5 = 11.5ms */
#define LEADER_CODE_MIN         (12500 / 8)  /* 9+4.5 = 13.5ms */
#define LEADER_CODE_MAX    		(14500 / 8)  /* 9+4.5 = 13.5ms */
#define DATA_CODE_0_MIN    		(900 / 8)    /* 1.12ms */
#define DATA_CODE_0_MAX    		(1300 / 8)   /* 1.12ms */
#define DATA_CODE_1_MIN    		(2000 / 8)   /* 2.24ms */
#define DATA_CODE_1_MAX    		(2300 / 8)   /* 2.24ms */
#define KEY_REPEAT_MIN		 	(96000 / 8)  /* 108-(9+2.5) = 96.5ms */
#define KEY_REPEAT_MAX		 	(97000 / 8)  /* 108-(9+2.5) = 96.5ms */
#define KEY_COMPLETED_TIME   	(108500 / 8) /* 108ms */

#define LEVEL_HIGH              1
#define LEVEL_LOW               0
#define LEADER_CODE_REPEAT      1
#define LEADER_CODE_PRESS       2
#define ERROR                   (-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值