51单片机——红外遥控(一)

目录

[1. 概述](#1. 概述)

[2. 红外遥控器](#2. 红外遥控器)

[2.1 红外线介绍](#2.1 红外线介绍)

[2.2 红外遥控原理](#2.2 红外遥控原理)

[2.2.1 红外发射装置](#2.2.1 红外发射装置)

[2.2.2 NEC 码](#2.2.2 NEC 码)

[2.2.3 红外接收设备](#2.2.3 红外接收设备)

[3. 一句话精简](#3. 一句话精简)

1. 概述

前面介绍的 SPI、IIC 等通信均为有线,现在要学习一种无线通信技术------红外遥控通信

理解:

① SPI、IIC(I2C) 是典型的短距离、板级或设备间有线通信协议。

物理连接:必须通过具体的导线(时钟线、数据线等)连接主设备和从设备。

应用场景:常用于单片机与传感器、存储器、屏幕等外围芯片之间的通信。例如,通过IIC读取温湿度传感器的数据,通过SPI驱动一个OLED显示屏。

特点:通信稳定、速度快、协议简单,但受物理线缆限制。

红外遥控通信 是一种短距离、点对点无线通信技术。

物理连接:无需导线,利用红外光(一种不可见光)作为载体在空气中传输信号。

应用场景:最经典的应用就是电视机、空调的遥控器。也用于一些简单的玩具、设备控制。

特点 :摆脱了线缆束缚,但通常需要"对准"(方向性要求)、不能有遮挡(下面会提到)、通信距离短(几米到十米左右)、数据量小。

有线通信(SPI/IIC)追求稳定、高速的内部交互;

红外作为一种简单的无线通信,则解决了最基本的、低成本的、非接触式控制需求。

2. 红外遥控器
2.1 红外线介绍

人眼能看见的可见光按波长从长到短排列: (0.62-0.76um)、橙、黄、绿、青、蓝、紫(0.38-0.46um)

比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线

红外线就是利用波长为 0.76-1.5um 之间的红外线来传递控制信号的

(我们的眼睛------这台生物"相机"------是一台专门为特定波长范围设计的探测器。红光刚刚好在这个探测范围的最边缘,而波长更长的红外线则超出了这个范围。)

2.2 红外遥控原理

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用

红外遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计同类产品的红外遥控器时,可以有相同的遥控频率编码

由于红外线是不可见光,因此对环境影响很小

由于红外光波长远小于无线电波的波长,所以不会影响临近的无线电设备

由于不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以红外遥控不会影响其他家用电器

2.2.1 红外发射装置

即红外遥控器

红外遥控器由键盘电路、红外编码电路、电源电路、红外发射电路组成

红外发射电路的主要元件是红外发光二极管(特殊的发光二极管,其内部材料不同于普通发光二极管,因此在其两端施加一定电压时,它发出的是红外线而不是可见光)

红外遥控器与红外发光二极管如下图所示:

红外遥控为了提高抗干扰性能与降低电源消耗,红外遥控器常用载波的方式传送二进制编码

常用载波频率为 38 KHZ(由发射端晶振的振荡频率决定)

红外遥控器一般将遥控信号(二进制脉冲码)调制为 38 khz 的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去

传递控制指令的全过程:用 "信息打包→选运输工具→装货→加固包装→发货" 的逻辑通俗解释:

① 核心信息 ------ 二进制脉冲码(要传的 "快递")

当你按遥控器的按键(如"开机"),遥控器内部的芯片会把这个按键对应的 "指令" 转换成一串二进制数字(0 和 1),这就是 "二进制脉冲码"。

比如 "开机" 可能对应 "10110010";

这串数字是遥控器要传递的核心有效信息,但它本身是 "低速、低频" 的电信号,直接发射的话:传输距离极近(可能只有几厘米);极易被环境干扰(比如阳光、灯光里的红外杂波会淹没这个信号)

② 运输载体 ------38kHz 载波(专门的 "快递车")

"38kHz 载波" 是遥控器为了传递上述二进制码,专门选的 "运输工具":

"载波" 本质是高频(38 千赫兹,即每秒振动 38000 次)的电脉冲信号,对应到红外光上,就是以 38kHz 频率闪烁的红外光;

38kHz是行业通用标准:

抗干扰:环境中的红外杂波(比如阳光)是 "杂乱无章的低频 / 非 38kHz 频率",电视的红外接收头只认 38kHz,能精准过滤杂波

传输远:高频信号的红外光方向性更强,能传几米到十几米(符合遥控器的使用需求)

③ 调制 ------ 把信息 "装到快递车上"(核心操作)

"将遥控信号调制 为 38kHz 的载波上",就是把二进制脉冲码(快递)"加载" 到 38kHz 载波(快递车)上的过程,行业里最常用的是调幅(ASK)方式(简单理解为 "载波的有无对应二进制的 1/0"):

当二进制码是 "1" 时:让 38kHz 载波工作(红外光以 38kHz 闪烁);

当二进制码是 "0" 时:让 38kHz 载波停止(红外光熄灭);

最终形成的信号: "38kHz 载波的'有 / 无'规律",刚好对应二进制码的 "1/0 规律"(比如 "101" 就对应 "载波开→载波关→载波开")。

④ 缓冲放大 ------ 加固信号(给快递车 "加油、加固")

"经缓冲放大后送至红外发光二极管",是对调制后的信号做 "强化处理":

"缓冲":稳定信号波形,避免调制后的信号失真(比如防止 "载波开 / 关" 的边界模糊);

"放大":调制后的信号功率很小,直接驱动红外发光二极管的话,红外光会非常弱(传不远),放大就是提升信号的电功率,让它有足够能量驱动红外灯。

⑤ 红外发射 ------ 电信号变红外光(发货)

"转化为红外信号发射出去" 是最后一步:

红外发光二极管(IR LED)是一种特殊的 LED 灯,通上电就会发出人眼看不见的红外光(波长约 940nm)

经过缓冲放大的 "调制信号"(载波 + 二进制码)输入到红外 LED 后,LED 就会按照 "载波有无" 的规律发射红外光 ------ 这束红外光就是最终传递给电视 / 空调的 "指令信号"。

也就是说,

红外遥控器上按键对应的"指令"(二进制编码),须调制为 38 khz 的载波上,形成"载波有无"的信号,将该信号缓冲放大后法发射至红外 LED,最终转化为红外信号发射出去

② 红外遥控器不是直接发射按键对应的二进制指令,而是把指令 "贴" 到 38kHz 的高频红外载波上(调制),增强信号功率后,通过红外灯把电信号变成红外光发射出去 ------ 核心是靠 38kHz 载波解决 "传输远、抗干扰" 的问题。

2.2.2 NEC 码

若开发红外接收设备,一定要知道红外控制器的编码方式载波频率(相当于 "开锁必须先知道锁芯类型和钥匙齿形",缺一不可),我们才可以选取一体化红外接收头和制定编码方案

① 载波频率:决定 "选对接收头"(硬件匹配)

红外接收头是 "带解调功能的专用器件",只对特定频率的载波敏感(比如 38kHz、40kHz、56kHz):

✅ 若遥控器用 38kHz 载波,必须选 38kHz 的一体化接收头(比如 VS1838B);

② 编码方式:决定 "制定解码方案"(软件匹配)

编码方式是 "0/1 的识别规则",不同编码的解码逻辑完全不同:

✅ 若知道是 NEC 的 PWM:解码时要 "计时电平时长"------ 检测到低电平 560us 后,看后续高电平是 1680us(判 1)还是 560us(判 0);

✅ 若知道是 Philips 的 PPM:解码时要 "定位脉冲位置 / 计算脉冲间隔"------ 在固定帧内看脉冲出现在前 / 后段,或测脉冲间的间隔时长;

二进制脉冲码的形式有多种,最常用的是 NEC Protocol 的 PWM 码 (脉冲宽度调制)和 Philips 的PPM 码(脉冲位置调制码,脉冲串之间的时间间隔来实现信号调制)

(关键差异:

PWM:帧长(总时长)不固定(1.125ms/2.25ms),靠 "时长" 区分 0/1;

PPM:帧长固定,靠 "脉冲在帧内的位置 / 脉冲间的间隔" 区分 0/1。)

配套(普中A2)的红外遥控器使用的是 NEC 协议:

① 8位地址和8位指令传输

② 地址和命令 2 次传输

③ PWM 脉冲位置调制,以发射红外载波的占空比代表 "0" 和 "1"

④ 载波频率慰 38 Khz

⑤ 位时间为 1.125ms / 2.25ms

NEC 码的位定义:一个脉冲对应 560us 的连续载波

一个逻辑 1 传输需要 2.25ms(560us 脉冲+1680us 低电平),一个逻辑 0 传输需要 1.125ms(560us 脉冲+560us 低电平)

NEC 码规定:发射端先发射 560us 的 38kHz 载波(脉冲),再靠 "后续无载波的低电平时长" 区分 1/0(1 长、0 短);而接收头因检测特性,把 "有载波" 转为低电平、"无载波" 转为高电平,最终接收端看到的 1 是 "短低 + 长高",0 是 "短低 + 短高"。

① 发射端(遥控器)在 560us 时间内持续发射 38kHz 的红外载波(红外灯以 38kHz 闪烁;而 "低电平" 则是发射端停止发射载波(红外灯熄灭)

② 红外接收头是 "被动解调" 的 ------ 检测到 38kHz 载波(发射端的脉冲)时,输出低电平 ;没检测到载波(发射端的低电平)时,输出高电平。这是发射端→接收端的核心反转逻辑(电平反转规则)

NEC 遥控指令的数据格式:引导码、地址码、地址反码、控制码、控制反码。

引导码由一个 9ms 的低电平 和一个 4.5ms 的高电平组成,地址码、地址反码、控制码、控制反码均是8 位数据格式,按照低位在前,高位在后的顺序发送,采用反码是为了增加传输的可靠性(可用于校验)

NFC 码还规定了连发码(9ms + 2.5ms 高电平 + 0.56ms 低电平 + 97.94ms 高电平),如果一帧数据发送完毕之后,红外遥控器按键仍然没有放开,则发射连发码,统计连发码的次数来标记按键按下的长短或次数

2.2.3 红外接收设备

由红外接收电路、红外解码、电源、应用电路组成

红外遥控接收器的主要作用是将遥控发射器发来的**红外光信号转换成电信,**再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。

现多使用成品红外接收头,大致有两种封装方式:铁皮屏蔽、塑料封装。均有三支引脚,即电源正(VDD)、电源负(GND)、数据输出(VOUT),外观实物图如下:

正对接收头的突起处看,从左至右,管脚依次是:VOUT、GND、VDD

由于红外接收头在没有脉冲的时候为高电平,当收到脉冲的时候为低电平,所以可通过外部中断的下降沿触发中断,在中断内通过计算高电平时间来判断接收到的数据是 0 还是 1

3. 一句话精简

红外作为一种简单的无线通信,解决了最基本的、低成本的、非接触式控制需求

红外遥控器上按键对应的"指令"(二进制编码),须调制为 38 khz 的载波上,形成"载波有无"的信号,将该信号缓冲放大后法发射至红外 LED,最终转化为红外信号发射出去

若开发红外接收设备,一定要知道红外控制器的编码方式( 0/1 的识别规则"载波频率(决定 "选对接收头")(相当于 "开锁必须先知道锁芯类型和钥匙齿形",缺一不可)

④ 红外遥控接收器的主要作用是将遥控发射器发来的**红外光信号转换成电信,**再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。

⑤ 二进制脉冲码的形式有多种,最常用的是 NEC Protocol 的 PWM 码 (脉冲宽度调制)和 Philips 的PPM 码(脉冲位置调制码,脉冲串之间的时间间隔来实现信号调制)

(关键差异:

PWM:帧长(总时长)不固定(1.125ms/2.25ms),靠 "时长" 区分 0/1;

PPM:帧长固定,靠 "脉冲在帧内的位置 / 脉冲间的间隔" 区分 0/1。)

相关推荐
影阴2 小时前
物联网通信之CAN通讯
单片机·物联网
范纹杉想快点毕业2 小时前
FPGA实现同步RS422转UART方案
数据库·单片机·嵌入式硬件·fpga开发·架构
CS Beginner2 小时前
【单片机】如何理解GPIO的配置寄存器?
单片机·嵌入式硬件
平凡灵感码头3 小时前
第一次做蓝牙产品,从零开发(5)蓝牙音频项目中功放芯片
单片机·嵌入式硬件·音视频
离凌寒6 小时前
一、在freertos上使用esp01s模块并配置使用sta模式进行数据通信传输测试。
单片机·freertos·esp01s
星期天211 小时前
1.1江科大之LED闪烁&LED流水灯&蜂鸣器
stm32·单片机·嵌入式硬件
梓德原11 小时前
【经验】MSP430编译器使用经验-IAR编辑框分框
单片机·嵌入式硬件·物联网
电子工程师-C5111 小时前
基于51单片机的自动乒乓球发球机
单片机·嵌入式硬件·51单片机
玩转单片机与嵌入式12 小时前
在STM32F103单片机上跑通AI模型:为什么选正弦波作为Hello World?
人工智能·stm32·单片机