技术文档

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

小编 2024-10-06 技术文档 23 0

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

用单片机做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电源,流水灯可以正常工作。

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

单片机C语言——16种方式流水灯(一)

顺序结构是单片机C语言中最基本、最简单的编程结构,程序由低地址向高地址顺序执行指令代码。如下图所示。程序首先执行A操作,再执行B操作,二者是顺序执行的关系。

/****************************************************

函数名:Delay(uint t)

入口参数:t,延时时间长度

出口参数:无

功能:延时函数

说明:延时一定是减,时间长度可设置

****************************************************/

void Delay(uint t)

{

for(;t>0;t--);

}

/****************************************************

函数名:main()

入口参数:无

出口参数:无

功能:流水灯测试程序

说明:用顺序结构实现。相应端口置低,则该发光二极管点亮

****************************************************/

void main()

{

while(1)

{

P1 = 0xfe; //点亮第一个发光管

Delay(5000);

P1 = 0xfd;//点亮第二个发光管

Delay(5000);

P1 = 0xfb;

Delay(5000);

P1 = 0xf7;

Delay(5000);

P1 = 0xef;

Delay(5000);

P1 = 0xdf;

Delay(5000);

P1 = 0xbf;

Delay(5000);

P1 = 0x7f; //点亮第八个发光管

}

}

相关问答

51 单片机 控制 流水灯 ?

采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。下面来看具体程...

如何设计一个 单片机 可控的循环 流水灯 ?

首先在硬件方面,我们使用了最经典的选型用AT89S51单片机作为主控芯片,LED电路选用共阳极接法:8路红色LED灯正极接5V电源、各路串联一个限流电阻,保护发光二...

用51 单片机 流水灯 ,应该接多大的限流电阻?】作业帮

[最佳回答]你这LED的电流是20mA以下(取10mA吧),2V左右.51单片机输出一般是5V吧,5V-2V=3V,3V/0.01mA=300欧姆.其实一般用1K就可以了.你这LED的电流是20mA以下(...

单片机 汇编语言 流水灯 程序延时0.5秒,一共四个灯循环?

4只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯ORG0000HSTART:MOVP1,#01111111B;最下面的LED点亮LCALLDE.....

51 单片机流水灯 怎么改变流速?

要改变51单片机流水灯的流速,可以通过调整延时函数的参数来实现。延时函数控制每个灯亮起和熄灭的时间间隔,从而改变流水灯的流速。增加延时时间可以使流水灯...

手机肿么把 流水灯 程序烧录到51 单片机 ?-ZOL问答

首先要看你的单片机是什么型号的,其实,就目前的51单片机,还没有一款可以用手机烧录程序的,都必须用电脑。而且每一种单片机都有各自的烧录软件和烧录线,也不通...

单片机 C51语言如何实现用P2口控制8只LED左循环 流水灯 亮?

soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx);这就行了soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx)...

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

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

单片机 流水灯 从中间向两边闪烁,再从两边从中间闪烁,修改一下我的程序?

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

p1=0xfe是什么意思? 单片机 流水灯 中的一句?

p1端口对应8个管脚,当p1设置成输出时,p1对应的数据寄存器中的取值,就对应这8个管脚的输出电平状态,p1=0xfe;就是给这个寄存器进行赋值,也就是修改p1对应管脚...

猜你喜欢