

代码测试没有问题,在keil里仿真端口也是理想运行的,但是放进protues仿真中,只有2468灯亮
关注【相关推荐】
缺点:代码冗长
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit L1=P1^0;//将P1^0赋值给变量L1
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
sbit L5=P1^4;
sbit L6=P1^5;
sbit L7=P1^6;
sbit L8=P1^7;
void delay(uint n)//延时函数(n)ms
{
uchar i;
uint j;
for(j=0;j<n;j++)
for(i=0;i<123;i++);
}
void flash1()//LED1亮0.5s后熄灭
{
L1=0;//LED1亮
delay(500);
L1=1;//LED1灭
}
void flash2()
{
L2=0;
delay(500);
L2=1;
}
void flash3()
{
L3=0;
delay(500);
L3=1;
}
void flash4()
{
L4=0;
delay(500);
L4=1;
}
void flash5()
{
L5=0;
delay(500);
L5=1;
}
void flash6()
{
L6=0;
delay(500);
L6=1;
}
void flash7()
{
L7=0;
delay(500);
L7=1;
}
void flash8()
{
L8=0;
delay(500);
L8=1;
}
void main (void)
{
while(1)
{
flash1();
flash2();
flash3();
flash4();
flash5();
flash6();
flash7();
flash8();
flash8();
flash7();
flash6();
flash5();
flash4();
flash3();
flash2();
flash1();
}
}