原理
基于单片机P1口的流水灯功能
通过在数组中存储每一个灯对应状态的十六进制,然后通过循环遍历和延迟来实现LED的循环点亮。
举例:前四个灯亮,后四个灯灭。 二进制为11110000,转为十六进制为0xF0。
电路仿真图
仿真软件proteus
![](https://img-blog.csdnimg.cn/img_convert/e6694e6035644e13ca4a56f73c41c777.png)
代码
# include "reg52.h"
void delay(unsigned int x){
while(x--);
}
void main(void){
unsigned char array[]={
0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F
};
unsigned int i;
while(1){
delay(20000);
P1=array[i];
delay(20000);
i++;
if(i==8){
i=0;
}
}
}