找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3895|回復(fù): 8
收起左側(cè)

為什么這單片機(jī)程序不能循環(huán)啊,八個燈亮了后程序就停了

[復(fù)制鏈接]
ID:225054 發(fā)表于 2017-8-11 23:44 | 顯示全部樓層 |閱讀模式
#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(bǔ)=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--);
}

評分

參與人數(shù) 1黑幣 +5 收起 理由
萌面大超人 + 5 贊一個!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:223214 發(fā)表于 2017-8-12 00:28 | 顯示全部樓層
延時程序那里看看。
回復(fù)

使用道具 舉報(bào)

ID:223214 發(fā)表于 2017-8-12 00:28 | 顯示全部樓層
延時的定義你可以改一下。
回復(fù)

使用道具 舉報(bào)

ID:218365 發(fā)表于 2017-8-12 08:02 來自手機(jī) | 顯示全部樓層
都是零了就都亮,循環(huán)也是零
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2017-8-12 08:16 | 顯示全部樓層
循環(huán)沒有停,只是你看不到效果而已!
原因是:
你的第一次循環(huán),讓燈全部亮了,沒有復(fù)位,所以,以后的所有循環(huán),你都看不到效果了。
這樣改:
循環(huán)完后,重新賦值a=0xff
回復(fù)

使用道具 舉報(bào)

ID:225054 發(fā)表于 2017-8-12 10:05 來自手機(jī) | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2017-8-12 08:16
循環(huán)沒有停,只是你看不到效果而已!
原因是:
你的第一次循環(huán),讓燈全部亮了,沒有復(fù)位,所以,以后的所 ...

要是在while(1)下賦值a=0xff就不能進(jìn)第一個for里的i值只能加一了,該怎么解決
回復(fù)

使用道具 舉報(bào)

ID:78850 發(fā)表于 2017-8-12 23:06 | 顯示全部樓層
用 do{} while()試試?
回復(fù)

使用道具 舉報(bào)

ID:218870 發(fā)表于 2017-8-13 05:56 | 顯示全部樓層
void main()
{
    whiie(1)
   {

   }
}
回復(fù)

使用道具 舉報(bào)

ID:218870 發(fā)表于 2017-8-13 05:57 | 顯示全部樓層
主程序加個while(1)
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表