红外线接收.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外线接收

#includereg52.h #define uchar unsigned char #define uint unsigned int #define DataPort P0 sbit IR=P3^2; sbit dula=P2^6; sbit wela=P2^7; uchar IRtime; bit IR_ok; bit IR_receive_ok; uchar IRcord[4]; uchar IRdata[33]; uchar table[]={ 0x3F, //0 0x06, //1 0x5B, //2 0x4F, //3 0x66, //4 0x6D, //5 0x7D, //6 0x07, //7 0x7F, //8 0x6F, //9 0x77, //A 0x7C, //B 0x39, //C 0x5E, //D 0x79, //E 0x71, //F 0x76, //H 0x38, //L 0x37, //n 0x3E, //u 0x73, //P }; void IR_init() //初始化 { TMOD=0x22; TH0=0x00; TL0=0x00; EA=1; ET0=1; TR0=1; // 定时器0 IT0=1; // 外部中断0,跳变沿触发方式, EX0=1; // TH1=0xfd; //// TL0=0xfd; // TR1=1; // 串口中断0用到定时器1 , TR1必须开启 // SM1=1; // 工作方式1 // REN=1; // 串口中断欢迎接收位 // ES=1; // 串口中断允许位 } void time0() interrupt 1 //IRtime 计时 { IRtime++; //277us } void int0() interrupt 0 //外部中断为我接收33 个IRtime数据,放到IRdata[33]数组中 解码 { static uchar i; static startflag; if(startflag) { if((IRtime32)(IRtime52)) // 判断引导码 i=0; IRdata[i]=IRtime; IRtime=0; i++; if(i==33) { IR_ok=1; i=0; } } else { startflag=1; IRtime=0; } } void IRcordpro() // 数据处理 解码 { uchar i,j,k,dat,value; // k=1; // for(i=0;i4;i++) // { // for(j=0;j8;j++) // { // dat=IRdata[k]; // if(dat5) // value|=0x80; // if(j7) // value=1; // k++; // } // IRcord[i]=value; // value=0; // } k=17; for(j=0;j8;j++) { dat=IRdata[k]; if(dat=5) //=5 判断是1 value|=0x80; if(j7) value=1; k++; } IRcord[2]=value; IR_receive_ok=1; } void IRword() //选择要显示的字符 { switch(IRcord[2]) { case 0x45:DataPort=

文档评论(0)

dart003 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档