首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

小疑点求教

2012-02-29 
小问题求教#includereg52.h#includeintrins.h#define uint unsigned int#define uchar unsigned charu

小问题求教
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar a;
uint i,j;
uchar table[]={0x7e,0xbd,0xdb,0xe7};
uint num;
void delayms(uint);
void main()
{
while(1)
{
for(i=3;i>0;i--)
{
for(num=0;num<=3;num++)
{
P1=table[num];
delayms(200);
}
for(num=3;num>=0;num--)
{
P1=table[num];
delayms(200);
}
}
for(j=3;j>0;j--)
{
P1=0X00;
delayms(200);
P1=0xff;
delayms(200);
}

}
}
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}


我写的程序是循环3遍,可是为什么流水的只循环一遍就停了??

[解决办法]
for(num=3;num>=0;num--)

[解决办法]
二楼正解,你的程序停在这了(也可能访问table[num]时死了)
for(num=3;num>=0;num--)
{
P1=table[num];
delayms(200);
}
因为
uint num;
永远都不会小于0

热点排行