红外遥控器接收程序_第1页
红外遥控器接收程序_第2页
红外遥控器接收程序_第3页
红外遥控器接收程序_第4页
红外遥控器接收程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/STC89C52RC/11.0592MHZ#include #include #define uchar unsigned char#define uint unsigned int#define TH0_VALUE 0xc5#define TL0_VALUE 0xc5 / 定时器计数值 #define ANT P24 /红外IO口,可任意一个IO/系统变量定义区=volatile unsigned char irr_b=0,s_s=0;/irr_b接收状态指示,s_s显示许可volatile signed long da=0; /32位数据码volatile unsigned char w

2、b=0, a=0; /wb为接收到的位数,a为接收到信号高低电平判断依据volatile unsigned int js=0; /定时器计数volatile unsigned char a1=1,a2=1; /上升沿处理变量void timer_init(voidET0=0; TMOD=0x02; TCON=0x10; TL0=TL0_VALUE;TH0=TH0_VALUE;ET0=1;void timer_start(TR0=1;EA=1;void timer0_interrupt(void interrupt 1 /大约63us中断一次js+;/判断下降a2=ANT;if (a1>a

3、2 if(irr_b=0 /第一个中断irr_b=1; /状态为:开始接收js=0;else if(irr_b=1 /第二个以后的中断a=js; /读取定时器的值if(170 判断是引导,还是数据 10.7ms-15.7ms 引导码长 13.5ms wb=0; /数据计数清零 da=0; /数据清零js=0; /定时器清零 else /数据 if(8 低电平长 1.125ms wb+;js=0; da=(da<<1 ;elseif(25 高电平长 2.25ms wb+;js=0; da=(da<<1 +1 ;if(wb>=32 /数据长度够32位irr_b=0;

4、/状态为停止接收wb=0; /数据计数清零s_s=1; /打开显示许可a1=a2; /a为两个下降沿之间的时间void program(voiduchar ds=0,d1;while(1ds=js;if(ds>250 /定时器超时,接收复位js=0;irr_b=0;da=0;wb=0; s_s=0;if(s_s=1 /显示开关打开,开始显示TR0=0; /关闭全局中断/显示设备码d1=da>>8;d1=da; /把long型的da强制转换为char型的d1switch(d1case 0xff:P2=0xff;uart_tx(255;break; /停止,灯全灭case 0x9

5、f:P2=0xfe;uart_tx(191;break; /正转,对应的灯亮case 0x5f:P2=0xfd;uart_tx(239;break; /反转,对应的灯亮case 0xaf:P2=0xfb;uart_tx(251;break; /加速,对应的灯亮case 0x6f:P2=0xf7;uart_tx(254;break; /减速,对应的灯亮default:break; s_s=0; /关闭显示开关TR0=1; /开全局中断void delay_ms(unsigned int iunsigned int j;while(i-for(j=0;j<75;j+;void uart_in

6、it(TMOD|=0X20; /只把M1置为1,其余位不变,默认为0TH1=0XFD;TL1=0XFD;SCON=0X50; / 设定串行口工作方式PCON&=0XEF; / 波特率不倍增,只把倍增位置0,其他位保持不变,默认为0TR1=1;void uart_tx(unsigned char txdSBUF=txd;while(!TI;TI=0;void uart_cn(unsigned char *cn,unsigned char cn_nubunsigned char i;for(i=0;i<(cn_nub;i+uart_tx(cni; /发送数据i_nop_(;_nop_(;_nop_(;_nop_(;_nop_(; /无实际意义,后移cpu指针,使指令按字对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论