文档库 最新最全的文档下载
当前位置:文档库 › STC-15f104e程序-红外线程序

STC-15f104e程序-红外线程序

STC-15f104e程序-红外线程序
STC-15f104e程序-红外线程序

STC-15F104E

红外线解码程序+仿真文件(可定义任意I/O作接收脚,支持长/短按,自适应主...

红外线NEC解码程序+仿真文件(可定义任意I/O作接收脚,支持长/短按,自适应主频6MHz~40MHz)

//*********************【NEC解码头文件】*******************

//

// 简介:本程序适用于NCE解码:(9ms+4.5ms)引导码+32位编码。

// 兼容STC所有型号(包括1T 和12T 系列),可以定义任意I/O作红外接收脚,

// 自适应解码主频:6MHz ~ 40MHz。

//

// 使用条件:占用系统定时器0,开启定时器0中断(如使用其它定时器请自改IR_Init();初始化函数)

//

// 使用说明:填相关宏定义:USER_H、USER_L、Check_EN、CPU_Fosc、IR,

// 上电初始化函数IR_Init(),

// 在定时器0中断中调用IR_NEC()解码函数,

// 解码有效时,IR_BT=2即短按,IR_BT=3即长按,由用户清0,

// 解码存放:用户码高8位NEC[0],用户码低8位NEC[1],操作码NEC[2],操作码反码NEC[3]。

//

//【供用户调用的函数】

// IR_Init(); //接收初始化,开启定时器0中断400us

// IR_NEC(); //红外线解码(解NEC编码)

//

//***************************************************************/

#ifndef __IR_NEC_H__

#define __IR_NEC_H__

//【用户必填项:USER_H、USER_L、Check_EN、CPU_Fosc、IR】

#define USER_H 0x80 //用户码高8位

#define USER_L 0x7F //用户码低8位

#define Check_EN 0 //是否要校验16位用户码:不校验填0,校验则填1

#define CPU_Fosc 12000000L //输入主频,自适应解码(单位:Hz,范围:6MHz ~ 40MHz)#define CA_S 8 //长按时间设置,单位:108mS(即108mS整数倍,10倍以上为宜)

sbit IR = P3^6; //红外线接口(任意引脚)

#define Step 400 //红外采样步长:400us

#define TH_H ((65536-Step*(CPU_Fosc/300)/40000)/256) //定时器高8位基准赋值

#define TH_L ((65536-Step*(CPU_Fosc/300)/40000)%256) //定时器低8位基准赋值

uint8 IR_BT; //解码效果返回:0无效,1有效,2短按,3长按

uint8 NEC[4]; //解码存放:16位用户码、操作码正反码

uint8 cntCA; //长按计数

uint16 cntStep; //步数计

bit IRa,IRb; //接收脚电位状态保存

bit IRsync; //同步标志

uint8 BitN; //位码装载数

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

函数:红外线解码初始化

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/

void IR_Init()

{

TMOD &= 0xF0; //清定时器0

TMOD |= 0x01; //定时器0:16位定时器

TL0 = TH_L; //每步时间

TH0 = TH_H;

ET0 = 1;

EA = 1;

TR0 = 1;

}

/*┈┈┈┈┈┈┈┈┈┈基准┈┈┈┈┈┈┈┈┈┈┈*/

#define Boot_Limit ((9000+4500 +1000)/Step) //引导码周期上限

#define Boot_Lower ((9000+4500 -1000)/Step) //引导码周期下限

#define Bit1_Limit ((2250 +800)/Step) //“1”周期上限

#define Bit0_Limit ((1125 +400)/Step) //“0”周期上限

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

函数:红外线NEC周期采样解码法(定时中断,下降沿查询周期时间)

全局变量:IR_BT = 0无效

1有效,待继续判断长、短按(如不需要判断长、短按,则直接使用)

2短按

3长按

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/

void IR_NEC()

{

TL0 = TH_L; //重赋值

TH0 = TH_H;

IRb = IRa; //保存上次电位状态

IRa = IR; //保存当前电位状态

cntStep++; //步数累加

if(IR_BT==1)if(cntStep>300)IR_BT=2; //解码有效后,如果无长按,120ms(400us×300)后默认短按

if(IRb && !IRa) //是否下降沿(上次高,当前低)

{

if(cntStep > Boot_Limit) //超过同步时间?

{

if(IR_BT==1)if(++cntCA>CA_S)IR_BT=3; //解码有效后,继续按住遥控>CA_S即长按IRsync=0; //同步位清0

}

else if(cntStep > Boot_Lower){ IRsync=1; BitN=32; } //同步位置1,装载位码数32

else if(IRsync) //如果已同步

{

if(cntStep > Bit1_Limit)IRsync=0;

else

{

NEC[3] >>= 1;

if(cntStep > Bit0_Limit)NEC[3] |= 0x80; //“0”与“1”

if(--BitN == 0)

{

IRsync = 0; //同步位清0

#if (Check_EN == 1)

if((NEC[0]==USER_H)&&(NEC[1]==USER_L)&&(NEC[2]==~NEC[3])) //校验16位用户码、操作码正反码

{ IR_BT=1; cntCA=0; } //解码有效,接下来判断:短按?长按?

#else

if(NEC[2]==~NEC[3]){ IR_BT=1; cntCA=0; } //只校验操作码正反码

#endif

}

else if((BitN & 0x07)== 0) //NEC[3]每装满8位,移动保存一次(即BitN%8 == 0)

{ NEC[0]=NEC[1]; NEC[1]=NEC[2]; NEC[2]=NEC[3]; }

}

}

cntStep = 0; //步数计清0

}

}

//取消相关宏定义

#undef CPU_Fosc

#endif

主程序

#include "INC\STC89C52RC.H"

#include "INC\MY_SET.H"

#include "INC\IR_NEC.H" //调用NEC解码头文件

sfr SE = 0x80; //数码管段选P0:0x80 P1:0x90

sbit WX1 = P2^0; //数码管位显

sbit WX2 = P2^1;

sbit WX3 = P2^2;

sbit WX4 = P2^3;

sbit WX5 = P2^4;

sbit WX6 = P2^5;

sbit WX7 = P2^6;

sbit WX8 = P2^7;

uint8c tab[] =

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0X88,0X83,0XC6,0XA1,0X86,0X8 E,0xFF};

uint8 Xn,X1,X2,X3,X4,X5,X6;

void KZ0(); //短按处理

void KZ1(); //长按处理

/***************** 主函数********************/

void main(void)

{

IR_Init(); //红外线解码初始化

while(1)

{

//遥控检测

if((IR_BT==2)||(IR_BT==3))

{

if(IR_BT==2)KZ0(); //短按处理

else KZ1(); //长按处理

IR_BT =0; //清有效标志

X1 = NEC[0]/16; //更新显示

X2 = NEC[0]%16;

X3 = NEC[1]/16;

X4 = NEC[1]%16;

X5 = NEC[2]/16;

X6 = NEC[2]%16;

}

}

}

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数:遥控短按处理

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/ void KZ0()

{

switch(NEC[2])

{

case 0x12: P10 = !P10; break;

case 0x05: break;

case 0x1E: break;

case 0x55: break;

case 0x01: break;

case 0x1B: break;

case 0x03: break;

case 0x6B: break;

case 0x07: break;

case 0x08: break;

case 0x09: break;

case 0x68: break;

case 0x22: break;

case 0xE6: break;

case 0x33: break;

case 0xE2: break;

default:break;

}

}

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数:遥控长按处理

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/ void KZ1()

{

switch(NEC[2])

{

case 0x12: P14 = !P14; break;

case 0x05: break;

case 0x1E: break;

case 0x55: break;

case 0x01: break;

case 0x1B: break;

case 0x03: break;

case 0x6B: break;

case 0x07: break;

case 0x08: break;

case 0x09: break;

case 0x68: break;

case 0x22: break;

case 0xE6: break;

case 0x33: break;

case 0xE2: break;

default:break;

}

}

/*********************数码管扫描*************************/

void XS(void)

{

if(++Xn > 7)Xn=0;

switch(Xn)

{

case 0: WX8=1; NOP; //屏蔽上个位显

SE=tab[X1]; //送段码

WX1=0; //开位显

break;

case 1: WX1=1; NOP; SE=tab[X2]; WX2=0; break;

case 2: WX2=1; NOP; SE=tab[X3]; WX3=0; break;

case 3: WX3=1; NOP; SE=tab[X4]; WX4=0; break;

case 4: WX4=1; NOP; SE=tab[16]; WX5=0; break;

case 5: WX5=1; NOP; SE=tab[16]; WX6=0; break;

case 6: WX6=1; NOP; SE=tab[X5]; WX7=0; break;

case 7: WX7=1; NOP; SE=tab[X6]; WX8=0; break; default:break;

}

}

/********************** 定时器0中断函数************************/ void time0(void) interrupt 1

{

IR_NEC(); XS();

}

红外线使用方法(加上测试)

红外线使用方法 Copyright 2013keybob 在基于HOLTEK的多功能饮水机设计中,我们采用1838红外接收头1 #include int RECV_PIN = 11; IRrecvirrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } } 1红外接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰。

FFA25D FFFFFFFF FF629D FFFFFFFF FFE21D FFFFFFFF FF22DD FFFFFFFF FF02FD FFFFFFFF FFC23D FFFFFFFF FFE01F FFFFFFFF FFA857 FFFFFFFF FF906F FFFFFFFF FF6897 FFFFFFFF FF9867 FFFFFFFF FFB04F FFFFFFFF

FF30CF FFFFFFFF FF18E7 FFFFFFFF FF7A85 FFFFFFFF FF10EF FFFFFFFF FF38C7 FFFFFFFF FF5AA5 FFFFFFFF FF42BD FFFFFFFF FFFFFFFF FF4AB5 FF52AD FFFFFFFF

38khz红外发射与接收解析

38khz红外发射与接收 38khz红外发射与接收 红外线遥控器在家用人的眼睛能看到的可见光,若按波长排列,依次(从长到短)为红,橙,黄,绿,青,蓝,紫,如图1所示. 由图可见,红光的波长范围为0.62μm~0.76μm,比红光波长还长的光叫红外线.红外线遥控器就是利用波长0.76μm~1.5μm之间的近红外线来传送控制信号的. 红外线的特点是不干扰其他电器设备工作,也不会影响周边环境. 人们见到的红外遥控系统分为发射和接收两部分.发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光,如图2所示. 常用的红外发光二极管发出的红外线波长为940nm左右,外形与普通φ5mm发光二极管相同,只是颜色不同.一般有透明,黑色和深蓝色等三种.判断红外发光二极管的好坏与判断普通二极管一样的方法.单只红外发光二极管的发射功率约100mW.红外发光二极管的发光效率需用专用仪器测定,而业余条件下,只能凭经验用拉距法进行粗略判定. 接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度.红外接收二极管一般有圆形和方形两种.由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路.然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头,如图3所示.红外线一体化接收头是集红外接收,放大,滤波和比较器输出等的模块,性能稳定,可靠.所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高. 图3是常用两种红外接收头的外形,均有三只引脚,即红外接收头的主要参数如下: 工作电压:4.8~5.3V 工作电流:1.7~2.7mA 接收频率:38kHz 峰值波长:980nm 静态输出:高电平 输出低电平:≤0.4V 输出高电平:接近工作电压 3.红外线遥控发射电路 红外线遥控发射电路框图如图4所示. 框图4是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号,按遥控器用途的编码方式可以很简单,也可以很复杂.例如用于电视机,VCD,DVD 和组合音响的遥控发射的编码器,因其控制功能多达50种以上,此时的编码器均采用专用的红外线编码协议进行严格的编程,然而对控制功能少的红外遥控器,其编码器是简单而灵活.前者编码器是由生产厂家的专业人员按红外遥控协议进行编码,而后者适用于一般图4中编码器的编码信号对38kHz的载波信号进行调制,再经红外发射管D向空间发送信号供遥控接收端一体化接收头接收,解调输出,再作处理.

基于单片机的红外线遥控器设计

毕业设计 姓名: 专业: 班级: 指导教师:

课程设计任务书 姓名:钟思 专业:自动化 班级:1301班 设计课题:基于单片机的红外线遥控器设计指导教师: 电子信息工程系印制 二○一五年十二月 目录

第一章红外发射部分 (1) 1、设计要求与指标 (1) 2、红外遥感发射系统的设计 (1) 3、红外发射电路的设计 (2) 4、调试结果及其分析 (3) 第二章红外接受部分 (4) 1、红外遥控系统的设计 (4) 2、系统的功能实现方法 (9) 3、红外接受电路图 (10) 4、软件设计: (10) 5、调试结果及分析: (10) 6、结论: (11) 参考文献 (11)

第一章红外发射部分 1.设计要求与指标 红外遥控是目前使用较多的一种遥控手段。功能强、成本低等特点。系统。设计要求利用红外传输控制指令及智能控制系统,借助微处理器强大灵活的控制功能发出脉冲编码,组成的一个遥控系统。本设计的主要技术指标如下: (1) 遥控范围:0 —1 米 (2) 显示可控制的通道 (3) 灵敏可靠,抗干扰能力强 (4) 控制用电器电流最高为2 A 红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;多路遥控。 红外遥控系统由发射和接收两大部分组成,系统采用编/ 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。发射电路,利用遥控发射利用键盘,这种代码指令信号调制在40KH z 的载波上,激励红外光二极管产生具有脉冲串的红外波,通过空间的传送到受控机的遥控接收器。 2.红外遥感发射系统的设计 红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。发射系统设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路。 系统框图如图所示。

红外线测温仪原理及应用

红外线测温仪原理及应用 摘要:测量温度的方法有很多种,温度计大致可以分为接触式测温仪表和非接触式测温仪表两类。其中接触式的有我们熟悉的液体式温度计,热电偶式温度计和 热电阻式温度计等等。 关键词:红外线测温辐射光纤 众所周知,温度是供热,供燃气,通风及空调系统中最重要的参数之一。尤其在热工测量过程中,温度的精准程度往往是决定实验成败的关键。因此,一个精确度高的测温仪器在工程中是必不可少的。因此本文就温度测量工具中的红外线测温仪的原理及应用进行一些介绍。 一,红外测温的理论原理 在自然界中,当物体的温度高于绝对零度时,由于它内部热运动的存在,就会不断的向四周辐射电磁波,其中就包含了波段位于0.75μm~100μm的红外线。他最大的特点是在给定的温度和波长下,物体发射的辐射能有一个最大值,这种物质称为黑体,并设定他的反射系数为1,其他的物质反射系数小于1,称为灰体,由于黑体的光谱辐射功率P(λT)与绝对温度T之间满足普朗克定。说明在绝对温度T下,波长λ处单位面积上黑体的辐射功率为P(λT)。根据这个关系可以得到图1的关系曲线,从图中可以看出: (1)随着温度的升高,物体的辐射能量越强。这是红外辐射理论的出发点,也是单波段红外测温仪的设计依据。 (2)随着温度升高,辐射峰值向短波方向移动(向左),并且满足维恩位移定理,峰值处的波长与绝对温度T成反比,虚线为处峰值连线。这个公式告诉我们为什么高温测温仪多工作在短波处,低温测温仪多工作在长波处。 (3)辐射能量随温度的变化率,短波处比长波处大,即短波处工作的测温仪相对信噪比高(灵敏度高),抗干扰性强,测温仪应尽量选择工作在峰值波长处,特别是低温小目标的情况下,这一点显得尤为重要。 二,红外线测温仪的原理

红外线接收控制制作

红外线接收控制制作

————————————————————————————————作者:————————————————————————————————日期:

红外线接收控制器的制作 在生活中,我们常用到红外线控制各类电器,如彩电、空调、电风扇等,为我们带来较多的方便,但有时我们仍感到不方便。如看完电视后,用遥控器只能关掉电视主电源,电视仍处于待机状态,使用者还得走到电视跟前,按下电视电源开关方能放心。若想看电视,还得动身开电视,显得很麻烦,尤其是冬天躺在床上看电视,上上下下,深感不便。本文以利用红外遥控器来遥控风扇的制作方法为例(可任选一只红外线遥控器,能调速,软件稍作改变,可增加定时功能等),来介绍红外线接收控制器的制作方法,如果制作电视交流电源的开、关控制器,可与电视共用一只遥控器,制作也较简单些。 制作思路 红外遥控发射器是利用红外线作载体传送信息的,发射周期不等的经过调制后串行码,该串行码一般由引导码、用户识别码、操作码组成。经红外接收头解码后得到一串周期不等的矩形波,如示意图1。 不同型号的遥控发射器的波形宽度不同,即周期T1、T2……不同,在不知手头遥控发射器的波形周期的情况下,首先要制作一个检测红外线周期的工具。根据测得的周期规律来制作红外线接收控制器。 制作方法 检测红外周期的器件制作,见图2。 当红外接收头没有接收到发射器发送来的红外线,其输出端输出高电平(约+5V)。当接收到红外线,输出端电平变低,送到单片机AT89C2051的外部中断1口即INT1,使其发生中断而进入中断服务:启动定时器1并开始计数,

相当于在图1的A点,1个周期后即C点,单片机第二次中断,关定时器1,记下周期T1(实际上只记下TH1的数值,TL1的值可以丢弃),然后清TH1、TL1,再启动定时器1重新计数,第二个周期完后,同样会引起单片机发生中断,再记下周期T2……,如此记下40-50个周期(一般红外编码为4字节,即32BIT,之前还有引导码,又因接收到的红外数据不一定是从引导码开始,要分析一次完整的串行码,应尽可能多记下红外矩形波周期数),接收完后,通过按轻触开关将各记下的各周期的TH1在数码管显示出来以作分析(每按一次轻触开关,显示下一个周期数)。 编程方法 #define CNT 50//预测50个红外线周期 DATA Byte value_h[CNT];//记录周期的变量(数组) DATA Byte count=0;//接收到的周期数 code Byte arr[][2]={0x90,0x6f, //0,尽可能按键0、键1……的先后顺序放,以符合习惯 0x00,0xff, //1 0x10,0xef, //9 0xd0,0x2f //power 13 }; /*在接收红外线的外部中断1函数中编写如下的键码转换语句:*/ DATA Byte arrtmp[4]; DATA Byte Keytmp; //转换后的键值寄存变量 DATA Byte Keyval=NOKEY; bit KeyOk;// 键值转换完成与否的标志 bit d_Ok;//接收到一个完整的键码标志 void int1(void) interrupt 2 { if(TH1==TL1&&TL1==0) //判断是否是第一次接收到红外数据 { TR1=1; } else { TR1=0; value_h[count]=TH1; TH1=TL1=0; TR1=1; count++; if(count==CNT) { EX1=0; count=0; }

基于51单片机的红外遥控器设计

天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松 2015年11月17日

一、任务要求 利用C51单片机设计开发一套红外线收发、显示系统。 具体要求: ●编写相关程序(汇编、C语言均可); ●用Proteus绘制电路图并仿真实现基本功能; ●制作出实物 二、需求分析(系统的应用场景、环境条件、参数等) 现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。 机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。 在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。 三、概要设计(系统结构框图/系统工作说明流程图) 红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。 红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。 红外遥控系统电路框图

红外线学习软件使用说明

红外线学习:我们常用的红外摇控器,这些摇控器发出红外码可以控制电器,而我们通过本控制器对这些红外码进行学习到控制器芯片保存,以后将用保存到芯片的红外码来模似摇控器进行发送红外码,使得空调、电器达到了与摇控器控制时一样的效果。控制器通过连接DCS系统、中控主机、PLC、等控制器,或软件上平板APP、IOS、PC软件等进行物连网控制。 上图为:红外学习电脑操作界面 启动软件时注意事项:1路红外模块需要安装USB驱动程序,为CH340。 型号为:IR102RSF(为1 路红外转发,IR802RS(为8路红外转发) IR102RSF(为1 路红外转发):1首先将USB插入控制器,不需要接入12V或24V电源,RS485通迅线可以不接。2,将USB另外一端插入电脑。1,2项无顺序。3红外工作电源指示灯亮RUN3秒一闪,DATA不亮,TX、RX不亮。4启动PC红外学习软件。以上第4步如果先打开软件,再将红外学习模块接入USB,将会通迅不成功,所以第4项顺序不能反过来,PC软件通迅成功,TX,RX将快速闪动表示通迅发送与接收正常。

IR802RS(为8路红外转发): 1首先将9-24V电源对控制器供电,2,将USB转RS485接入电脑上的USB接口,和8路红外学习模块RS485通迅接口,1,2项无顺序。3红外工作电源指示灯亮,4启动PC红外学习软件。以上第4步如果先打开软件,再插入USB转RS485连到红外模块,将会通迅不成功,所以第4项顺序不能反过来。 软件启动后,并与控制器正常通迅状态:会在中间下方显示“准备就绪”和不断与模块进行通迅,而上面的这些数据只是握手通迅的数据,并不是读红外数据。

51单片机红外控制

/****************************************************************************** * 单片机与红外接收模块的接线说明: P32-->J11 注意事项: 根据自己使用的LCD1602是否带有转接板,如果带有转接板的即为4位,需在LCD.H头文件中 将宏#define LCD1602_4PINS打开,我们这里使用的LCD1602是8位,所以默认将该宏注释。 实验现象: 按下红外遥控器键,在LCD1602上即可显示对应的键值码(注意:需要将红外遥控器的电池绝缘片抽下) ******************************************************************************* / #include #include"lcd.h" sbit IRIN=P3^2; unsigned char code CDIS1[13]={" Red Control "}; unsigned char code CDIS2[13]={" IR-CODE:--H "}; unsigned char IrValue[6]; unsigned char Time; void IrInit(); void DelayMs(unsigned int ); /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main() { unsigned char i; IrInit(); LcdInit(); LcdWriteCom(0x80); for(i=0;i<13;i++) { LcdWriteData(CDIS1[i]);

红外接收头工作原理

红外接收头一般是接收、放大、解调一体头,一般红外信号经接收头解调后,数据“0”和“1”的区别通常体现在高低电平的时间长短或信号周期上,单片机解码时,通常将接收头输出脚连接到单片机的外部中断,结合定时器判断外部中断间隔的时间从而获取数据。重点是找到数据“0”与“1”间的波形差别。 3条腿的红外接收头一般是接收、放大、解调一体头,接收头输出的是解调后的数据信号(具体的信号格式,搜“红外信号格式”,一大把),单片机里面需要相应的读取程序。 红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。 先讲一讲什么是红外线。我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。 常用的红外接收头有以下外形:更多… IRM38A系列???????? IRM138S系列????????? IRM38B系列?????????????? MN系列???????????????? IRM338系列 相关的规格书请到这里下载:红外接收头规格书 红外遥控系统 常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。 接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。 由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。 红外遥控的特点是不影响周边环境、不干扰其它电器设备。由于其无法穿透墙壁,故不同房

单片机控制红外线防盗报警器电路设计

单片机控制红外线防盗报警器 一、硬件电路 电路原理图如图1所示。可将该电路分为以下三个部分。 用当今最流行的A T89C2051单片机控制,体积小,成本低;用红外线收发管进行检测,安装隐蔽,不易被发现;探测信号采用脉冲信号,节能且抗干扰;当有人试图闯入室内时,能自动进行声光报警。现将该报警器原理介绍如下,供广大单片机爱好者参考。 1、单片机系统。U1为A T89C2051单片机。C1,R0,R1和复位按钮RESET组成手动电平复位和上电自动复位电路;C2,C3以及晶振JT1组成时钟电路;C4,C5为+5V电源滤波电容。U2为CMOS6反相器CC4069,起驱动作用。VD1~VD6为红外发射管,其负极端接与P1口,P1口设置为输出状态,当P1口为“0”时,VD1~VD6发红外光。VD7~VD12为红外接收管,当接收到红外光时导通,+5V电源通过VD7~VD12加到反相器CC4069的输入端,经反相为低电平,这时P3.0~P3.5为低电平。发射管和接收管分别安装在门和窗口的适当位置,当有人闯入时遮挡了红外线,接收管截止,反相器输入端为低电平,这时U1的P3.0~P3.5为高电平。当在一定时间内检测到位于不同位置的光束被遮挡时,则由P3.7口输出报警信号(高低电平间隔1S的脉冲信号)。驱动声光报警电路,进行声光报警,直至按复位按钮RESET或电源开关S1。由于红外收发管之间没有遮挡时为正常,有遮挡时为异常,则当P1口输出00H时,P3口的正常状态数据为00H。 2、电源电路。220V交流市电经变压器T降压,桥式整流器D1整流,电解电容C7滤波,三端稳压器78L05稳压,最后得到整机要求的+5V稳定直流电源。 3、声光报警电路。555定时器U4,扬声器BY,普通红色发光二极管VD13等组成声光报警电路。其中555定时器接成了一个低频多谐振荡器,其控制电压输入端5脚与单片机A T89C2051的P3.7脚相连,受P3.7脚输出的高低电平间隔1S的脉冲信号控制。当P3.7为

红外接收头生产过程

红外接收头生产过程 红外线接收模块,又叫红外线接收头,简称接收头,英文名称:Infrared receive module,缩写IRM。由IC 、PD、支架等主要原材料组成,而将各种原材料组装起来,形成接收头成品,类似于这种类型的工厂有个名称叫“封装厂”,如珠海市万州科技有限公司。 整体的生产工艺流程分为4个环节,分别是,固晶、邦定、封装(压模)、后处理(后工序)。各工序都有不同的功能,都是必不可少的。 固晶工序又叫DIE BOND,就是将芯片(IC、PD)固定到支架上面。本工序所使用的材料有IC、PD、支架、银胶,IC是接收头的处理元件,主要由硅晶和电路组成,是一个高度集成的器件、主要功能有滤波、整形、解码、放大等功能。PD是光敏二极管,主要功能是接收光信号。 支架是接收头的引脚部分,将IC功能脚外接,固定芯片等作用。银胶的组成主要是银粉和环氧树脂以及其他的原料,主要作用是导电和固定。 支架,我们公司主要用到的支架分两种,一种是带屏蔽的支架,另外是不带屏蔽的支架。 . 银胶,属于高温固化银胶,理论固化温度是170度1小时,因考虑支架的因素,现在执行150度2小时的固化条件。 焊线介绍 焊线工序又叫WIRE BOND,是将IC和PD各功能点用金线连起来,本工序涉及到的材料主要是金线。本工序的好坏直接关系到产品的成品质量,以及产品的稳定性。

封装介绍 封装工序是固定外形的,我们公司现有三种封装模式两种外形,一种是灌胶鼻梁型,二是模压球形,三是灌胶球形。三种模式各有利弊,主要以灌胶鼻梁进行生产。该工序是产品成形关键,一经封装,就不容许再进行返工,所以在封装之前应对固焊工序进行严格的检验。 主要用到的材料有液态环氧树脂、固态环氧树脂、04色素、08色素等。 颜料04的滤光范围是830-1050,08色素的滤光范围是750-1150,范围越宽,接收头的接收灵敏度越好,但抗干扰越差,滤光范围越窄,抗干扰越好,但接收效果会稍差,为了满足不同客户的需求,对该两种色素进行不同比例的搭配,以满足客户要求。 后处理 主要有装壳、焊壳、冲筋、测试、二切、包装等环节,除装壳是根据客户要求作业之外,其他都必须要完成。目前的测试只是单纯对接收距离进行测试,其他参数没有进行检测,有一定风险性,正在进行改善。高危工序是冲筋工序,切记要按照作业指导进行检查和作业。本工序涉及到的模具都是简单的冲筋模具,重点关注模具的公差范围。 涉及到的材料主要有铁壳,铁壳的原料是0.3mm马口铁,这种不需要电镀,但裸露的存放时间比较短,一般不超过1个月,另外还有普通0.3mm的铁材,需要进行镀锡,这种工艺的存放时间很长也不会生锈,考虑到成本的因素,普通的铁壳均用马口铁制成。 可靠性试验要求 可靠性试验主要有冷、热、冷热循环、电老化、镀锡等另外有的客户还要做电击试验。 冷冻试验的条件是-25度、-45度,一般存放1个小时左右再进行测试,或在试验温度下进行测试,批量测试时,不用在试验温度下测试,可以上机台测试。试验温度下测试适用于试样或抽检。 热试验,试验条件灌胶产品是140-150度,模压150-160度,一般采用整体测试,在高温箱内的带机器测试问题一般在75-80度,还要兼顾其他材料的耐温特性。 冷热循环,主要是对产品进行冷热冲击,骤冷骤热来检测产品胶体、焊接等对其耐荷性,这是判断产品优劣的关键试验项目。 电老化试验是对接收头进行超过48小时的通电,主要检测焊线工序的可靠性,通常有些虚焊、或其他的存在隐患的焊接不良品是经不住考验的。 镀锡实验,是对接收头进行模拟客户现场使用条件进行的实验,来验证产品对焊接条件的适应性。常规实验条件是280度10秒。

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

红外线切割机操作与使用

红外线切割机操作与使用 (一)试运行前的准备 1、对整个外部连接、紧固件,特别是在运输中拆分过的零部件进行一次全面检查,确认已连接紧固好; 2、各减速机、主轴箱、传动部位、移动部位、齿轮啮合部位、四导柱接触部位等都要按规定加注润滑油; 3、确保两边梁齿轮与齿条啮合良好。 (二)通电检查 1、接通电源; 2、检查各指示灯是否正常; 3、检查急停按钮是否可靠有效; 4、检查各个限位行程开关是否可靠、有效; 5、检查各电动机旋向是否正确; 6、检查各个操作按钮、旋钮是否正确、可靠、有效; 7、检查液压泵站能否正常工作; 8、检查各换向阀是否安全、可靠、有效; 9、检查导柱升降油缸、转向油缸、台车翻转油缸是否正常工作,翻板旋转角度是否正常有效; 10、检查全部电器油路、机械传动、按顺序步骤单个手动测试完毕无误后、须经联动空载运行2-4小时,检测整机是否运转自如,有无卡滞现象;

11、整机空载试运行确定安全可靠之后,再检测PLC各程序参数是否正确,将所设的参数通过文本输入PLC,检查显示屏能否显示出来并正确有效。 力普机械红外线中切机 (三)操作说明 1、数据显示器的使用(位于传动机构控制操作柜左上方) (1)裁切长度(mm) 刀片自降刀裁切完毕后,刀片抬刀且纵向移动至下一裁切位置的位移量,既裁切下石块的纵向长度; (2)块数 整块毛板纵向走刀需裁切下的石块数量 (3)刀片厚度

根据毛板材质、厚薄已选择的刀锯具体厚度,控制系统将自动加入的刀片厚度,计算出准确的裁切刀长度; (4)台板角度(0o或90o) (5)横梁纵向计数 比对裁切长度,每裁切完一块,刀架抬刀归位后,进行下一块裁切横梁的位移量,所显示的位移量应等于裁切长度数值加上刀厚度的数值; (6)所切规格 显示当前所裁切毛板的实际宽度; (7)已切数量 自动显示工作过程中已裁切的石块的数量; (8)加工对象(厚板、薄板) 当选择的是薄板,则程序将在已设好的降到位置一次走刀完成裁切;当选择的是厚板,须输入左进刀降刀量、右进刀降刀量,显示单位以进刀时间秒计数,则程序将控制刀架在垂直降刀下限位范围内往复走直至完成裁切; (9)裁切完成后的归位 每裁切完毕,选择横梁及刀架的归位方式;自动归位———横梁、刀架自动回归至已设定的起始位置;手动归位限位开关设定位置刀架自动回归到已设定的起始位置; (10)资料清零 需重新建立资料数据,点击此处,可删除原有全部数据,建立新

红外选型知识

daishangju(戴上举)12:01:26 最近在折腾红外发射和接收。 在调试的过程中发现了红外接收头的一个问题: 有的红外接收头不能长时间解码,或者说长时间输出信号。 这些接收头每隔一段时间,就会没有信号输出(Vout为高电平,过一段时间又能收到数据了)。 经过测试发现标有78M4,85M4的都不能长时间解码。 而有些接收头能长时间的解码,太好了!!! 但是我手头比较少。 不知道大家有没有碰到类似的情况? 78M4和85M4是不是表示波长780nm和850nm呢? 我想购买能长时间解码的接收头,该如何选型呢? daishangju(戴上举)12:02:37 目前市售红外一体化接收头有两种:电平型和脉冲型,绝大部分的都是脉冲型的,电平型的很少。 电平型的,接收连续的38K信号,可以输出连续的低电平,时间可以无限长。其内部放大及脉冲整形是直接耦合的,所以能够接收及输出连续的信号。 脉冲型的,只能接收间歇的38K信号,如果接收连续的38K信号,则几百ms后会一直保持高电平,除非距离非常近(二三十厘米以内)。其内部放大及脉冲整形是电容耦合的,所以不能能够接收及输出连续的信号。一般遥控用脉冲型的,只有特殊场合,比如串口调制输出,由于串口可能连续输出数据0,所以要用电平型的。一般遥控器用455K经12分频后输出37917HZ,简称38K,10米接收带宽为38+-2K,3米为35~42K。 在没有环境反射的空旷空间,距离10米以上方向性会比较强。在室内,如果墙是白色的,则在15米的空间基本没有方向性。 接收头要有滤光片,将白光滤除。在以下环境条件下会影响接收,甚至很严重: 1、强光直射接收头,导致光敏管饱和。白光中红外成分也很强。 2、有强的红外热源。 3、有频闪的光源,比如日光灯。 4、强的电磁干扰,比如日光灯启动、马达启动等。 38K信号最好用1/3占空比,这个是最常用的,据测试1/10占空比灵敏度更好。实际调制时间要少于50%。 最好有间歇。 电平型的接收头只要接收到38K红外线就输出持续低电平,用起来非常爽,以前的老 daishangju(戴上举)12:02:37 式接收头多半是这种类型,但其有个致命弱点:抗干扰性太差,传输距离短(小于1m)。 而脉冲型一体化红外线接收头必须接受一定频率38K的载波的基带信号才有正常输出,如发送500HZ的38K 载波,脉冲型一体化红外线接收头输出500HZ方波,而如果发送连续的38K载波就会出项有瞬间低电平其后为高电平的现象。这种脉冲型一体化红外线接收头克服了传统电平型接收头的不足:传输距离相对更远,稳定性大大增加,抗干扰性更强。因此已经完全取代了老式的电平型接受头,在电子市场如不说明店主给你的绝对是脉冲性的。

基于单片机的红外无线控制

中国矿业大学徐海学院 技能考核培训 姓名:陈思彤学号: 22110838 专业:信息11-2班 题目:基于单片机的红外无线控制 专题:音乐播放器 指导教师:有鹏老师翟晓东老师 设计地点:电工电子实验室 时间: 2014 年 4 月

通信系统综合设计训练任务书 学生姓名陈思彤专业年级信息11-2班学号22110838 设计日期:2014年4 月5日至2014 年4 月10 日 设计题目: 基于单片机的红外无线控制 设计专题题目: 音乐播放器 设计主要内容和要求: 1. 主要内容: 单片机内部结构 红外遥控解码 C语言程序设 2. 功能扩展要求 实现音乐播放器的功能 指导教师签字:

摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥控的简易音乐播放器。通信蜂鸣器来发声,来完成音乐播放器的功能。该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。 关键词:单片机,中断系统,红外遥控,音乐播放

目录 1 绪论 (4) 1.1概述 (4) 1.2功能 (4) 2 硬件电路 (5) 2.1总体设计方 (5) 2.2单片机最小系统 (5) 2.3红外遥控收发电路 (5) 2.3.1 红外遥控发射电路 (6) 2.3.2 红外遥控接收电路 (7) 2.4蜂鸣器电路 (7) 2.5 LED指示灯电路 (8) 3软件编程 (9) 3.1 C语言实现系统设计 (9) 3.2乐谱的改编 (10) 参考文献 (11) 附录 (12)

红外接收

上海电力学院 单片机系统设计实验设计 学院:自动化工程学院 专业:自动化 班级:2013035 姓名:都云峰学号: 20132586 起止时间:2016年1月11日——2016年1月20日

目录 1、目录 (1) 页 2、实践题目······················································2页 3、实践目的······················································2页 4、LCD1602简介··················································2页 5、STC12C5A60S2中断简介·········································4页 6、protues仿真··················································5页 7、Altium Designer仿真··········································6页 8、实物结果······················································7页 9、源程序 (7) 页 10、实践设计心得 (13) 页

单片机红外接收 一、实践题目 ①项目要求: 红外接收,LCD1602显示数据等。 ②Proteus绘制电路图: ALTIUM DESIGNER或Proteus绘制原理图和PCB图,并做PROTEUS仿真。 ③编写调试程序: KEIL C编写程序代码并调试通过。 ④小结体会 二、实践目的 学习单片机开发与设计,不能仅仅是接触了单片机编程语言,如汇编或C 语言,就算完成了单片机的学习任务。更要掌握自行设计电路、制作PCB板、焊接元器件等内容。这是一个从硬件到软件、从理论到实践的系统工程。本课程是单片机课程开发提高阶段的课程,主要从开发板的焊接、制作和单片机工程项目的开发、调试两个方面入手,使参加学习的同学,在校内能真正成为单片机设计的爱好者、在校外能真正成为项目开发的工程师。 学习掌握MCS-51单片机的结构和原理,Keil C51的编程,Keil和Proteus 的联合调试,利用Proteus和Keil C实现AD和DA部分的电子及编程设计。 学习掌握利用Proteus ISIS进行电路原理图设计的方法;掌握利用原理图元件库编辑器创建新元件的方法;了解利用Proteus ARES进行印刷电路板图设计的方法;了解利用PCB元件库编辑器创建新的PCB元件的方法;掌握利用Proteus进行模拟电子实验和数字电子仿真实验的方法,利用其中自带的虚拟仪器进行电路的仿真。 三、LCD1602简介 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,

红外遥控原理及解码程序

红外遥控系统原理及单片机 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC 的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周

期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

单片机红外发射(原理与设计程序)

用AT89S51单片机制作红外电视遥控器 一般红外电视遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。 当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。 根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。 遥控串行数据编码波形如下图所示: 接收方一般使用TL0038一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电平。所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低电平处发送38kHz红外信号,高电平处则不发送红外信号。 单片机红外电视遥控器电路图如下:

C51程序代码: #include static bit OP; //红外发射管的亮灭 static unsigned int count; //延时计数器static unsigned int endcount; //终止延时计数static unsigned char flag; //红外发送标志char iraddr1; //十六位地址的第一个字节 char iraddr2; //十六位地址的第二个字节 void SendIRdata(char p_irdata); void delay(); void main(void) { count = 0;

相关文档