⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hongwaijieshou_1.c

📁 红外
💻 C
字号:
#include <reg52.h>
void delay(unsigned int m);
uc xc[8];
uc code duanma[]={
        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*/
        
};
void xianshi(void)
{
uc i;
for(i=0;i<8;i++)
 {
	P2=i;
	P0=duanma[xc[i]];
	delay(1);
	P0=0xff;
	}
}

uc  zhongduancishu;
uc  yichu=0;
void init_int0()
{
IT1=1;
EA=1;EX1=1;
PX1=0;
zhongduancishu=0;
}

ui mcs,mcsb,shuju,shujufan,wei;
void ser_int1(void)interrupt 2
{
/*
ui mcs;
uc i;
zhongduancishu++;
if(zhongduancishu==1)TR0=1;
if(zhongduancishu==34)
	{
	TR0=0;
	EX1=0;
	mcs=TH0*256+TL0;
	for(i=7;i>0;i--)
	 {
	 xc[i]=mcs%10;
		mcs=mcs/10;
	 }		 
	}
*/
ui maichongshijian;
zhongduancishu++;
if(zhongduancishu==1)TR0=1;
if(zhongduancishu==2)
	{
	mcs=TH0*256+TL0;
	if((mcs>13300)&&(mcs<13700))	//判断是否为引导码
	 {
		TR0=0;
		TH0=0;
		TL0=0;
		}else zhongduancishu=0; 
	}
if(zhongduancishu==18){TR0=1;mcsb=0,mcs=0;}
if((zhongduancishu>18)&&(zhongduancishu<27)) 
 {		
	mcs=TH0*256+TL0;
	maichongshijian=mcs-mcsb;
	mcsb=mcs;	
	if(zhongduancishu==19)wei=0x01;
	if((maichongshijian>1000)&&(maichongshijian<1200)){shuju&=~wei;}			//xxxx		xxx0;
	if((maichongshijian>2100)&&(maichongshijian<2400)){shuju|=wei;}			//xxxx  xxx1;
 wei<<=1;
	}

if((zhongduancishu>26)&&(zhongduancishu<35)) 
 {
	mcs=TH0*256+TL0;
	maichongshijian=mcs-mcsb;
	mcsb=mcs;
	if(zhongduancishu==27)wei=0x01;
	if((maichongshijian>1000)&&(maichongshijian<1200)){shujufan&=~wei;}
	if((maichongshijian>2100)&&(maichongshijian<2400)){shujufan|=wei;}
	wei<<=1;
	}	
if(zhongduancishu==34)
 {
	TR0=0;
	zhongduancishu=0;
	xc[0]=shujufan/0x10;
	xc[1]=shujufan%0x10;

	xc[6]=shuju/0x10;
	xc[7]=shuju%0x10;			
	}

}
void init_t0(void)
{
TMOD=0X01;
TH0=0X00;
TL0=0X00;
/*
ET0=1;
PT0=1;
*/
}
/*
void ser_t0(void)interrupt 1
{
yichu++;
}
*/
void main(void)
{
init_int0();
init_t0();
while(1)
 {
	xianshi();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -