许多朋友不知道怎么用C语言编程实现AT89C51单片机流水灯,这里给大家讲解一下。
首先将单片机的头函数导入。
#include"reg51.h"
定义单片机P1口的8个管脚,使其分别代表流水灯的8个led。
sbit p0=P1^0;
sbit p1=P1^1;
sbit p2=P1^2;
sbit p3=P1^3;
sbit p4=P1^4;
sbit p5=P1^5;
sbit p6=P1^6;
sbit p7=P1^7;
写一个延时函数。
void A(unsigned int x){
unsigned char i;
for(;x>0;x--)
for(i=0;i<125;i++);
}
主函数中写一个死循环。
int main(){
while(1){
p1=0;
p0=1;
A(1000);
p0=0;
p1=1;
A(1000);
p1=0;
p2=1;
A(1000);
p2=0;
p3=1;
A(1000);
p3=0;
p4=1;
A(1000);
p4=0;
p5=1;
A(1000);
p5=0;
p6=1;
A(1000);
p6=0;
p7=1;
A(1000);
p7=0;
}
}
死循环中点亮一盏灯,再熄灭前一盏灯。
好了以上就是全部源码。