8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,一直重复下去
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,num,num1;
void delay(uint);
void main()
{
temp=0xfe;
while(1)
{
for(num1=0;num1<3;num1++) //八个发光二极管从上到下依次被点亮3三次
{
for(num=0;num<8;num++) //八个发光二极管依次被点亮
{
P1=temp; //点亮一个发光二极管
delay(100); //延时
temp=_crol_(temp,1);//变量移位
P1=0xff; //关闭全部发光二极管
delay(100); //延时
}
}
for(num1=0;num1<3;num1++) //八个发光二极管从下到上依次被点亮3三次
{
for(num=0;num<8;num++)
{
P1=temp;
delay(100);
temp=_cror_(temp,1);
P1=0xff;
delay(100);
}
}
while(1);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
温馨提示:答案为网友推荐,仅供参考