红外发射(NEC)资料

概念和NEC协议:

基本概念:

GPIO:General Purpose Input Output (通用输入/输出)
NEC:一种红外遥控器传输协议,由NEC开发.
从网上找到的概念图,很形象,借用一下。

红外遥控通常是由发送端和接收端两个部分组成。发送端将要发送的二进制信号编码成一系列的脉冲信号,然后通过红外发射管发射红外信号。
接收端完成对红外信号的接收,放大,整形,并解调出遥控编码脉冲。

这里写图片描述

NEC协议:

从上面图中可以看到 首先发送端是需要发送二进制信号编码,二进制信号编码由 Customer Code (客户码) 和 Data Code (数位码) 两部分构成。

一般都采用载波提高红外信频率,提高发射效率,载波频率为38KHZ:
用38KHZ的高频信号去调制然后通过红外二极管发射出去,那么就是在信号高电平期间加载波,
38K调制波形:
这里写图片描述

### NEC协议红外发射实现方式 NEC协议是一种广泛应用的红外通信协议,其主要特点是低成本、高可靠性和简单易用。以下是关于NEC协议红外发射的具体实现方法及相关细节。 #### 1. 发射数据结构 NEC协议的数据帧由多个部分组成,具体包括引导码(Leader Code)、用户地址(User Address)、命令字节(Command Byte)以及它们各自的反码[^3]。 - **引导码**:持续时间为9ms的逻辑高电平,紧接着4.5ms的低电平。 - **位时间**:每一位的时间长度固定为1.125ms,其中0表示0.56ms的高电平加0.56ms的低电平,1表示0.56ms的高电平加1.68ms的低电平。 - **结束标志**:发送完成后会有一个至少56μs的低电平作为间隔。 #### 2. 软件实现流程 在软件层面,可以通过定时器中断或者延时函数精确控制每一段信号的高低电平切换。以下是一个典型的实现过程: - 初始化硬件资源,配置GPIO引脚用于输出PWM信号。 - 设置载波频率为38kHz,这是大多数红外接收模块的标准工作频率。 - 构造完整的数据帧并逐位发送到红外LED上。 ```c #include <reg52.h> #define IR_PIN P1_0 // 定义红外发射管连接的IO口 void delay_us(unsigned int us); // 微秒级延迟函数声明 void send_bit(unsigned char bit); // 发送单个比特的子程序 // 主函数入口 void main() { unsigned char address = 0xFF; // 用户地址 unsigned char command = 0x01; // 命令字节 while (1) { // 进入无限循环等待触发事件 send_nec_frame(address, command); delay_ms(100); // 防止连续快速重发 } } // 发送整个NEC帧 void send_nec_frame(unsigned char addr, unsigned char cmd) { // 引导码 IR_PIN = 1; delay_us(9000); // 9ms HIGH IR_PIN = 0; delay_us(4500); // 4.5ms LOW // 地址字节及其反码 for(int i=7;i>=0;i--) // MSB first send_bit((addr >> i) & 1); for(int i=7;i>=0;i--) send_bit(((~addr)>>i)&1); // 命令字节及其反码 for(int i=7;i>=0;i--) send_bit((cmd>>i)&1); for(int i=7;i>=0;i--) send_bit(((~cmd)>>i)&1); IR_PIN = 0; // 结束标志 delay_us(56); // 至少保持56us以上LOW状态 } // 发送单个比特 void send_bit(unsigned char bit){ IR_PIN = 1; delay_us(560); // 0.56ms HIGH IR_PIN = 0; if(bit==0){ // '0'对应0.56ms LOW delay_us(560); }else{ // '1'对应1.68ms LOW delay_us(1680); } } ``` 上述代码展示了如何利用51单片机完成一次基本的NEC协议红外信号发射操作。需要注意的是,在实际开发过程中可能还需要考虑外部干扰因素的影响,比如环境光噪声等。 #### 3. 硬件设计要点 为了确保红外信号能够被正确接收和解析,需注意以下几个方面: - 使用专用的红外发射二极管,并串联限流电阻保护电路安全; - 如果距离较远,则可适当增加功率放大电路提升有效范围; - 对于嵌入式系统而言,建议选用具有捕获功能的计数器/定时器单元配合外部晶振源提供稳定基准时钟给调制后的方波形载波使用[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值