51单片机实例讲解,由按钮控制流水灯程序
由按钮控制流水灯控制要求:在单片机的PP3.0口和P3.1口线上分别接上一个按钮SB1和SB2,P0口上接8只发光二极管LED1~LED8。当按下SB1时,8只发光二极管按方式一从LED1~LED8间隔1s交替正向流水点亮一次,即LED1亮→LED2亮→LED3亮→LED4亮→LED5亮→LED6亮→LED7亮→LED8亮。
当按下SB2时,8只发光二极管按方式二从LED1~LED8间隔1s依次点亮一次,即LED1亮→LED1+LED2亮→LED1+LED2+LED3亮→LED1+LED2+LED3+LED4亮→LED1+ LED2+LED3+LED4+LED5亮→LED1 +LED2 +LED3 +LED4 +LED5 +LED6亮→LED1 +LED2 + LED3 +LED4 +LED5 +LED6+LED7亮→LED1+LED2+LED3+LED4+LED5+LED6+LED7+ LED8亮。
(1)由按钮控制流水灯硬件电路(见图36)。
图36 由按钮控制流水灯接线原理图
(2)由按钮控制流水灯硬件电路元器件(见表14)。
表14 由按钮控制流水灯硬件电路元器件表
(3)由按钮控制流水灯程序流程图(见图37)。
图37 由按钮控制流水灯程序流程图 (a)主程序;(b)显示子程序
(4)由按钮控制流水灯程序。
单片机流水灯制作实战,单片机编程案例实践,单片机快乐入门基础
用单片机做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电源,流水灯可以正常工作。
祝大家流水灯制作成功,体验学习单片机带来的乐趣,欢迎交流!
相关问答
单片机流水灯 程序怎么编?编写单片机流水灯程序的步骤如下:1.确定使用的单片机型号和开发环境,选择合适的编程语言和开发工具。2.根据硬件电路设计,确定流水灯LED灯的接口引脚和控...
单片机流水灯 C语言程序(8个灯,依次点亮每个灯,延时500MS)?单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include
51 单片机 控制 流水灯 ?采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。下面来看具体程...
C51 单片机流水灯 怎么改变频率?C51单片机流水灯的频率可以通过改变延时时间来实现。延时时间决定了每个灯亮起和熄灭的时间间隔,从而影响了流水灯的频率。具体操作步骤如下:1.首先,在程序中...
流水灯 实验原理?它是由无数个LED灯组成的,而LED就是发光二极管的简称,它有个特性:就是它只允许电流单一方向流过.。如果让LED灯亮起来,他需要连接一个高电平和一个低电平,当它...
51 单片机 ,用定时器中断,在P1口实现1S移动一次的 流水灯 ,用汇编语言编写的程序?CNTEQU30HORG0000HSJMPSTAORG000BHLJMPT0ISRORG0050HSTA:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0...
c51 单片机流水灯 每次亮两个?c51单片机流水灯,程序设计每次亮两个,在设计好硬件电路后,可用汇编语言或者c语言来编辑应用程序,编好后经烧录器下载程序后安装到电路板上。c51单片机流水灯,...
单片机流水灯 闪烁几次停止?单片机8个流水灯闪10次后停止。单片机流水灯是指一串LED灯,通过单片机控制,按照一定的顺序,不断循环地轮流点亮,闪烁10次后停止。单片机8个流水灯闪10次后停...
请大神帮我写一个STC52 单片机 控制32个LED 流水灯 的程序?一个一个流水?ORG0000HLJMPMAINORG0030HMAIN:MOVP0,#0FEHMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHLOOP...
关于51 单片机流水灯 程序的一个问题[最佳回答]#include#defineucharunsignedchar#defineuintunsignedintvoidmain(){uinti;uchartemp;whi...