AT89S51单片机,编写程序,用定时计数器1控制LED以10HZ的频率闪烁,求程序

2025-04-14 07:07:36
推荐回答(1个)
回答1:

# include 

unsigned int i = 0;

sbit led = P1^0;

void main(void)
{
    TMOD = 0x10;
    TH1 = 0x0FC;  //@12MHz  1ms
    TL1 = 0x18;
    EA = 1;
    ET1 = 1;
    TR1 = 1;

while(1)
{

}
}

void Timer1Interrupt(void) interrupt 3
{
    TH1 = 0x0FC;
    TL1 = 0x18;
    
i++;

if (i >= 50)
{
i = 0;
led = ~led;
}
}