#include <STC89C5xRC.H>
unsigned char i=0,j=0;
bit mode=0;
void timer_init()
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x02; //设置定时器模式
TL0 = 0xA4; //设置定时初值
TH0 = 0xA4; //设置定时重载值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0=1;
EA=1;
}
void timer_interrupt() interrupt 1
{
i++;
if (i==100)
{
i=0;
if(mode==0)
{ j++;
if(j==90)
{
mode=1;
}
}
if(mode==1)
{ j--;
if(j==5)
{
mode=0;
}
}
}
if(i<=j)
{
P1=0xff;
P2=0xff;
P3=0xff;
P0=0xff;
}
if(i>j)
{
P1=0X00;
P2=0X00;
P3=0X00;
P0=0X00;
}
}
void main()
{
timer_init();
while(1);
}