1、顺序法,流程图如下:
程序如下:
#include <reg52.h>//头文件
#define LED1 P20//宏定义
#define LED2 P21
#define LED3 P22
#define LED4 P23
#define LED5 P24
void delay_100ms()//延时函数
{
unsigned char i, j;
i = 195;
j = 138;
do
{
while (--j);
} while (--i);
}
int main()//main是程序入口
{
P2=0xff;//熄灭所有LED灯
while (1)
{
LED1=0;
delay_100ms();
LED1=1;LED2=0;
delay_100ms();
LED2=1;LED3=0;
delay_100ms();
LED3=1;LED4=0;
delay_100ms();
LED4=1;LED5=0;
delay_100ms();
LED5=1;
}
return 0;//返回值为0
}//5个led灯
现象如下:
开发板使用普中51单片机A2型
2、使用左移
程序如下:
#include <reg52.h>//头文件
void delay_100ms()//延时函数
{
unsigned char i, j;
i = 195;
j = 138;
do
{
while (--j);
} while (--i);
}
int main(){
P2=0XFF;
int i=0;
while (1)
{
P2=~(0x01<<i++);//左移,<<;~位取反。
if(i==8){
i=0;
}
delay_100ms();
}
return 0;
}//8个led灯
现象如上。
代码在gitee上,使用git下载,链接如下:
https://gitee.com/autumn-wind-painting-fan/c51-microcontroller.git
标签:02,P2,100ms,--,51,delay,单片机,while,define
From: https://blog.51cto.com/u_16299102/8475672