失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 单片机红外线c语言 自己写的51单片机的红外线遥控接收程序(C语言)

单片机红外线c语言 自己写的51单片机的红外线遥控接收程序(C语言)

时间:2021-02-04 20:38:06

相关推荐

单片机红外线c语言 自己写的51单片机的红外线遥控接收程序(C语言)

自己写的51单片机的红外线遥控接收程序(C语言)

(6页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

11.90 积分

//51单片机做的红外遥控实验(C语言)#include#define u8 unsigned char #define u16 unsigned int#define ID 0x00 //本遥控器的ID号sbit ir=P3^3;code u8 seg[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; //0-9的段码code u8 s[]={1,0x40,0x48,0x04,0x02,0x05,0x54,0x0A,0x1E,0x0E};u8 buf[4];bit ir_f=0;u8 nu;void delay(u16 x){ while(x--); }void show(u16 x) { u8 i=0,k=0; u8 s[4]; kk: s[i]=x; if((x/10)>=1) { x=x/10; i++; goto kk; } k=i+1; for(i=0;i>i); delay(300); P0=0XFF; P2=0XFF; } } void timer0_init() {TH0=0;TL0=0;TMOD|=0x01;TR0=0; }u16 low_test() { u16 t; TR0=1; while((ir==0)&&((TH0&0X80)!=0X80)); TR0=0; t=TH0; t<<=8; t|=TL0; TH0=0; TL0=0; //t=(TH*256+TL0);//机器周期数 return t; }u16 high_test() { u16 t; TR0=1; while((ir==1)&&((TH0&0X80)!=0X80)); TR0=0; t=TH0; t<<=8; t|=TL0; TH0=0; TL0=0; return t; }/*u16 time_test(bit x) { }*/u8 receive_8bit() { u8 d,i; u16 t; for(i=0;i<8;i++) { t=low_test(); t=high_test(); d>>=1; if((t>=2750)&&(t<=3100)) { d|=0x80; } } return d; }void ir_decode() { u16 t; u8 i; if(ir==0)//有遥控信号 { t=low_test();//8295-9000us,倍频的是16590-18000 if((t>=14500)&&(t<=18000))//检查引导码低电平时间 { t=high_test(); if((t>=8000)&&(t<=9000))//检查高电平 { for(i=0;i<4;i++) { buf[i]=receive_8bit(); } if(buf[0]==(~buf[1]))//检查系统码是否正确 { if(buf[0]==ID) { if(buf[2]==(~buf[3])) { //具体按键处理 ir_f=1; //遥控有效 } } } } } } }/*void key() { if(buf[2]==0x40) { P1^=(1<<0); } if(buf[2]==0x48) { P1^=(1<<1); } }*/void ir_execuse() { if(ir_f==1) { switch(buf[2]) { case 0x40:P1^=(1<<0);break; case 0x48:P1^=(1<<1);break; case 0x04:P1^=(1<<2);break; case 0x02:P1^=(1<<3);break; case 0x05:P1^=(1<<4);break; case 0x54:P1^=(1<<5);break; case 0x0A:P1^=(1<<6);break; case 0x1E:P1^=(1<<7);break; } ir_f=0; } }void show_d() { u8 j; for(j=0;j<10;j++) 关键词: 自己 51 单片机 红外线 遥控 接收 程序 语言

天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

如果觉得《单片机红外线c语言 自己写的51单片机的红外线遥控接收程序(C语言)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。