单片机开发中流水灯其实就是利用二极管发光的原理,构建一排二极管,依次点亮某一个二极管,中间利用延时起到一个过渡的效果,循环往复,这就是我们看到的流水灯效果。
仿真软件Proteus中构建硬件项目,选择8051单片机类型,最后画出如下所示电路图:
在源代码文件main.c中书写如下代码:
#include <reg51.h>
#include <stdio.h>
unsigned char leddata[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay()
{
unsigned int i,j;
for(i=1000;i>0;i--)
{
for(j=110;j>0;j--);
}
}
void main(void)
{
unsigned int i;
for(i=0;i<8;i++)
{
P3 = leddata[i];
delay();
}
}
编译,构建。最后进行仿真,效果如下所示:
这里二极管接的是P3引脚的8个引脚,