标题: 为啥这样 单片机LED灯不闪烁啊?我想让它定时到了 灯闪烁 [打印本页]

作者: 完美BAO    时间: 2020-5-7 18:57
标题: 为啥这样 单片机LED灯不闪烁啊?我想让它定时到了 灯闪烁
怎么LED才能在定时到了闪烁

51hei图片20200507185357.png (18.4 KB, 下载次数: 20)

51hei图片20200507185357.png

作者: adject    时间: 2020-5-7 23:03
ET0=0表示关闭定时器0的中断,TR0=0是定时器停止工作,去掉这2行就好乐
作者: bobo233    时间: 2020-5-8 00:36
在中断服务程序中,你把ET0和TR0 关掉了。注释掉这两句应该就行
作者: 完美BAO    时间: 2020-5-8 10:33
bobo233 发表于 2020-5-8 00:36
在中断服务程序中,你把ET0和TR0 关掉了。注释掉这两句应该就行

去掉这两行 会出现  定时到了   它会一直走  灯也一直亮
作者: wulin    时间: 2020-5-8 13:47
完美BAO 发表于 2020-5-8 10:33
去掉这两行 会出现  定时到了   它会一直走  灯也一直亮

bit j=0;//闪烁周期标志
bit k=0;//闪烁允许标志
void timer0() interrupt 1
{
        static uint i;

        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        i++;
        if(i<10)j=1;//0.5s
        else j=0;               
        if(i==20)        //1s
        {
                i=0;
                time_cnt++;
                if(time_cnt==time)//time控制闪烁启停时间
                {
                        time_cnt=0;       
                        k=~k;
                }
        }
        if(j==1&&k==1)//1s周期闪烁
                led=0;
        else led=1;
}
作者: 完美BAO    时间: 2020-5-8 16:48
wulin 发表于 2020-5-8 13:47
bit j=0;//闪烁周期标志
bit k=0;//闪烁允许标志
void timer0() interrupt 1

谢谢 哥哥




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1