单片机的流水灯控制,无非就是控制led等的开通与关断,而开通与关断依照电路结构,就是某个引脚输入高低电平,
比如说引脚P2.1控制led1灯的开通与关断,
而引脚P2.2控制led2灯的开通与关断,
那么交替闪烁,是不是就是流水灯了呢?
我这里使用的是51单片机,用的软件是keil软件。具体代码如下:
#include <REGX52.H>
#include<intrins.h>
#define led P2
void delay(int i)
{
while(i--);
}
void main()
{
led=~0x01;
delay(50000);
while(1)
{
int i;
for(i=0;i<3;i++)
{
led=_crol_(led,1); //左移右移函数 _crol_ 0000 1110
delay(50000);
}
for (i=0;i<3;i++)
{
led=_cror_(led,1);
delay(50000);
}
}
}
k可以看见,文件的声明是要有的,如果要宏定义也提前写在前文,而代码内容则主要是delay函数和crol函数的应用,逻辑比较简单,就是二进制码的移位。