基于51单片机控制红外通信.pdfVIP

  • 3
  • 0
  • 约8.55千字
  • 约 13页
  • 2020-08-23 发布于江苏
  • 举报
红外通信原理 红外遥控有发送和接收两个组成部分。 发送端采用单片机 将待发送的 二进制信号编码调制为一系列的脉冲串信号, 通过红外发射管发射红 外信号 。红外接收完成对红外信号的接收、放大、检波、整形,并解 调出遥控编码脉冲 。为了减少干扰, 采用的是价格便宜性能可靠的 一体化红外接收头 (HS0038, 它接收红外信号频率为 38kHz,周期约 26 μ s) 接收红外信号,它同时对信号进行放大、 检波、整形得到 TTL 电平的编码信号, 再送给单片机, 经单片机解码并执行去控制相关对 象。具体实现过程如下: (在这里特别强调:编码与解码是一对逆过程, 不仅在原理上是一对 逆过程,在码的发收过程也是互反的, 即以前发射端原始信号是高电 平 ,那接收头输出的就是低电平,反之亦然。因此为了保证解码过程 简单方便,在编码时应该直接换算成其反码。 ) 1.红外发射部分: 下图为红外发射部分的电路拟图: 编码过程: (1) 二进制信号的调制 二进制信号的调制由单片机来完成, 它把编码后的二进制信号调制成 频率为 38kHz 的间断脉冲串 (用定时器来完成 ),相当于用二进制信号 的编码乘以频率为 38kHz 的脉冲信号得到的间断脉冲串, 即是调制后 用于红外发射二极管发送的信号。 (2)PPM编码 这种遥控编码具有以下特征: 1 ○遥控编码脉冲由 前导码 、16 位地址码 (8 位地址码、 8 位地址码 的反码)和 16 位操作码 (8 位操作码、 8 位操作码的反码)组成。 前导码 :是一个遥控码的起始部分, 由一个 9ms 的高电平 ( 起始码 ) 和一个 4. 5ms 的低电平 ( 结果码 )组成,作为接受数据的准备脉冲。 16 位地址码 :能区别不同的红外遥控设备,防止不同机种遥控码互 相干扰。 16 位操作码 :用来执行不同的操作。 2 ○采用脉宽调制的串行码,以脉宽为 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; // 不亮 P3_4 = 0; // 在后面会发现用 OP赋值的 EA = 1; // 允许 CPU

文档评论(0)

1亿VIP精品文档

相关文档