资源描述:
《红外通信原理.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、红外数据传输2009-8-11红外数据传输一、红外通信原理红外遥控有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采用的是价格便宜性能可靠的一体化红外接收头(HS0038,它接收红外信号频率为38kHz,周期约26μs)接收红外信号,它同时对信号进行放大、检波、整形得到TTL电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。如图1所示:图1红外发送部分由51单片机、键盘、红外发光二极管和7段数码管组成。键盘用于输入指令
2、,51单片机检测键盘上按键的状态,并对红外信号进行调制,发光二极管产生红外线,数码管用来显示发送的键值。图2红外发射电路图2红外发射电路图3红外接收电路红外接收部分由51单片机、一体化红外接收头HS0038和7段数码管组成。51单片机检测HS0038,并对HS0038接收到的数据解码,通过数码管显示接收到的键值。图3红外接收电路二、编码、解码(1)二进制信号的调制1红外数据传输2009-8-11二进制信号的调制由单片机来完成,它把编码后的二进制信号调制成频率为38kHz的间断脉冲串,相当于用二进制信号的编码乘以频率为38kHz的脉冲信号得到的间断脉冲串,即是调制后用于红外发射二极管发送
3、的信号如图4二进制码的调制所示。图4二进制码的调制(2)红外接收需先进行解调,解调的过程是通过红外接收管进行接收的。其基本工作过程为:当接收到调制信号时,输出高电平,否则输出为低电平,是调制的逆过程(图5解调)。HS0038是一体化集成的红外接收器件,直接就可以输出解调后的高低电平信号;红外接收器HS0038的应用电路(图6)。图5二进制码的解调图6HS0038的应用电路(3)红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、16位地址码(8位地址码、8位地址码的反码)和16位操作码(8位操作码、8位操作码的反码)组成。通过对
4、用户码的检验,每个遥控器只能控制一个设备动作,这2红外数据传输2009-8-11样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的高电平(起始码)和一个4.5ms的低电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0.56ms、周期为1.12ms的组合表示二进制的“0”;以脉宽为1.68ms、周期为2.24ms的组合表示二进制的“1”。图9发送一组完整的编码脉冲(4)单片机采用外部中断INT0管脚和红外接收头的信号线相连,中断方式为边沿触发方式。计算中断的间隔时间,来区分
5、前导码、二进制的“1”、“0”码。并将8位操作码提取出来在数码管上显示。红外接收头输出的原始遥控数据信号,正好和发射端倒向.也就是以前发射端原始信号是高电平,那接收头输出的就是低电平,反之.三、程序(1)发送程序#includestaticbitOP;//红外发射管的亮灭staticunsignedintcount;//延时计数器staticunsignedintendcount;//终止延时计数staticunsignedinttemp;//按键staticunsignedcharflag;//红外发送标志staticunsignedcharnum;sbitir_i
6、n=P3^4;chariraddr1;//十六位地址的第一个字节chariraddr2;//十六位地址的第二个字节unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,3红外数据传输2009-8-110x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳数码管0~~fvoidSendIRdata(charp_irdata);voiddelay(unsignedint);voidkeyscan();/******************主函数******************
7、********/voidmain(void){num=0;P2=0x3f;count=0;flag=0;OP=0;ir_in=0;EA=1;//允许CPU中断TMOD=0x11;//设定时器0和1为16位模式1ET0=1;//定时器0中断允许TH0=0xFF;TL0=0xE6;//设定时值0为38K也就是每隔26us中断一次TR0=1;//开始计数iraddr1=3;//00000011iraddr2=252;//11111100do{key