#include <reg51.h>
void InitTimer1(void);
void delay_up(void);
unsigned int i,j;
unsigned char bdata flag;
sbit delay_50ms=flag^0;
sbit delay_500ms=flag^1;
void main(void)
{
InitTimer1();
i=0,j=0;
while(1)
{
delay_up();
while(delay_500ms==1)
{
delay_500ms=0;
P1=~P1;
}
}
}
int_handler() interrupt 3
{
TH1 = 0x3C;
TL1 = 0xB0;
TR1 = 1;
delay_50ms=1;
}
void InitTimer1(void)
{
TMOD = 0x10;
TH1 = 0x3C;
TL1 = 0xB0;
EA = 1;
ET1 = 1;
TR1 = 1;
}
void delay_up(void)
{
if(delay_50ms==1)
{
i++;
delay_50ms=0;
}
if(i==10)
{
delay_500ms=1;
i=0;
}
}