帮你改好了
#include
unsigned char t=0;
sbit P3_7 = P3^7;
void main()
{
TMOD = 0x01;//设T0为定时方式1
TH0 = 0x3c;//设置定时100ms初值
TL0 = 0xB0;
EA = 1;//CPU开中断
ET0 = 1;//定时器0允许中断
P3 = 0x00;//设置P3口为正常状态
P1 = 0x00;//使VD1~VD6发红外光
while(1)
{
if(P3!=0x00)//监视是否有人闯入
{
TR0 =1;//启动T0定时
}
}
}
void timer0() interrupt 1//定时器0中断子程序
{
TH0 = 0x3c;//重设定时初值
TL0 = 0xB0;
t++;
if(t==10)//1S到,否则1S未到返回
{
t=0;//重设计数器初值
P3_7=!P3_7;//P3.7口取反
}
}
char TICK;
main()
{
TICK = 0x0a;
P3=0;
P1 = 0;
TMOD = 1;
TH0 = 0x3C;
TL0 = 0xB0;
EA = 1;
ET0 = 1;
while (P3!=0);
TR0 =1;
while(1);
}
void ISP() interrupt 1
{
TH0 = 0x3C;
TL0 = 0xB0;
if (--TICK ==0)
{
TICK = 0x0a;
P3.7 = !P3.7;
}
}
记得给分吧。