用定时器实现led闪烁(间隔1s)

#include
#define led P0
void main()
{
unsigned char cnt;
TMOD=0x01;//选择定时器的工作方式为16位计数
TH0=0xB8;   //定义定时器的初值 。计算方法:x*12/11059200=0.02 得x=47104    初值=65536-47104=18432;转化为十进制就是0xB8
TL0=0;
TR0=1;//打开定时器
while(1)
{
if (TF0==1)//检测是否溢出
{
TF0=0;//由软件清零
TH0=0XB8;//重新赋值
TL0=0X00;
cnt++;//累加器
}
if(cnt>=50)
{
cnt=0;
led=~led;
}

}
}

你可能感兴趣的:(用定时器实现led闪烁(间隔1s))