欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 為什么這單片機程序不能循環(huán)啊,八個燈亮了后程序就停了 [打印本頁]

作者: w322405    時間: 2017-8-11 23:44
標題: 為什么這單片機程序不能循環(huán)啊,八個燈亮了后程序就停了
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
void main()
{
uchar a;
uint i;
a=0xff;
while(1)
{ //如果把a=0xff放在這就只有一個燈循環(huán)了
for(i=0;i<8;i++)
{
a=a<<1;
P1=a;
delay(300);
for(i=0;i<8;i++)
{
a=_crol_(a,1);
  P1=a;
delay(300);
}

}

  }
   }
void delay(uint xm)
{
uint j,k;
for(j=xm;j>0;j--)
for(k=110;k>0;k--);
}

作者: 寶哥哥    時間: 2017-8-12 00:28
延時程序那里看看。
作者: 寶哥哥    時間: 2017-8-12 00:28
延時的定義你可以改一下。
作者: ZXHREG    時間: 2017-8-12 08:02
都是零了就都亮,循環(huán)也是零
作者: HC6800-ES-V2.0    時間: 2017-8-12 08:16
循環(huán)沒有停,只是你看不到效果而已!
原因是:
你的第一次循環(huán),讓燈全部亮了,沒有復位,所以,以后的所有循環(huán),你都看不到效果了。
這樣改:
循環(huán)完后,重新賦值a=0xff
作者: w322405    時間: 2017-8-12 10:05
HC6800-ES-V2.0 發(fā)表于 2017-8-12 08:16
循環(huán)沒有停,只是你看不到效果而已!
原因是:
你的第一次循環(huán),讓燈全部亮了,沒有復位,所以,以后的所 ...

要是在while(1)下賦值a=0xff就不能進第一個for里的i值只能加一了,該怎么解決
作者: hawklm    時間: 2017-8-12 23:06
用 do{} while()試試?
作者: 驅蚊燈    時間: 2017-8-13 05:56
void main()
{
    whiie(1)
   {

   }
}
作者: 驅蚊燈    時間: 2017-8-13 05:57
主程序加個while(1)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1