用定时器T0 工作方式一 控制P0口 4个led实现流水灯,闪烁1秒,用C语言编

2025-04-01 03:23:27
推荐回答(1个)
回答1:

#include
#define uchar unsigned char
uchar cnt,pos;
uchar led[4]={0xfe,0xfd,0xfb,0xf7};
bit flag;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=20)
    {
        cnt=0;
        flag=~flag;
        if(flag)
        {
        P1=led[pos];
        pos++;
        pos%=4;
        }
        else P1=0xff;
    }
}
main()
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}