关于郭天祥老师第二课课后习题8个小灯闪烁的问题!求教
时间:10-02
整理:3721RD
点击:
/*8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。*/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay (uint);
void main ()
{
while (1)
{ int x;
for(x=2;x>0;x--)
{
int x;
uchar temp;
temp=0x7f;
P1=temp;
for (x=7;x>0;x--)
{
delay(4);
temp=_cror_(temp,1);
P1=temp;
//delay(4);
}
for (x=7;x>0;x--)
{
delay(4);
temp=_crol_(temp,1);
// delay(4);
P1=temp;
}
}
for(x=5;x>0;x--)
{ uchar temd;
temd=0xff;
P1=temd ;
delay(6);
temd=0x00;
P1 =temd;
}
}
}
void delay (uint z)
{
int x,y;
for(x=z;x>0;x--)
for(y=12500;y>0;y--)
for(x=10;x>0;x--);
}
前面流水灯没问题,但是后面8个灯闪烁的时候就是不出效果!
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay (uint);
void main ()
{
while (1)
{ int x;
for(x=2;x>0;x--)
{
int x;
uchar temp;
temp=0x7f;
P1=temp;
for (x=7;x>0;x--)
{
delay(4);
temp=_cror_(temp,1);
P1=temp;
//delay(4);
}
for (x=7;x>0;x--)
{
delay(4);
temp=_crol_(temp,1);
// delay(4);
P1=temp;
}
}
for(x=5;x>0;x--)
{ uchar temd;
temd=0xff;
P1=temd ;
delay(6);
temd=0x00;
P1 =temd;
}
}
}
void delay (uint z)
{
int x,y;
for(x=z;x>0;x--)
for(y=12500;y>0;y--)
for(x=10;x>0;x--);
}
前面流水灯没问题,但是后面8个灯闪烁的时候就是不出效果!
P1 =temd;后面加个延时看看,你现在的程序是灯一点亮就马上熄灭了,肉眼看不到
求教!谢谢! 谢谢了,可能问题比较低级,但是我真的调试了好几遍,就是不知道怎么回事。我用面包板做的。
程序没有问题啊 在学习板也不行吗
恩,对的。我自己做的面包板,流水灯程序都可以走,就是到了8个灯闪烁的时候就是不行了。愁死~~~
恩,对的。刚弄后面的东西的时候突然想到了。谢谢了!