文章目录
- 题目
- 红外NEC协议介绍
- 基本概述
- 数据帧结构
- 位表示
- 数据传输示例
- 重复码(Repeat Code)
- 实现细节
- 发送端
- 接收端
- 典型应用
- 结论
- 最终效果
- 代码
题目
遥控器
硬件:msp430g2553、oled显示器、ds18b20温度传感器、红外发射器、按键
软件功能:
(1)显示室内温度
(2)显示当前模式:常态、除湿、通风
(3)显示当前风速:慢速、中速、高速
(4)按键修改当前模式
(5)按键修改当前风速
(6)显示设置的温度
(7)按键修改设置温度
红外NEC协议介绍
红外NEC协议(NEC IR Protocol)是一种广泛应用于消费电子产品中的红外遥控通信协议,由日本NEC公司开发。该协议被用于电视机、空调、音响设备等的遥控控制。下面详细介绍NEC协议的各个方面:
基本概述
NEC协议采用PWM(脉宽调制)方式传输数据,使用38kHz的载波频率。通信数据通过调制后的红外信号进行传输,接收端解调后得到原始数据。
数据帧结构
NEC协议的数据帧结构包括引导码、用户码、命令码和停止位。每帧数据通常有32位,具体结构如下:
-
引导码(Leader Code):
- 高电平:9ms
- 低电平:4.5ms
-
用户码(User Code):
- 16位,由8位地址码和8位地址码的反码组成
-
命令码(Command Code):
- 16位,由8位命令码和8位命令码的反码组成
-
停止位(Stop Bit):
- 低电平:560µs(或更长)
位表示
NEC协议中,通过高低电平的持续时间来表示数据位的0和1:
-
逻辑0(Logical ‘0’):
- 高电平:560µs
- 低电平:560µs
-
逻辑1(Logical ‘1’):
- 高电平:560µs
- 低电平:1.69ms
数据传输示例
假设我们要传输一个数据帧,内容为:
- 地址码:0x10(00010000)
- 命令码:0xA2(10100010)
整个数据帧的序列为:
引导码 -> 地址码 -> 地址码反码 -> 命令码 -> 命令码反码 -> 停止位
具体的波形图如下:
引导码: 9ms高电平 -> 4.5ms低电平
地址码0x10: 00010000 -> (560µs高电平 -> 560µs低电平) * 5 -> (560µs高电平 -> 1.69ms低电平) * 3
地址码反码0xEF: 11101111 -> (560µs高电平 -> 1.69ms低电平) * 5 -> (560µs高电平 -> 560µs低电平) * 3
命令码0xA2: 10100010 -> (560µs高电平 -> 1.69ms低电平) * 2 -> (560µs高电平 -> 560µs低电平) * 4 -> (560µs高电平 -> 1.69ms低电平) * 2
命令码反码0x5D: 01011101 -> (560µs高电平 -> 560µs低电平) * 3 -> (560µs高电平 -> 1.69ms低电平) * 2 -> (560µs高电平 -> 560µs低电平) -> (560µs高电平 -> 1.69ms低电平) -> (560µs高电平 -> 560µs低电平)
停止位: 560µs低电平
重复码(Repeat Code)
当按住遥控器按钮不放时,会发送重复码来表示保持当前命令:
- 高电平:9ms
- 低电平:2.25ms
- 高电平:560µs
实现细节
发送端
发送端通常通过微控制器生成上述波形并通过红外发射二极管发出信号。常见步骤如下:
- 初始化定时器生成38kHz载波。
- 根据需要生成高低电平的持续时间。
- 控制红外二极管发射高电平和低电平信号。
接收端
接收端通过红外接收器(例如TSOP1738)接收并解调信号,提取出原始数据。常见步骤如下:
- 接收调制信号并去除38kHz载波。
- 检测高低电平的持续时间。
- 解码为数据位。
典型应用
NEC协议广泛应用于各种家用电器的遥控系统。常见设备包括:
- 电视机
- 音响系统
- DVD播放器
- 空调
结论
NEC协议因其简单易用且可靠性高而被广泛应用于消费电子产品的红外遥控系统。了解其工作原理和数据帧结构,有助于开发和调试相关的遥控应用。
最终效果
演示:
链接:https://pan.baidu.com/s/1DhZiAKZoyJv9lg62aRBlkw?pwd=o1cx
提取码:o1cx
代码
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?u=bdf8eeb84961492ba2b62f7bfee641ea&tab=BB08J2