单片机代码 小灯从左往右闪5次,后从右往左闪5次,再后小灯全亮闪5次。就这样一直循环下去。代码有点小错

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b,c;
void main()
{
while(1)

{

for(a=0;a<5;a++)
{
P1=0xFE;
ac();
P1=0xFD;
ac();
P1=0xFB;
ac();
P1=0xF7;
ac();
P1=0xEF;
ac();
P1=0xDF;
ac();
P1=0xBF;
ac();
P1=0x7F;
ac();
}
for(b=0;b<5;b++)
{
P1=0x7F;
ac();
P1=0xBF;
ac();
P1=0xDF;
ac();
P1=0xEF;
ac();
P1=0xF7;
ac();
P1=0xFB;
ac();
P1=0xFD;
ac();
P1=0xFE;
ac();
}
for(c=0;c<5;c++)
{
P1=0;
ac();
}
}
}

void ac()
{
uint x;
for(x=50000;x>0;x--);
}

在main函数之前增加ac函数的原型:
void ac();
void main()
{
。。。。
}
还有全亮后要关灯,否则一直全亮
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-02
你的延时程序在开头没有声明,单片机运行的时候不认识ac()。追问

谢谢你的帮忙 谢谢了

第2个回答  2015-04-02
最后面,灯开了没有关,修改如下
for(c=0;c<5;c++)
{
P1=0;
ac();
P1=0xff;
ac();
}追问

谢谢你的帮忙 谢谢了

相似回答