遥控器
硬件:msp430g2553、oled显示器、ds18b20温度传感器、红外发射器、按键
软件功能:
(1)显示室内温度
(2)显示当前模式:常态、除湿、通风
(3)显示当前风速:慢速、中速、高速
(4)按键修改当前模式
(5)按键修改当前风速
(6)显示设置的温度
(7)按键修改设置温度
红外NEC协议(NEC IR Protocol)是一种广泛应用于消费电子产品中的红外遥控通信协议,由日本NEC公司开发。该协议被用于电视机、空调、音响设备等的遥控控制。下面详细介绍NEC协议的各个方面:
NEC协议采用PWM(脉宽调制)方式传输数据,使用38kHz的载波频率。通信数据通过调制后的红外信号进行传输,接收端解调后得到原始数据。
NEC协议的数据帧结构包括引导码、用户码、命令码和停止位。每帧数据通常有32位,具体结构如下:
引导码(Leader Code):
高电平:9ms
低电平:4.5ms
用户码(User Code):
命令码(Command Code):
停止位(Stop Bit):
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低电平
当按住遥控器按钮不放时,会发送重复码来表示保持当前命令:
高电平:9ms
低电平:2.25ms
高电平:560µs
发送端通常通过微控制器生成上述波形并通过红外发射二极管发出信号。常见步骤如下:
初始化定时器生成38kHz载波。
根据需要生成高低电平的持续时间。
控制红外二极管发射高电平和低电平信号。
接收端通过红外接收器(例如TSOP1738)接收并解调信号,提取出原始数据。常见步骤如下:
接收调制信号并去除38kHz载波。
检测高低电平的持续时间。
解码为数据位。
NEC协议广泛应用于各种家用电器的遥控系统。常见设备包括:
电视机
音响系统
DVD播放器
空调
NEC协议因其简单易用且可靠性高而被广泛应用于消费电子产品的红外遥控系统。了解其工作原理和数据帧结构,有助于开发和调试相关的遥控应用。
演示:
cpp链接:https://pan.baidu.com/s/1DhZiAKZoyJv9lg62aRBlkw?pwd=o1cx
提取码:o1cx
cpphttps://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?u=bdf8eeb84961492ba2b62f7bfee641ea&tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!