电视机遥控器上的set就是“设置”的意思,表示正答该按键就是电视机的设置举凳慧键。
如果在计算机领域,一般setup是指setup.exe文件,是安装软件的应用程序。比如你买了一张游戏光盘,要想安在电脑上,一般需要运行光盘上的setup程序,跟着提示一步步把游戏装在电脑上,然后才可以玩。
频分制多路控制器:
利用图1和图4的电路,可以实现多路遥控器,即在发射端,将IC1组成的低频振荡器,其电路模式不变,只改变电阻R2,即可构成若干种R组成的多个频— 率不同的低频振荡器(即编码),利用微动开关转接,38kHz的载波电路共用。
在接收电路中,一体化红外接收头共用,再设置与接收端编码器相同个数的 LM567锁相器和后级锁相驱动控制电粗余路,各锁相环的振荡频率与 各编码器的低频编码信号的频率对应相等。
遥控器是一种用来远控机械的装置。现代的遥控器,主要是由集成电路电板和用来产生不同讯息的按钮所组成。而客车门遥控器是采用最新技术编码解码,以闪断方式控制门泵电磁阀以达到开关自动门的目的。 很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?首先我们来看看什么是红外线。 人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。 红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。 、 常用的红外遥控系统一般分发射和接收两个部分。 发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。 目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通 5发光二极管相同,只是颜色不同。 红外发光二极管一般有黑色、深蓝、透明三种颜色。 判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。 红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。 接收部分的红外接收管是一种光敏二极管。 在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。 红外接收二极管一般有圆形和方形两种。 由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。 前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。 成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。 红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz陶振来决定的。 在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。 红外遥控的特点是不影响周边环境、不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。 由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。 多路控制的红外遥控系统 多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地在接收端有不同的输出状态。 接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”,发射端松开键时,接收端“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高卖让、也可能是低,取决于相应输出脚或闷的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来为低电平变为高电平。此衫配弯种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其它如调光、调速、音响的输入选择等。 “数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。 一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。这种输出形式一般用于与单片机或微机接口。 除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。用 AT89S52 自制电视红外遥控器红外遥控器发送数据时,是将二进制数据调制成一系列的脉冲信号红外发射管发射出去,红外载波为频率 38KHz 的方波,红外接收端在收到 38KHz 的载波信号时,会输出低电平,否则输出高电平,从而可以将"时断时续"的红外光信 号解调成一定周期的连续方波信号,再经过 1838 一体化红外接收头解调便可以恢复出原数据信号.如图 1 所示 图1 红外接收头解调过程如图 2 所示 图2 解调后的"0"和"1"波形及单片机编码图 3 图 4 所示 图3 38K 方波 图 4 了解了红外接收头解调及遥控编码下面就可以对照图 5 编写编码程序了, 5 是遥控按键 1 的一段实际编码 图由 9ms 低电平 4.5ms 高电平的启始码,26 位系统码,及 8 位数据码,8 位数据反码,23ms 高电平及结束码组成 电路图 *****************************************以下是遥控完整程序*********************************************** /********************************************* **项目: 自制红外电视遥控器(EE01 学习板演示程序) **作者:一线工人 **网站:电子工程师之家 www.eehome.cn **转贴请保持代码的完整性 *********************************************/ #include <reg52.h>#define uint unsigned int #define uchar unsigned char bit irout//红外管状态 sbit ir=P1^7//红外发射管控制脚 uint count, set_count//中断计数,设定中断次数 bit flag,keyflag//红外发送标志,按键标志位 uchar irsys[4]={0x1a,0xa1,0xdc,0x03}//26 位系统码,最后一个字节只用 2 位 uchar ircode,irdata/********************************************** 延时 1ms ***********************************************/ void delay(uint z)//延时 1ms,晶振 22.1184M { uint x,yfor(x=zx>0x--) for(y=225y>0y--)} /********************************************** 按键扫描 **********************************************/ void keyscan(void) { uchar keytempP3=0xffkeytemp=P3&0x0fif(keytemp!=0x0f) { delay(20)keytemp=P3&0x0fif(keytemp!=0x0f) keyflag=1//有按键标志 switch(keytemp) { case 0x0e:irdata=27break//按键 1 对应该遥控器 P+的键值 case 0x0d:irdata=26break//按键 2 对应该遥控器 P-的键值 case 0x0b:irdata=31break//按键 3 对应该遥控器 VOL+的键值 case 0x07:irdata=30break//按键 4 对应该遥控器 VOL-的键值 } } } /******************************************* 发送 8 位红外数据 *******************************************/ void sendcode_8(void) { uchar ifor(i=0i<8i++) { set_count=28//发送 0.56ms 38k 红外波(编码中的 0.56ms 低电平) flag=1count=0TR0=1while(count<set_count)TR0=0if(ircode&0x01)//判断红外编码最低位,1 宽的高电平,0 窄的高电平 { set_count=120} else { set_count=38} flag=0count=0TR0=1while(count<set_count)TR0=0ircode=ircode>>1} } /******************************************* 发送 2 位红外数据 *******************************************/ void sendcode_2(void)//前 26 位系统码最后两位 { uchar ifor(i=0i<2i++) { set_count=28flag=1count=0TR0=1while(count<set_count)TR0=0if(ircode&0x01) { set_count=120} else { set_count=38} flag=0count=0TR0=1while(count<set_count)TR0=0ircode=ircode>>1} } /******************************************* 发送红外数据 *******************************************/ void sendcode(void) { set_count=575//发送 9ms 38K 红外光 flag=1count=0TR0=1while(count<set_count)TR0=0set_count=320//间隔 4.5ms flag=0count=0TR0=1while(count<set_count)TR0=0ircode=irsys[0]//发送 26 位系统码的前 1-8 位 sendcode_8()ircode=irsys[1]//发送 26 位系统码的前 9-16 位 sendcode_8()ircode=irsys[2]//发送 26 位系统码的前 17-24 位 sendcode_8()ircode=irsys[3]//发送 26 位系统码的前 24-26 位 sendcode_2()ircode=irdata//发送 8 位数据码 sendcode_8()ircode=~irdata//发送 8 位数据反码 sendcode_8()set_count=28//发送 0.56ms 38k 红外波(编码中的 0.56ms 低电平) flag=1count=0TR0=1while(count<set_count)TR0=0ir=1delay(23)//延时 23ms(编码中的 23ms 高电平) set_count=575//发送 9ms 38k 红外波 flag=1count=0TR0=1while(count<set_count)TR0=0set_count=330//间隔 4.5ms flag=0count=0TR0=1while(count<set_count)TR0=0set_count=30//发送 0.56ms flag=1count=0TR0=1while(count<set_count)TR0=0ir=1} 38k 红外波(编码中的 0.56ms 低电平) /******************************************* 定时器初始化 *******************************************/ void init_timer() { EA=1TMOD=0X02//8 位自动重载模式 ET0=1TH0=0XE8//定时 13us,38K 红外波,晶振 22.1184 TL0=0XE8} /******************************************* 主函数 *******************************************/ void main(void) { init_timer()count=0flag=0irout=1while(1) { keyscan()if(keyflag)//若有新按键 { delay(10)sendcode()//发送红外编码 delay(500)keyflag=0//按键标志清零 } } } /******************************************* 定时器中断 *******************************************/ void timer0(void) interrupt 1 { count++if(flag==1) { irout=~irout} else { irout=1} ir=irout} 实物图 用自制遥控器调节音量,本遥控器最远试过 5 米之外也可以控制,为了拍摄方便才放这么近 视频演示: http://www.eehome.cn/read.php?tid=6196 ┃欢迎分享,转载请注明来源:内存溢出
评论列表(0条)