下载此文档

自制电视红外遥控器.pdf


文档分类:论文 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
1 1 AT89S52 自制电视红外遥控器红外遥控器发送数据时,是二进制数据调制成一系列的脉冲信号红外发管发射出去,红外载波为频率38KHz 的方波,红外接收端在收到38KHz的载波信号时,会输出低电平,否则输出高电平,从而可以将“时断时续”的红外光信号解调成一定周期的连续方波信号,再经过1838一体化红外接收头解调便可以恢复出原数据信号。如图1所示图1 红外接收头解调过程如图2所示图2 解调后的“0”和“1”波形及单片机编码图3图4所示图3 38K方波图4 1 了解了红外接收头解调及遥控编码下面就可以对照图5编写编码程序了,,26位系统码,及8位数据码、8位数据反码、23ms高电平及结束码组成电路图*****************************************以下是遥控完整程序*********************************************** /********************************************* **项目:自制红外电视遥控器(EE01学习板演示程序) **作者:一线工人**网站:电子工程师之家**转贴请保持代码的完整性*********************************************/ #include<> #defineuintunsignedint #defineucharunsignedchar bitirout;//红外管状态 sbitir=P1^7;//红外发射管控制脚 uintcount,set_count;//中断计数,设定中断次数 bitflag,keyflag;//红外发送标志,按键标志位 ucharirsys[4]={0x1a,0xa1,0xdc,0x03};//26位系统码,最后一个字节只用2位 ucharircode,irdata; /********************************************** 延时1ms ***********************************************/ voiddelay(uintz//延时1ms, {uintx,y; for(x=z;x>0;x--) for(y=225;y>0;y--); } /********************************************** 按键扫描**********************************************/ voidkeyscan(void) {uchar keytemp; P3=0xff; keytemp=P3&0x0f; if(keytemp!=0x0f) {delay(20); keytemp=P3&0x0f; if(keytemp!=0x0f) keyflag=1;//有按键标志 switch(keytemp) {case0x0e:irdata=27;break;//按键1对应该遥控器P+的键值 case0x0d:irdata=26;break;//按键2对应该遥控器P-的键值 case0x0b:irdata=31;break;//按键3对应该遥控器VOL+的键值 case0x07:irdata=30;break;//按键4对应该遥控器VOL-的键值} } }/******************************************* 发送8位红外数据*******************************************/ voidsendcode_8(void) { uchari; for(i=0;i<8;i++) { set_count=28;//() flag=1; count=0; TR0=1; while(count<set_count); TR0=0; if(ircode&0x01)//判断红外编码最低位,1宽的高电平,0窄的高电平{set_count=120; }else {set_count=38; } flag=0; count=0; TR0=1; while(count<set_count); TR0=0; ircode=ircode>>1; } } /******************************************* 发送2位红外数据*******************************************/ voidsendcode_2(void)//前26位系统码最后两位{ uc

自制电视红外遥控器 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhqw888
  • 文件大小0 KB
  • 时间2016-04-14