void main(void)
{
unsigned char i;
for(i=0;i<255;i++) //注意i的值不能超过255
{
P0=i; //将i的值送P0口
delay(); //调用延时函数
}
}
当255次循环执行完后应当跳出循环的,可是为什么我在实验板上运行时8个灯一直循环,没有跳出循环?(而是循环完255次后,又自动装初值i=0,再次进行循环?)难道是我对for循环理解有误?求各位帮帮忙!谢谢啦!
有关单片机 for循环语句 控制 流水灯 的问题
void main(void) {}主程序是一直循环的,当i=255循环完255次后,主程序又从头开始,进入for循环i=0,再次进行循环,其实for已经完成一个循环了,你可以在for循环结束后加入while(1);在当前语句循环 void main(void){ unsigned char i;for(i=0;i<255;i++) \/\/注意i的值不能超过255 { P0=...
如何用单片机控制流水灯闪烁?
可以用for循环试试unsingned char i;for(i=0;i<5;i++)\/\/流水灯闪烁程序。若干个灯泡依次点亮就叫流水灯,它用在夜间建筑物装饰方面。例如在建筑物的棱角上装上流水灯,可起到变换闪烁美不胜收的效果。单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处...
用51单片机写了一个流水灯程序,有一点问题,请高手解惑
单片机的流水灯程序,因为程序就这么写的,决定了流水灯左移7次,再右移7次,结束两个循环后,才能执行下面的while(!key),按键才有效,而在循环过程中,不执行while(!key),所以按键无效。下图画红框内的两个循环。要想按键随时有效,应该把两个移位函数_cror_,_crol_ 放在主程中,检测key也放在...
单片机流水灯全亮在灭在亮的程序怎么写
你流水灯都写好了 全亮全灭还不简单啊,设置 P0=0X00 (假设低电平亮,高电平灭) 在延迟一下 在P0=0XFF 在延时 不就OK了 把这几个指令打包下放到一个子程序里 你用按键控制的时候就让按键执行这个子程序 如果是 主程序循环的 话就放进主程序 ...
关于单片机流水灯左移右移的问题?
for(k=250;k>0;k--);理解这三句,第一句是指:m=20;m>0然后m--是真就执行:for(n=20;n>0;n--)for(k=250;k>0;k--);这两句,m--一直减,减一次,里面就执行一次,这里是20次。流水灯的左右移,第一用"intrins.h"的文件包,第二要要会定义赋值变量,第三延时,这是关键。
51单片机:流水灯每循环一次,都让一个灯常亮
for(j=0;j<8;j++){ m<<=1; P1=m;\/\/第一位for(k=j;k<8;k++){delay(2000);\/\/延时P1=_crol_(P1,1);\/\/左移1位} } while(1); \/\/ 如果要周而复始变化,就注释掉本行 }
单片机流水灯代码
一般来说,实现流水灯功能需要以下步骤:首先确定单片机型号和开发环境,并熟悉指令集和寄存器配置。然后确定LED灯的连接方式,并编写程序来控制LED灯的亮灭状态。最后在程序中添加延时函数来实现LED灯的亮灭延迟。在编写程序时,需要注意语法错误和逻辑错误,并进行测试和调试,以确保程序能够正确运行并实现...
单片机的流水灯一个不亮,程序有问题吗?
第二个for语句嵌套的时候都要最后有分号,而第一个没有,是因为第二个是作为第一个的循环体。程序小改一下就好了:void main(){ while(1) { \/\/ { while(0) 改这行 P2=0X80;for(i=1000;i>0;i--)for(j=100;j>0;j--);P2=0X40;for(i=1000;i>0;i--)for(j=100;j>0;...
单片机 流水灯怎样全部闪烁 五次之后停止
可以用for循环试试unsingned char i;for(i=0;i<5;i++)\/\/流水灯闪烁程序。若干个灯泡依次点亮就叫流水灯,它用在夜间建筑物装饰方面。例如在建筑物的棱角上装上流水灯,可起到变换闪烁美不胜收的效果。单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据...
单片机做流水灯时,怎么使灯亮的时间长点,而延时到下一盏灯亮的时间短...
加一个for循环,定义一个值为100,或者更大,让循环里面是灯的亮,循环完事后立即去点亮另个灯,一直循环,这样看你控制几个灯,有点麻烦,最好和上面说的那样,定义几个延时子程序,灯亮调用这个,灭调用另一个时间短的。这样程序量会少些。