发新帖我要提问
12
返回列表
打印
[51单片机]

为什么灯在5秒之后不闪?谢谢

[复制链接]
楼主: 1349236685
手机看帖
扫描二维码
随时随地手机跟帖
21
jie1095| | 2015-1-17 16:02 | 只看该作者 回帖奖励 |倒序浏览
1349236685 发表于 2015-1-17 12:38
num=20时要清0,要是num=100,led取余的话,灯也不能闪啊  请问这个问题怎么解决?谢谢~~我写的确实有点 ...

你可以定义一个延时函数delay,然后在定时器中断中定义变量flag标志位,以为每次5s,一种情况是闪的,另一个是灭的,有个标志位方便些。中断里面大概思路是这样写
                        if(num == 100)
                        {
                                num = 0;
                                flag = ~flag;
                                while(flag)
                                {
                                        led ^= 1;
                                        m++;
                                        delay();
                                        if(m == 5)
                                        {
                                            m = 0;
                                            break;
                                         }                                          
                                }                               
                        }

使用特权

评论回复
22
1349236685|  楼主 | 2015-1-19 12:00 | 只看该作者
jie1095 发表于 2015-1-17 16:02
你可以定义一个延时函数delay,然后在定时器中断中定义变量flag标志位,以为每次5s,一种情况是闪的,另 ...

谢谢您~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则