产品概述

单片机流水灯实验报告 单片机流水灯实例

小编 2024-11-23 产品概述 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电源,流水灯可以正常工作。

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

相关问答

51 单片机 ,按键控制 流水灯 程序,懂的进!八个LED灯与 单片机 P1口...

[最佳回答]假如,你的程序在执行key_scan();是触发了两次中断导致num>20,你的显示函数将永远被跳过,你应该写成if(num>20)��{���num=0;���display();�.....

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

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

单片机流水灯 8盏LED灯用汇编语言实现p1口首先点亮3,4,5,6。后向左移动,间隔时间1.4s?

先做个1.4s的延时子程序;再设计主程序,一个一个的实现8个LED的闪亮。先做个1.4s的延时子程序;再设计主程序,一个一个的实现8个LED的闪亮。

单片机流水灯 闪烁几次停止?

单片机8个流水灯闪10次后停止。单片机流水灯是指一串LED灯,通过单片机控制,按照一定的顺序,不断循环地轮流点亮,闪烁10次后停止。单片机8个流水灯闪10次后停...

单片机流水灯 全亮在灭在亮的程序怎么写?

你流水灯都写好了全亮全灭还不简单啊,设置P0=0X00(假设低电平亮,高电平灭)在延迟一下在P0=0XFF在延时不就OK了把这几个指令打包下放到一个子程序里...

单片机流水灯 由两边向中间流再由中间向两边流的程序怎么写?

如果你的点灯是低电平那么编码如下:0x7e,0xbd,0xdb,0xe7;这四个编码实现从两边向中间流0xdb,0xbd,0x7e;由上面的四个编码加上下面的四个编码就达到了从中间...

怎么让 单片机流水灯 每秒10次?

要让单片机流水灯每秒10次闪烁,可以通过以下步骤来实现:1.设置计时器的定时周期为每秒100毫秒(即10次闪烁)。2.在中断服务程序中,设定一个计数器,初始值...

单片机 中的 流水灯 ,花样灯,跑马灯?

没什么实质的区别只是各人说法不一样,像流水灯程序也有人叫跑马灯,说个简单的例子,比方说一个亮点不断的左循环就叫流水灯。从中间亮两个点,从左右两边流动就...

51 单片机 ,有8个 流水灯 ,每个之间延迟1秒,这个延迟用c程序编写怎么写?

1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。2、#include"reg51.h"首先写出单片机的头函数。3、#include"int...

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

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

猜你喜欢