产品选型

单片机流水灯实验总结 单片机流水灯实例

小编 2025-08-20 产品选型 23 0

单片机流水灯实例

之前我们学习单片机时,总是以51单片机作为入门芯片,而想要对单片机的程序进行编译,那么首先要安装KEIL文件,这里就不做介绍。

编译完成后,在我们的文件夹下找到.hex的文件,将其烧写到我们的芯片中即可。

这里简单的介绍一下入门的各类流水灯程序,有兴趣的可以实验一下。

#include<reg51.h> //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void Delaytime(uint x)//定义延时函数

{

uint i,j;

for(i=x;i>0;i--)

for(j=250;j>0;j--);

}

void main(){

uint i;

uchar temp;

while(1){

//8个流水灯逐个闪动:

temp=0x01;

for(i=0;i<8;i++){

P0=~temp;

Delayms(50);

temp<<=1;

}

//8个流水灯反向逐个闪动:

temp=0x80;

for(i=0;i<8;i++){

P0=~temp;

Delayms(50);

temp>>=1;

}

//8个流水灯依次全部点亮:

temp=0xfe;

for(i=0;i<8;i++){

P0=temp;

Delayms(50);

temp<<=1;

}

//8个流水灯依次反向全部点亮:

temp=0x7f;

for(i=0;i<8;i++){

P1=temp;

Delayms(50);

temp>>=1;

}

}

}

这些程序也可以用我们之前介绍的软件进行模拟,线路如下所示:

单片机流水灯制作实战,单片机编程案例实践,单片机快乐入门基础

用单片机做LED流水灯,是每个单片机初学者学习和训练项目之一,流动的LED灯光会提高学习者极大的热情和兴趣。选用AT89C2051制作流水灯,这款单片机的体积小、管脚少、带2K字节闪速可反复编程、擦除只读存储器的8位单片机,它具有和MCS-51产品兼容、电压使用范围宽、空载低功耗等特点。

一:单片机流水灯电路

单片机流水灯电路

功能实现思路:当P1口某位为低电平时,相应的LED灯就会点亮;其它位就为高电平,相应的LED灯不亮。延时后不断将点亮位移到下一位,就会产生循环点亮流水的效果。

二:单片机程序流程图

程序流程图

三:单片机程序编写

ORG 0H

MOV A,#0FEH ;下行初值

MOV P1,A ;从P1.0开始

MOVR2,#7 ;循环计数次数

DOWN:RLA ;下行方向

ACALL DEL50 ;延时50ms

MOV P1,A ;驱动LED

DJNZ R2,DOWN;未完继续

MOV R2,#7 ;循环计数次数

UP:RR A ;上行方向

ACALL DEL50 ;延时50ms

MOV P1,A ;驱动LED

DJNZ R2,UP ;未完继续

MOVR2,#7 ;循环计数次数

SJMP DOWN ;循环

DEL50: MOV R7,#200;延时50ms

DEL1:MOV R6,#125;200(125*2)=50000

DJNZ R6,$ ;

DJNZ R7,DEL1;

RET

END

将程序通过编译器和烧录器写入单片机IC 89C2051中。

四:流水灯制作

流水灯实物参考

参照电路图中的元件参数:

1、R1:1/4W金属膜电阻,阻值10KΩ。

2、R2-R9:1/4W金属膜电阻,阻值200Ω。

3、C1:电解电容器,10UF/16V。

4、C2-C3:瓷片电容器,30PF/50V。

5、X1:晶体振荡器,12MHZ。

6、IC:单片机,AT89C2051。

7、IC座:20脚单片机用。

8、M5发光二极管(LED灯),可选择不同颜色。

9、DC5V直流电源。可以用手机充电器或移动充电宝的5V输出电压,也可以插电脑USB接口等。

焊接好以上电子元件,检查无误后,插上单片机IC,通上5V电源,流水灯可以正常工作。

祝大家流水灯制作成功,体验学习单片机带来的乐趣,欢迎交流!

相关问答

at89c51 单片机流水灯 原理是什么?

本流水灯系统使用AT89C51单片机来实现流水灯的控制的设计原理是:P1的八个接口P1.0~P1.7,都通过限流电阻的连接着LED灯的阳极,所有LED灯的阴极的连接在0V,要让...

单片机流水灯 C语言程序(8个灯,依次点亮每个灯,延时500MS)?

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include

单片机 走马 灯实验灯 亮原理?

跑马灯可以用MCS-51单片机控制一个LED点阵来实现,一个简单的跑马灯,每一个小方格代表一个发光二极管,黑色代表相应位置的发光二极管被点亮,白色的空格表示未...

单片机流水灯 程序怎么编?

编写单片机流水灯程序的步骤如下:1.确定使用的单片机型号和开发环境,选择合适的编程语言和开发工具。2.根据硬件电路设计,确定流水灯LED灯的接口引脚和控...

怎么用keil5做51 单片机流水灯 ?

要用keil5做51单片机流水灯,首先需要创建一个新的工程,并选择合适的单片机型号。然后,在代码中定义需要使用的引脚,并编写流水灯控制程序。在编译和链接完成...

单片机 如何用按钮控制 流水灯 ?

单片机可以通过编程控制流水灯的开关,只需要将相应的按钮连接到单片机的GPIO端口,编写程序实现开关控制逻辑,即可实现流水灯的控制。具体步骤包括初始化GP...

51 单片机流水灯 方向改变原理?

单片机流水灯控制原理就是将多个LED灯珠连接到不同的单片机输出端上,编程使单片机的这些输出端逐个的输出信号点亮LED,在设置好各个LED的通电的时间和通电间隔...

怎么用89C51 单片机 实现用一个开关控制8个 流水灯 ,要求开关按下去松开是亮的,再按下去松开是灭的?

开关,接在P2.7与地之间。#include开关,接在P2.7与地之间。#include//预处理命令voidw(unsignedchark){unsignedinta;//定义变量a为int类型...

单片机 开发板上的p0口和p1口实现 流水灯 控制?

当然只能一个一个的移了,51单片机一次只能操作一个8位端口的寄存器用C语言编程虽然可以实现16位数据的左移和右移,但控制LED时还是要分两个端口写入例如:uinta...

单片机 独立按键控制 流水灯 的C语言程序怎么写?

首先选择一款单片机学习。推荐使用51单片机:简单好用资料多。网上随便找一套入门视频教程就行了。如果c语言不会的话,先学c语言。如果c语言已经入门了,就可...

猜你喜欢