找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1672|回复: 5
收起左侧

为啥这样 单片机LED灯不闪烁啊?我想让它定时到了 灯闪烁

[复制链接]
ID:638198 发表于 2020-5-7 18:57 | 显示全部楼层 |阅读模式
怎么LED才能在定时到了闪烁
51hei图片20200507185357.png
回复

使用道具 举报

ID:419968 发表于 2020-5-7 23:03 | 显示全部楼层
ET0=0表示关闭定时器0的中断,TR0=0是定时器停止工作,去掉这2行就好乐
回复

使用道具 举报

ID:440553 发表于 2020-5-8 00:36 | 显示全部楼层
在中断服务程序中,你把ET0和TR0 关掉了。注释掉这两句应该就行
回复

使用道具 举报

ID:638198 发表于 2020-5-8 10:33 | 显示全部楼层
bobo233 发表于 2020-5-8 00:36
在中断服务程序中,你把ET0和TR0 关掉了。注释掉这两句应该就行

去掉这两行 会出现  定时到了   它会一直走  灯也一直亮
回复

使用道具 举报

ID:213173 发表于 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;
}
回复

使用道具 举报

ID:638198 发表于 2020-5-8 16:48 | 显示全部楼层
wulin 发表于 2020-5-8 13:47
bit j=0;//闪烁周期标志
bit k=0;//闪烁允许标志
void timer0() interrupt 1

谢谢 哥哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表