红外通信原理红外遥控有发送和接收两个组成部分。发送端采纳单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号.红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采纳的是价格便宜性能可靠的一体化红外接收头(HS0038,它接收红外信号频率为 38kHz,周期约 26μ s) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象.具体实现过程如下:(在这里特别强调:编码与解码是一对逆过程,不仅在原理上是一对逆过程,在码的发收过程也是互反的,即以前发射端原始信号是高电平,那接收头输出的就是低电平,反之亦然。因此为了保证解码过程简单方便,在编码时应该直接换算成其反码。)1.红外发射部分:下图为红外发射部分的电路拟图:编码过程:(1) 二进制信号的调制二进制信号的调制由单片机来完成,它把编码后的二进制信号调制成频率为 38kHz 的间断脉冲串(用定时器来完成),相当于用二进制信号的编码乘以频率为 38kHz 的脉冲信号得到的间断脉冲串,即是调制后用于红外发射二极管发送的信号.(2)PPM 编码这种遥控编码具有以下特征:遥控编码脉冲由前导码、16 位地址码(8 位地址码、8 位地址码的反码)和 16 位操作码(8 位操作码、8 位操作码的反码)组成。前导码:是一个遥控码的起始部分,由一个 9ms 的高电平 ( 起始码) 和一个 4。 5ms 的低电平 ( 结果码)组成,作为接受数据的准备脉冲。16 位地址码:能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。16 位操作码:用来执行不同的操作。采纳脉宽调制的串行码,以脉宽为 0。56ms、间隔 0。56ms、周期为1。12ms 的组合表示二进制的“0”;以脉宽为 1。68ms、间隔0.56ms、周期为 2。24ms 的组合表示二进制的“1"。 (3)发送程序#include 〈AT89X51。h〉 static bit OP; //红外发射管的亮灭控制位 static unsigned int count; //延时计数器 static unsigned int endcount; //终止延时计数 static unsigned char flag; //红外发送标志 sbit P3_4=P3^4;char iraddr1; //十六位地址的第一个字节char iraddr2; //十六位地址的第二个字节 void SendIRdata(char p_irdata);//发送子函数 void delay();void main(void) { count = 0; flag = 0;//无载波 OP = 0...