|
//可添加多个IO,多路控制
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit IRIN=P3^2;
sbit R1=P1^0;
sbit D1=P1^1;
uchar INdate[4], W, Z,D;
void delay(uchar x) //x*0.14MS红外用判断时间
{
uchar i;
while(x--)
{
for (i = 0; i<13; i++);
}
}
void main ()
{
EA=1;
EX0=1;
TCON=0X01;//下降沿触发中断
IRIN=1;//红外接口首次赋高电平,等待接受红外信号
while (1)
{
if(Z==1)
{R1=!R1;
Z=0;
}
}
}
void IR_IN(void) interrupt 0 //外部中断服务程序,红外用
{
uchar j,k,N=0;
EX0 = 0;
delay(15);
if (IRIN==1)
{
EX0 =1;
return;
}
|
|