任务要求:使用单片机P1口控制8个发光二极管循环点亮元器件名称 | 参数 | 数量 |
单片机最小系统 | | 1 |
直流电源 | 5V | 1 |
发光二极管 | | 8 |
电阻 | 1kΩ | 8 |
电路原理图
本文引用地址:https://www.eepw.com.cn/article/201611/320225.htm
电源模块:使用4节5号电池串联提供6V直流电源,通过LM2940电源芯片转变成5V直流电源。
8个发光二极管,方便使用做成了小板,采用共阳极接法
程序源代码
//程序:ex3_7.c
//功能:采用循环结构实现的流水灯控制程序
#include //包含头文件REG51.H
void delay(unsigned char i); //延时函数声明
void main()//主函数
{
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 char i)//延时函数,无符号字符型变量i为形式参数
{
unsigned char j,k;//定义无符号字符型变量j和k
for(k=0;k//双重for循环语句实现软件延时
for(j=0;j<255;j++);
}
评论