[AVR单片机] 小白求助

[复制链接]
 楼主| whyqq 发表于 2013-7-24 17:24 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 whyqq 于 2013-7-24 18:45 编辑

本人初学小白一只,想求教有关程序错误的解决
我写了一个循环嵌套想让四个小灯泡依次闪动三次,但下载进去后现象却是依次闪动一次之后全部长亮,
另外我用的是mage8的单片机共有四个分别连在c0~c3口的发光二级管,当端口输出0时点亮。
求各位大神解惑呗,这个程序我看了一天了,什么错也没看出来,明明编译都正确了啊?
for(a=0;a<3;a++)
{
         for(i=0;i<4;i++)
           {
                k<<=1;
                PORTC=k;
                delay(50);
           }
            i=0;
}
qin552011373 发表于 2013-7-24 18:51 | 显示全部楼层
PORTC=k;换成PORTC=~k;再试试
 楼主| whyqq 发表于 2013-7-24 19:16 来自手机 | 显示全部楼层
qin552011373 发表于 2013-7-24 18:51
PORTC=k;换成PORTC=~k;再试试

变成了依次变亮了,但还是只依次亮一遍啊,我想要的是让它依次亮三次,不过谢谢大神指点,我本来也想弄个方法让它依次亮而不是依次灭的,你一下就点醒我了
qin552011373 发表于 2013-7-24 19:33 | 显示全部楼层
whyqq 发表于 2013-7-24 19:16
变成了依次变亮了,但还是只依次亮一遍啊,我想要的是让它依次亮三次,不过谢谢大神指点,我本来也想弄个 ...

你再想想逻辑  这次我就不说  等你自己想通
aifang 发表于 2013-7-24 20:48 | 显示全部楼层
估计是这条语句出了问题k<<=1;
移完4次后 k 的低四位全为0 ,所以灯就全亮了
 楼主| whyqq 发表于 2013-7-24 23:20 来自手机 | 显示全部楼层
本帖最后由 whyqq 于 2013-7-24 23:29 编辑
aifang 发表于 2013-7-24 20:48
估计是这条语句出了问题k

好吧,我终于知道哪儿错了,不是要重新定义i,而是要重新定义k啊,谢谢各位啊。
joyme 发表于 2013-7-25 10:57 | 显示全部楼层
不是重新定义,是每次循环后要重新赋值
Black残 发表于 2013-7-25 15:11 | 显示全部楼层
这程序应该有问题吧  k<<=1;  PORTC=k  应该取个反   最后在重新定义k  全1  灯才会灭
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部