51单片机定时计数器控制LED1s闪烁一次

180it 2022-03-20 PM 965℃ 0条

51单片机定时计数器控制LED1s闪烁一次

#include<reg51.h>//头文件
sbit LED=P2^0;//位定义LED灯
void Timer0()//使用定时计数器所做的处理函数,用做定时器
{
    TMOD=0x01;//定时器0,方式1
    TH0=0xFC;//定时1ms的初值
    TL0=0x18;//定时1ms的初值
    ET0=1;//打开定时计数器0使能控制位
    EA=1;//打开总中断
    TR0=1;//打开定时计数器0的启动控制位    

}
void main()//主函数
{
    Timer0();//调用函数
    while(1);
}

void ledxs()interrupt 1//中断执行内容函数,用定时器0编号为1
{
    static unsigned int i;
    TH0=0xFC;//方式1不是自动重装,需要重新装载初值
    TL0=0x18;    
    i++;
    if(i==1000)//让LED灯过1s闪烁
    {
        i=0;
        LED=~LED;
    }    
}

注:

使用定时器0,方式1,实现定时1ms
LED灯接于单片机P2口

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

51单片机定时计数器控制LED1s闪烁一次