任务要求:使用单片机P1口控制8个发光二极管循环点亮
元器件名称 | 参数 | 数量 | 单片机最小系统 | | 1 | 直流电源 | 5V | 1 | 发光二极管 | | 8 | 电阻 | 1kΩ | 8 | 电路原理图

电源模块:使用4节5号电池串联提供6V直流电源,通过LM2940电源芯片转变成5V直流电源。


8个发光二极管,方便使用做成了小板,采用共阳极接法

流水灯实验完整硬件

程序源代码
//程序:ex3_7.c
//功能:采用循环结构实现的流水灯控制程序
#include<reg51.h> //包含头文件REG51.H
void delay(unsigned char i); //延时函数声明
voidmain() //主函数
{
unsigned char i,w;
while(1) {
w=0x01; //信号灯显示字初值为01H
for(i=0;i<8;i++)
{
P1=~w; //显示字取反后,送P1口
delay(200); //延时
w<<=1; //显示字左移一位
}
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned chari) //延时函数,无符号字符型变量i为形式参数
{
unsignedchar j,k; //定义无符号字符型变量j和k
for(k=0;k<i;k++) //双重for循环语句实现软件延时
for(j=0;j<255;j++);
}
|