红外线接收控制器的制作

红外线接收控制器的制作

ID:12571540

大小:180.62 KB

页数:8页

时间:2018-07-17

红外线接收控制器的制作_第1页
红外线接收控制器的制作_第2页
红外线接收控制器的制作_第3页
红外线接收控制器的制作_第4页
红外线接收控制器的制作_第5页
资源描述:

《红外线接收控制器的制作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、红外线接收控制器的制作在生活中,我们常用到红外线控制各类电器,如彩电、空调、电风扇等,为我们带来较多的方便,但有时我们仍感到不方便。如看完电视后,用遥控器只能关掉电视主电源,电视仍处于待机状态,使用者还得走到电视跟前,按下电视电源开关方能放心。若想看电视,还得动身开电视,显得很麻烦,尤其是冬天躺在床上看电视,上上下下,深感不便。本文以利用红外遥控器来遥控风扇的制作方法为例(可任选一只红外线遥控器,能调速,软件稍作改变,可增加定时功能等),来介绍红外线接收控制器的制作方法,如果制作电视交流电源的开、关控制器,

2、可与电视共用一只遥控器,制作也较简单些。制作思路     红外遥控发射器是利用红外线作载体传送信息的,发射周期不等的经过调制后串行码,该串行码一般由引导码、用户识别码、操作码组成。经红外接收头解码后得到一串周期不等的矩形波,如示意图1。     不同型号的遥控发射器的波形宽度不同,即周期T1、T2……不同,在不知手头遥控发射器的波形周期的情况下,首先要制作一个检测红外线周期的工具。根据测得的周期规律来制作红外线接收控制器。制作方法     检测红外周期的器件制作,见图2。    当红外接收头没有接收到发射器

3、发送来的红外线,其输出端输出高电平(约+5V)。当接收到红外线,输出端电平变低,送到单片机AT89C2051的外部中断1口即INT1,使其发生中断而进入中断服务:启动定时器1并开始计数,相当于在图1的A点,1个周期后即C点,单片机第二次中断,关定时器1,记下周期T1(实际上只记下TH1的数值,TL1的值可以丢弃),然后清TH1、TL1,再启动定时器1重新计数,第二个周期完后,同样会引起单片机发生中断,再记下周期T2……,如此记下40-50个周期(一般红外编码为4字节,即32BIT,之前还有引导码,又因接收到

4、的红外数据不一定是从引导码开始,要分析一次完整的串行码,应尽可能多记下红外矩形波周期数),接收完后,通过按轻触开关将各记下的各周期的TH1在数码管显示出来以作分析(每按一次轻触开关,显示下一个周期数)。编程方法#defineCNT50//预测50个红外线周期DATABytevalue_h[CNT];//记录周期的变量(数组)DATABytecount=0;//接收到的周期数codeBytearr[][2]={0x90,0x6f,  //0,尽可能按键0、键1……的先后顺序放,以符合习惯        0x0

5、0,0xff,  //1        0x10,0xef,  //9        0xd0,0x2f   //power13     };/*在接收红外线的外部中断1函数中编写如下的键码转换语句:*/DATABytearrtmp[4];     DATAByteKeytmp;  //转换后的键值寄存变量DATAByteKeyval=NOKEY;  bitKeyOk;//键值转换完成与否的标志bitd_Ok;//接收到一个完整的键码标志voidint1(void)interrupt2{  if(TH1==

6、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;               }     }}/*假设接收到的TH的数值为:30,50,  04,08,08,08

7、,  04,04,04,04,04,08,08,08,  04,04,04,04,08,04,04,08,  04,04,04,04,04,  04,08,08,04,08,08,08,08,3f,50----稍作分析可知,表示高低电平的有效数为:04,08。若将04定作低电平,08定作高电平,舍弃其他数据,得到4字节数据即:01110000,01110000,10010000,01101111。转为十六进制后得:70h,70h,90h,6fh,至此得到遥控发射器刚才按下的键值码,用同样的方法可以测得其他键

8、键值码。假设有:70h,70h,0x90,0x6f,    //0键70h,70h,  0x00,0xff,  //1键70h,70h,0xd0,0x2f    //power键根据以上数据分析得,每键码为4字节,前2字节固定不变,为用户识别码,后2字节均不同,是操作码。将遥控器上的各键键值码测出后,根据这些数据可以根据制作需要进行编程了。因键值码为4字节太长,不利于编程,需要将各键键值转为相对应的1字节的数据,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。