四种模式循环显示LED流水灯设计
制作LED流水灯
流水灯循环点亮
一、设计要求:
以AT89C52单片机为核心,制作循环流水灯: 1、 P1端口为流水灯控制端口,低电平点亮。
2、 有按键电平复位电路,当流水灯工作时,可以随时中断从
头开始闪烁。
3、 AT89C52内部时钟方式的电路维持单片机系统的稳定性。
4、 工作电压大约5v 。
二、原理图
39383736353433322122232425262728
29
301110三、工作原理
1、接上电源,按下电源开关,电源供给单片机系统。
2、LED 的工作原理当单片机的端口或引脚输出低电平(即是0)
时,LED亮;输出高电平(即是1)LED灭。
3、当按下复位键时,LED从新开始点亮。
四、程序
#include<reg52.h>
#include<intrins.h>
unsigned int a,b,c;
unsigned char d;
void delay(unsigned char);
void main()
{
while(1)
{
d=0xfe;
for(c=8;c>0;c--)
{
P1=d;
delay(100);
d=_crol_(d,1);
}
d=0x7f;
for(c=8;c>0;c--)。
流水灯led毕业设计
流水灯led毕业设计流水灯(LED)毕业设计引言:在现代科技发展的背景下,LED(Light Emitting Diode,发光二极管)作为一种新型照明技术,被广泛应用于各个领域。
在本文中,将介绍一个基于流水灯(LED)的毕业设计项目,探讨其设计思路、实现方法以及应用前景。
一、设计思路1.1 设计目标流水灯作为一种常见的照明装饰,常用于舞台灯光、建筑物照明等场合。
本设计旨在通过使用LED灯珠,实现一个具有良好视觉效果的流水灯,同时考虑到节能环保的特点。
1.2 设计原理流水灯的工作原理是通过控制LED灯珠的亮灭顺序和时间间隔,使得灯珠在空间上形成流动的效果。
为了实现这个目标,需要使用微控制器、电路板和LED 灯珠等元件。
二、实现方法2.1 硬件设计在硬件设计方面,需要考虑以下几个关键点:(1)LED灯珠的选择:选择高亮度、低功耗的LED灯珠,以确保流水灯的亮度和节能性。
(2)电路板设计:设计合理的电路板,将LED灯珠与微控制器相连,以实现流水灯的控制和调节。
(3)电源供应:选择适当的电源供应方式,确保流水灯的正常工作。
2.2 软件设计在软件设计方面,需要编写程序控制LED灯珠的亮灭顺序和时间间隔。
可以使用C语言或者其他编程语言,通过控制微控制器的输出口,实现流水灯的效果。
三、应用前景流水灯作为一种照明装饰,具有广泛的应用前景。
随着人们对照明环境的要求越来越高,流水灯的市场需求也在不断增加。
在舞台演出、商业广告、城市景观等领域,流水灯都有着广泛的应用。
而且,由于LED灯珠具有节能环保的特点,流水灯的使用也符合现代社会对绿色环保的追求。
结论:通过对流水灯(LED)毕业设计的介绍,我们可以看到LED照明技术在流水灯领域的应用前景十分广阔。
通过合理的硬件设计和软件编程,可以实现一个具有良好视觉效果的流水灯。
同时,流水灯的使用还能够满足节能环保的需求,具有广泛的市场潜力。
相信在未来的发展中,LED流水灯将会在照明装饰领域发挥更加重要的作用。
流水灯毕业设计
流水灯毕业设计流水灯毕业设计在现代科技的快速发展下,电子技术已经成为我们生活中不可或缺的一部分。
而作为电子技术的重要应用之一,流水灯在各种场合中得到了广泛的应用。
流水灯以其炫目的效果和多样的变化方式,成为了人们喜爱的装饰品。
因此,我决定选择流水灯作为我的毕业设计主题。
首先,我将介绍流水灯的基本原理和工作方式。
流水灯由一组LED灯组成,这些LED灯按照一定的顺序依次点亮和熄灭,形成了流动的效果。
其原理是通过电子元器件控制LED灯的亮灭状态,从而实现流水灯的效果。
流水灯的工作方式可以通过编程来实现,也可以通过硬件电路来控制。
接下来,我将介绍我设计的流水灯的具体实现方法。
首先,我选择了一款高亮度的RGB LED灯,这样可以实现更丰富的灯光效果。
然后,我设计了一个控制电路,通过控制电路中的开关和计时器,可以实现流水灯的效果。
在控制电路中,我使用了555定时器芯片来控制LED灯的亮灭时间和顺序。
通过调整定时器的参数,可以实现不同的流水灯效果。
为了提高流水灯的可变性和实用性,我还添加了一些功能。
首先,我设计了一个可调节亮度的电路,可以根据需要调整流水灯的亮度。
其次,我增加了一个音乐控制模块,可以根据音乐的节奏和音量来控制流水灯的亮灭状态。
这样,流水灯可以根据音乐的节奏变化而变化,增加了观赏性和趣味性。
在设计的过程中,我遇到了一些困难和挑战。
首先,LED灯的控制需要精确的时间控制,因此我需要学习和掌握555定时器芯片的使用方法。
其次,音乐控制模块的设计需要对音频信号的处理有一定的了解。
为了解决这些问题,我查阅了大量的资料,进行了反复的实验和调试。
在完成设计后,我进行了实际的制作和调试。
通过焊接电路板、连接元器件和编写程序,我最终成功地制作出了一款功能完善、效果出色的流水灯。
在调试过程中,我发现了一些问题,并进行了相应的修改和优化。
经过多次的调试和改进,流水灯的效果达到了我预期的效果。
通过这次毕业设计,我不仅学到了很多电子技术的知识,还提高了自己的动手能力和解决问题的能力。
四种模式循环显示LED流水灯设计
多种模式的LED流水灯设计1.实现的功能要求包含四种模式,分别是①从左到右点亮,②从右到左点亮,③从两边到中间点亮,④从中间到两边点亮。
要求四种模式依次切换,循环执行。
2.实现的HDL代码module led_run(clk,led,rst);input clk; //clk with low frequency like 1Hzinput rst; //system reset signaloutput [11:0] led; //denotes 12 leds,reg [11:0] led;reg [2:0] state; //state variable,internal signalsreg [5:0] count; //control signals of the state diagram,internal signalsalways @(posedge clk or posedge rst) //the state diagramif (rst)beginstate <= 3'b000;count <= 6'b000000;endelsecase(state)3'b000:begincount[3:0]<= 4'b0;count[5:4]<= count[5:4]+1'b1;case(count[5:4])2'b00: state <= 3'b001;2'b01: state <= 3'b010;2'b10: state <= 3'b011;2'b11: state <= 3'b100;endcaseend3'b001:begincount <= count + 1'b1;if(count[3:0] == 11)state <= 3'b000; end3'b010:begincount <= count + 1'b1;if(count[3:0] == 11)state <= 3'b000; end3'b011:begincount <= count + 1'b1;if(count[3:0] == 5)state <= 3'b000; end3'b100:begincount <= count + 1'b1;if(count[3:0] == 5)state <= 3'b000; enddefault:beginstate <= 3'b000;count <= 6'b000000;endendcasealways @(posedge clk or posedge rst) //the behavior of each stateif (rst)led <= 12'hFFF;elsecase(state)3'b000: led <= 12'hfff;3'b001: led <= led << 1;3'b010: led <= led >> 1;3'b011:beginled[11:6]<= led[11:6]>>1;led[5:0]<=led[5:0]<<1;end3'b100:beginled[11:6]<= led[11:6]<<1;led[5:0]<=led[5:0]>>1;enddefault: led<=12'hfff;endcaseendmodule3.实现的功能仿真截图经Modelsim_altera仿真后的结果如下图所示:(注led低电平为亮,高电平为灭)。
彩灯循环的设计
16*16LED点阵循环彩灯的设计一、设计内容设计一个16*16LED点阵组成的彩灯图案。
图案的花样模式至少有4种,每种花样模式自动进行切换,轮流交替循环,循环的周期分为快慢两种节拍,快节拍的循环时间为1秒,慢节拍的循环时间为16秒,并能手动或自动切换节拍。
图案模式:图案1:实现16*16LED点阵的16行同时从上往下依次点亮,全亮后16行又同时从下往上依次熄灭。
图案2:实现16*16LED点阵的16行同时由中间到两边对称地依次点亮,全部点亮后,仍由中间向两边对称的依次熄灭。
图案3:实现16*16LED点阵的16行分两半,每半边从上往下顺次点亮,全亮后再从下往上顺次熄灭。
图案4:实现16*16LED点阵的16行分上下两部分,每部分先全亮然后每部分从中往上下间依次熄灭,全熄灭后每部分再从上下往中间依次亮起。
二、设计原理图控制器的引脚功能图如图所示。
其中:CLK为16Hz时钟输入端,DISCLK为扫描时钟输入端;K为快慢节拍选择开关,L[15..0]为行驱动信号输出;SELOUT[3..0]为列选信号输出。
以图案1为例说明其工作原理:实现16*16LED点阵的16行同时从上往下依次点亮,全亮后16行又同时从下往上依次熄灭。
列选信号:采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24Hz。
行驱动信号:可以采用移位的方法,可先定义一个16位的信号,若最高位置为‘1’,我们采用右移的方法,使每一位都置‘1’,这就实现依次点亮;当第0位也置‘1’后,给第0位置‘0’,再采用左移的方法将每一位又重新置‘0’,这样就实现了反相依次熄灭,等第15位为‘0’时,又重新开始,以此循环。
三、实验连线DISCLK----79,扫描时钟,接CLK1CLK----78,16Hz脉冲,接CLK4SEL[3..0]----44~47,分别接显示模块SEL3,SEL2,SEL1,SEL0L [15..0]----111~132,分别接显示模块的L0~L15四、实验器材PC机一台;EDA实验开发箱一个;下载电缆一根;导线若干。
流水灯的设计
以上控制程序是以字( 以上控制程序是以字 ( WY0)为控制操作数 , ) 为控制操作数, 如果以位( ~ )为控制操作数, 如果以位(Y0~Y7)为控制操作数,程序还要简 单. 以位为控制操作数设计的程序如图9所示. 以位为控制操作数设计的程序如图 所示. 所示
图9பைடு நூலகம்梯形图
5,双向控制的流水灯时序图如图10所示. ,双向控制的流水灯时序图如图 所示 所示.
介绍几种典型的流水灯的程序设计方法. 介绍几种典型的流水灯的程序设计方法 . 全 部采用移位寄存器来实现控制. 部采用移位寄存器来实现控制. 1,流水灯的控制时序图如图1所示. ,流水灯的控制时序图如图 所示 所示.
X0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1s
图1 流水灯控制时序图
该流水灯的控制梯形图如图2所示. 该流水灯的控制梯形图如图 所示. 所示 这是一个脉冲分配器式的流水灯控制程序. 这是一个脉冲分配器式的流水灯控制程序 . 移位寄存器的复位端同输出继电器触点Y8接在一 移位寄存器的复位端同输出继电器触点 接在一 闭合时, 起, 当Y8闭合时, 移位寄存器复位, 一切又从头 闭合时 移位寄存器复位, 开始. 开始.
图4 梯形图
3,流水灯的控制时序图如图5所示. ,流水灯的控制时序图如图 所示 所示.
图5 流水灯控制时序图
该流水灯的控制梯形图如图6所示. 该流水灯的控制梯形图如图 所示. 所示
图6 梯形图
在数据输入端连接输出继电器动断触点Y7. 在数据输入端连接输出继电器动断触点 . 当移位寄存器刚开始工作时,输出继电器Y7断电 断电, 当移位寄存器刚开始工作时 ,输出继电器 断电 , 动断触点Y7接通, 输入数据为1,这样,Y0~Y7 动断触点 接通, 输入数据为 , 这样, ~ 接通 就在移位脉冲的作用下依次点亮. 就在移位脉冲的作用下依次点亮. 当轮到输出继电器Y7通电时, 触点动作 触点动作, 当轮到输出继电器 通电时,Y7触点动作, 通电时 动断触点打开,数据输入为0. 动断触点打开,数据输入为 . 这样, ~ 就在移位脉冲的作用下依次熄 这样,Y0~Y7就在移位脉冲的作用下依次熄 灭,并如此反复. 并如此反复.
流水彩灯的设计18页PPT
闪亮方式1(函数dis_mode1)
从另一个角度去描述流程(P0、P2) P0、P2都为高电平; P0端口最低位为低(11111110) ,P2为全高(11111111),等待一会; P0端口第二位为低(11111101) ,P2状态不变,等待一会; P0端口第三位为低(11111011) ,P2状态不变,等待一会; …… P0端口最高位为低(01111111) ,P2状态不变,等待一会; P0端口全部为高电平(11111111) ,P2端口最低位为低(11111110) ,等待一会; P0状态不变 ,P2端口第二位为低(11111101) ,等待一会; P0状态不变 ,P2端口第三位为低(11111011) ,等待一会; …… P0状态不变 ,P2端口最高位为低(01111111) ,等待一会; P0、P2都为高电平; 结束一次流程。
闪亮方式1(函数dis_mode1)
要求:从左上角第一个灯开始,每次亮一个灯,顺时针旋转。 设计步骤: 软件流程图设计(软件流程图就是用图形的方式绘制出软件的实际执行步骤和过程) 软件程序编写(按照软件流程图写出相应的语句)
软件流程图设计 使用文字语言描述流程: 先关闭所有灯,点亮左上角第一个灯(D1),等待一会; 关闭第一个灯(D1),点亮第二个灯(D2) ,等待一会; 关闭第二个灯(D2),点亮第三个灯(D3) ,等待一会; ……; ……; 关闭第十五个灯(D15),点亮第三个灯(D16) ,等待一会; 结束一次流程 画流程图 使用图形将上述流程画出来。 软件编写
软件设计
简单的程序设计可以很容易的整理出软件流程图(前一个项目),但是遇到复杂的程序设计,一张软件流程图是很难完全包含整个软件的执行过程(本次项目)。 针对于较复杂的软件设计,需要在设计之初对软件功能进行分析,整理出各个功能模块,然后对各功能模块进行分步设计,最终再将所有的功能模块进行综合设计。这就是常说的自下而上的软件设计方法。
基础项目(1)流水灯项目讲解
基础项⽬(1)流⽔灯项⽬讲解写在前⾯的话这⼀节呢,我们来实现⼀个流⽔灯驱动程序的编写,当然啦,点灯不是⽬的,最重要的是我们通过这个流⽔灯代码的实现可以掌握⼀些重要的规范。
项⽬需求我们要求流⽔灯模式如下:当复位键按下时,灯全部熄灭,当复位键放开以后,⾸先,点亮第⼀个灯,然后第⼀个灯熄灭,同时点亮第⼆个灯,接着,第⼆个灯熄灭,同时点亮第三个灯,然后,第三个灯熄灭,同时点亮第四个灯,最后第四个灯熄灭,同时点亮第⼀个灯,如此循环往复,实现流⽔。
相关技术介绍项⽬需求,我相信⼤家已经看清楚了,那么,接下来我们该怎么做呢?写代码?NO 我们来仔细的看看项⽬需求,这⾥⾯涉及到了按键,LED灯,还需要我们⽤按键控制流⽔灯的启动或停⽌。
那么,在写代码之前,我们⾸先应该明确按键按下和放开有什么区别、LED是低电平点亮还是⾼电平点亮。
只有清楚外设的性能,我们才可能编写代码正确地驱动这些外设。
代码体现的是我们的思路,所以在写代码之前我们必须⾸先理顺⾃⼰的思路,否则盲⽬的编写代码,⼀定是徒劳的。
硬件设计下图所⽰为轻触按键与FPGA的连接关系⽰意图由上述电路图可知,当按键放开时,FPGA端⼝等于接到了上拉电阻,所以检测到的为⾼电平。
当按键按下时,FPGA端⼦通过按键接到了地平⾯,检测到的为低电平。
下图所⽰为LED与FPGA的连接关系⽰意图由上述电路图可知,LED正极全部接到了3.3V电源。
那么,只有当FPGA端⼝给出低电平的时候,LED才会点亮。
当FPGA端给⾼电平时,LED熄灭。
顶层架构设计项⽬需求以及项⽬需求中所涉及到的所有外设都已经分析清楚了,那么接下来是不是可以开始编写代码了呢?答案还是—NO!哈哈,别着急,其实对于⼯程师⽽⾔,编写代码真的是⼩菜⼀碟,闭着眼睛都能敲⼏⾏哦。
⼀个项⽬最重要的、最终决定成败的⼀般来说不是代码的具体实现,⽽是前期的架构设计,好的架构可以化简为易,将⼀个很复杂的⼯程逐步的拆分成很多简单的⼦模块,不但提⾼了设计效率和成功率,同时也⽐较适合团队作战,分⼯合作。
基于C51单片机4按键4花样流水灯4种LCD显示的设计
按下K1,LCD显示一种内容同时显示一种花样流水灯,按下K2, K3,K4也有不同的花样和内容。 代码如下: /**************************************************/ #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define out P0 #define LED P3 uchar i,flag1,flag2,flag3,flag4; /*****定义端口******/ sbit rs=P2^0; sbit rw=P2^1; sbit e=P2^2; sbit k1=P2^4; sbit k2=P2^5; sbit k3=P2^6; sbit k4=P2^7; //////////子函数/////////////// void check_busy(void); void write_command(uchar com); void write_data(uchar dat); void LCD_initial(void); void string(uchar ad ,uchar *s); void lcd_test(void); void delay(uint); /************************流水灯花样设计********************/ uchar table1[]= {0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};/** 从右到左点亮再灭之**/ uchar table2[]={0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff};/****两头分开 点亮再靠拢熄灭****/ uchar table3[]= {0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x9f,0xcf,0xe7,0xf3,0xf9};/****两灯 左右循环****/ uchar table4[]=
LED流水灯设计
LED流水灯设计流水灯(also known as running lights)是一种常见的LED灯设计,它由一系列LED灯组成,可以连续地亮起和熄灭,就像水流般流动。
流水灯设计常见于节日装饰、舞台演出和彩灯效果等场合,具有独特的美观效果。
下面将介绍流水灯的原理、设计步骤以及相关应用。
一、流水灯原理流水灯的原理基于LED灯的亮灭控制和串并联电路的设计。
LED灯的亮灭控制是通过直流电源及驱动电路实现的,而流水灯的流动效果则是通过不同的亮灭顺序实现的。
具体原理如下:1.LED灯亮灭控制:LED灯是一种直流电源下的电子元件,在正向电流的作用下,LED灯发光;而在反向电流下,LED灯熄灭。
通过控制LED灯的电流流向,可以实现其亮灭控制。
2.串并联电路:将多个LED灯连接在一起时,可以采用串联或并联的方式。
串联时,LED灯依次连接在电路中,电流在各个LED灯之间流动;并联时,LED灯同时连接在电路中,电流在各个LED灯之间分流。
流水灯设计通常采用串联电路,通过控制电流流向的方式,实现LED灯的亮灭顺序。
二、设计步骤流水灯的设计步骤包括电路设计和程序编写两个方面。
具体步骤如下:1.电路设计:首先确定流水灯的LED灯数量和排列方式,然后根据输入电压和LED灯额定电压选择适当的电阻,用于限流并防止过电流。
接下来,根据串联电路的特性,设计LED灯的串联方式和连接顺序。
最后,根据电路设计,连接LED灯和电阻。
2. 程序编写:使用相应的开发工具,编写控制LED灯亮灭顺序的程序。
程序可以通过控制IO口电平的高低实现LED灯的亮灭控制。
流水灯设计中常用的控制方式有定时控制和状态机控制。
定时控制是通过设定每个LED灯的亮灭时间来实现,例如每隔100ms亮灭一个LED灯;状态机控制是通过设置多个状态,根据当前状态判断下一个LED灯的亮灭顺序。
三、相关应用流水灯设计在日常生活和各种场合都有广泛的应用1.节日装饰:流水灯常用于节日装饰,如圣诞节、新年等,给人们带来欢乐和节日气氛。
EDA_多模式流水灯设计)
EDA课程设计课题名称:多模式流水灯设计指导老师:姓名:专业:电子信息工程班级:日期:2011年05月16日评语:审阅成绩时间多模式的流水灯的设计()Multi-mode design of water lamp(Department of Electronic Engineering of University, China)Phone: Instructor:Abstrac t: EDA technology refers to the computer as the working platform, the integration of the application of electronic technology, computer technology, information processing and intelligent technology to the latest results, the automatic design of electronic products. This paper describes the design process of multi-mode water, simulation, debugging results, and summed up our feelings and experiences.Keywords: EDA technology, VHDL language, multi-mode water lamp摘要:EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
本文详细介绍了多模式流水的设计过程,仿真、调试结果,并总结出了我们的心得体会。
关键字:EDA技术、VHDL语言、多模式的流水灯1、引言:EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
用led制作流水小彩灯[整理版]
用LED制作流水小彩灯
市售彩灯种类不少,有跳泡控制式、VS控制式、继电器控制式等,价格都比较贵,还比较娇气。
对于一个小家庭,用十只发光二极管(LED)组成一个流动彩灯串装饰于案头、窗前、花丛之中、玩具之上,亦足以渲染节日气氛。
工作原理
电路如下图所示。
IC2是一片十进制计数、译码电路,当在其CP端输
入时钟脉冲时,它的十个输出端Q0~Q9依次出现高电平,故连接在其Q端的LED便会依次点亮。
1.5k电阻是限流电阻。
ICl的两个非门组成多谐振荡器,为IC2提供时钟脉冲。
调整68k电位器可改变LED闪动速度。
元器件选择与制作
IC2选用CMOS数字集成电路CD4017,ICl可选用业余品,只要一个片子上有两个功能全的非门即可。
LED要选起始发光电流较小、又有足够亮度的。
10只LED可根据各人喜好组成不同图案,也可以在各Q输出端增加三
极管以驱动更多的LED或小灯泡。
项目一 设计制作流水灯
完成项目所锻炼的能力
• • • 1. 会选择合适I/O端口作为输出脚。 2.会使用适当循环语句完成循环功能 3.会选择合适的定时器并选用合适的定时器工作方式
学习指南 案例引入 预备知识讲解
电子实物制作与检测
参考与消化示例程序并完成项目程序 总结与提高
二 案例引入
通电时,从最左边的第1盏灯先亮,然后熄灭,再第2盏灯亮, 再灭,按此方式直到第8盏灯。一个轮回后继续重复上一轮回一直 如此工作下去直到断电。
• for(a=0;a<10000;a++); //延时 这个软件延时大约是10ms, • 对于一个程序有多个不时延时要求是,这个控制语句就不合 适,同时为减少代码的重叠,改用函数开形式。 • #include <reg51.h> //预处理命令 • #include <intrins.h> //含移位函数的头文件
方法二 控制信号用计算来优化程序
• /****接到P1口上0到7位的8只LED灯依次点亮 (左移流水灯)****/
• • • • • • • • • • • • • • • • • • • • •
//P1.0亮 0xfe=11111110 //P1.1亮 0xfd=11111101 //P1.2亮 0xfb=11111011 //P1.3亮 0xf7=11110111 //P1.4亮 0xef=11101111 //P1.5亮 0xdf=11011111 //P1.6亮 0xbf=10111111 //P1.7亮 0x7f=01111111 #include <AT89X51.h> //预处理命令 #include <intrins.h> //含移位函数的头文件 //***主函数 void main(void) //主函数名 {unsigned char i; unsigned int a; P1=0xfe ;//设P1口初值也就是P1.0上的LED亮 while(1) { for(i=0;i<8;i++) //信号数 送一个信号的控制命令语句 { for(a=0;a<10000;a++); //延时 P1=_corl_(P1,1) //将P1的值循环左移一位后,从P1送出口 } }
流水灯课程设计
第1章设计概述流水灯是一串按一定的规律像流水一样连续闪亮。
流水灯控制可用多种方法实现,利用移位寄存器实现最为便利。
通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。
本设计用红、黄、绿、白四种颜色的灯在时钟信号作用下按以下规律转换状态。
电路启动后,要求红、黄、绿、白四种颜色的灯在脉冲作用下顺序,循环点亮。
红、黄、绿、白灯每次亮的时间可通过电位器调节。
设计任务:1.输出为4路LED灯;2.要求能实现左移右移功能,左右移自动切换;3.移动速度要可调。
第2章系统框图第3章 单元模块设计3.1 脉冲产生电路由555定时器组成时钟发生电路,为整个电路提供所需要的时钟信号CP 。
时钟脉冲产生电路由NE555定时器、两个电阻和两个电容构成。
555定时器是一种多用途的数字模拟混合集成电路,利用它可以方便的构成施密特触发器、单稳态触发器和多谐振荡器,由于使用灵活、方便,所以555定时器再波形的产生与变换、测量与控制等多种领域都得到广泛应用。
3.1.1 555管脚介绍555定时器内部机构如图所示,它主要有以下部分组成: (1)电阻分压器。
由3个5 K Ω的电阻组成。
(2)电压比较器。
控制波形的占空比由C1和C2组成,当控制输入端悬空时,C1和C2的基准电压分别是2/3Vcc 和1/3Vcc 。
(3)基本RS 触发器。
由两个与非门G1和G2构成,它的作用是对两个比较器输出的电压进行控制。
(4)放电三极管VT 。
及放电端,用DISC 表示,VT 是集成极开路的三极管,VT 的集成极作为定时器的引出端D 。
NE555时基电路21348765GNDTRIOUT RES VccDISTHRCON(5)缓冲器。
由G3和G4构成,以提高电路的负载能力。
引脚功能:1脚位接地端;2脚是低电平触发端入端;3脚是输出端;4脚是复位端;5脚是电压控制端;6脚是高电平触发端入端;7脚是放电端;8脚是电源端。
3.1.2 周期计算 时钟电路案例图如图时钟电路案例(数据可变)UAL用555定时器构成多谐振荡器,电路输出得到一个周期性的矩形脉冲,其周期为:T=0.7(R1+2R2)C555控制74LS161模十六计数器和八位移位寄存器,要能看到彩灯的流动,其周期设为1秒左右, 电阻值和电容值可设为:R1=20KΩ R2=2.2KΩ(可变) C=100μf由公式计算得: T=1.72s时钟电路的输出一路作为计数脉冲送到模十六计数器74LS161;另一路作为移位时钟脉冲加到移位寄存器74LS194。
LED流水灯单片机的设计
LED流水灯单片机的设计引言:设计目标:设计一个能够实现LED流水灯效果的电路,使用单片机控制灯光的亮灭和流动速度,并通过按键控制流水灯的运行。
设计过程:1.硬件设计:1.1 选择LED:选择合适的LED灯珠,通常使用常见的5mm圆形LED 灯。
1.2连接方式:将多个LED按照串联或并联方式连接,以形成流水灯效果。
1.3电流限制:通过串联合适的电阻,将电流限制在每个LED的额定值以下。
2.单片机选型:2.1功能要求:选择具备足够的I/O管脚数量,用于控制LED的亮灭和流动速度,以及接受按键输入的单片机。
2.2仿真和编程支持:选择具备仿真和编程支持的单片机,以方便调试和开发。
3.单片机与LED的连接:3.1端口选择:选择合适的I/O口进行连接,根据LED连接方式决定使用串口或并口进行连接。
3.2串行或并行输出:设置相应的单片机端口为输出模式,并将其与LED连接。
4.软件设计:4.1初始化:对单片机进行初始化设置,包括设置I/O口状态和初始化计时器。
4.2流水灯特效:使用循环控制语句控制LED流动的方向和速度,并通过改变LED的亮灭状态实现不同的灯光效果。
4.3按键控制:使用中断或轮询方式检测按键输入,并通过控制流水灯的运行状态来实现按键控制功能。
5.测试和调试:5.1仿真调试:使用仿真软件对设计的电路和代码进行调试,确保运行正常。
5.2硬件调试:将设计的电路和程序烧入实际的单片机和电路板中,通过观察和测试,确保流水灯的特效和按键控制功能正常。
总结:LED流水灯单片机设计是一个简单且具有实践意义的项目,通过设计和控制LED流水灯,可以提高对单片机的理解和熟练程度。
本文介绍了设计流程和关键步骤,希望对读者有所帮助。
通过本项目的实践,可以进一步扩展其他LED灯光效果的设计和控制。
流水灯设计具体方案
流水灯设计具体方案流水灯是一种以LED灯珠为光源,通过控制电路将不同颜色的光依次流动显示的装饰灯具。
下面我将为大家详细介绍流水灯的设计方案。
一、硬件设计:1.电源部分:流水灯需要一定的电压和电流来驱动LED灯珠,常见的电源方式有直流电源和交流电源。
直流电源能提供稳定的电流,但需要将交流电转换为直流电,可以使用变压器和整流电路来实现;交流电源则无需转换,但需要注意选择适当的功率和频率。
2.控制电路:控制电路是流水灯的核心部分,它能够控制LED灯珠的亮灭状态和颜色。
常见的控制电路有微控制器和逻辑门电路。
微控制器是一种集成电路芯片,具有逻辑控制、时序控制和输出控制等功能,适合实现复杂的流水灯效果;逻辑门电路则通过门电路的组合和控制信号的输入实现LED灯珠的控制,适合实现简单的流水效果。
3.LED灯珠:LED灯珠是流水灯的光源,常见的有单色LED灯珠和彩色LED灯珠。
单色LED灯珠只能发出一种颜色的光,常见的有红、绿、蓝等;彩色LED灯珠则可以发出多种颜色的光,一般由红、绿、蓝三种常用的LED灯珠组合而成。
二、软件设计:1.流水灯效果:流水灯的效果是LED灯珠以一定的速度从一端依次亮起,然后从另一端熄灭,如此循环。
可以通过控制LED的亮灭状态和顺序来实现不同的流水灯效果,如单向流水、双向流水、循环流水等。
2. 控制器程序:控制器程序可以通过编程实现。
对于微控制器来说,可以使用C语言或汇编语言编写程序,在程序中设置LED灯珠的控制状态和顺序;对于逻辑门电路来说,可以使用逻辑门的组合和逻辑电路来实现流水灯的控制,一般使用Verilog或VHDL语言进行描述。
三、组装与调试:1.组装:将电源部分和控制电路按照设计要求进行组装,确保各个部分的连接正确,不发生短路或接触不良等问题。
同时,要注意导线的长度和扎线的方式,避免电路布线混乱或短路。
2.调试:将LED灯珠连接到控制电路的输出端口上,将电源接入电路,然后通过开关或按钮来控制流水灯的亮灭和流动速度。
LED流水灯设计
开始
灯流速控制 键是否按下
LED 灯向左(右)快速亮
五、实验原理图
结束
LED 灯向左(右)慢速亮
六、实验程序
//有按键控制的 LED 流水灯程序
#include <reg51.h>
unsigned char code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
九、设计总结
经过软硬件仿真,设计程序无语法错误,实验结果正确,达到了设计要求, 说明设计程序正确。给相应功能键置高低电平实现了 LED 灯的点亮速度和方向, 并且还设置了启动键。
十、实验体会
通过这次实验,学会了 LED 编程思路,学到了一些编程技巧,提高了动手 能力以及处理问题的能力。这个实验的程序是自己编的,最开始对此实验没有一 点设计思路,感觉不知如何下手。后来静下心来看程序,分析实验要求,就慢慢 有了思路。知道了编程就是用最基础的思路设计,有时适当的变换一下思考方向
void delay1() {unsigned int n,m; for(n=0;n<330;n++) for(m=0;m<500;m++); }
void delay2() {unsigned int n,m; for(n=0;n<330;n++) for(m=0;m<10;m++); }
四花样流水灯
杭州师范大学钱江学院信息与机电工程分院电子线路课程设计设计题目:四花样彩灯设计与制作班级:学号:姓名:指导教师:设计时间:摘要广告和装饰常要用到彩灯,这个设计是普通流水等的扩展,它能实现自动进行4种花样的轮流闪烁。
我们所设计的电路,经过仿真后,证明方案可行,并做出硬件实体。
本设计是由4位二进制计数器74hc93、双上升沿触发器74hc74、双4-1线数据选择器74hc153、8位位移寄存器74hc164、555时基电路等组成的四花样彩灯控制电路。
关键词:彩灯、计数器、D触发器、数据选择器、位移寄存器目录摘要 (2)1 课程设计及要求 (4)1.1设计要求 (4)1.2设计思路 (4)2 理论设计 (5)2.1 系统结构图 (5)2.2 系统工作原理及分析 (6)3 系统模块功能介绍以及设计 (8)3.1脉冲的产生 (8)3.2计数器及数据选择器 (9)3.3位移寄存器 (10)4 安装调试 (12)4.1安装调试 (12)4.2调试结果 (12)5 总结 (14)参考文献 (15)1 课程设计及要求1.1设计要求彩灯的第一种花样为彩灯一亮一灭,从右向左移动;第二种花样为彩灯两亮两灭,从右向左移动;第三种花样为彩灯四亮四灭,从右向左移动;第四种花样为从左到右逐次点亮,又从右向左逐次熄灭。
1.2设计思路第一部分,由NE555与相关电容电阻等组成多谐振荡器,用来产生震荡脉冲,调节电位器可以改变震荡频率,即改变灯光的移动速度。
多谐振荡器输出的脉冲非别加在74hc93与74hc164的cp端。
74hc93被接成16进制计数器,其4个输出端可分别输出对计数脉冲的2、4、8、16分频信号,该信号被传输到74hc153的数据输入端。
第二部分,555产生的脉冲信号输送到D触发器74hc74的clk 端,在其输出端可以得到“00”到“11”4个逻辑状态并将其连接到74hc153的公共选择端A0、A1。
这样根据A0、A1端的状态就可以选定不同的输出端。
LED流水灯的设计与制作
摘要本设计是一种基于AT89C52单片机的彩灯控制方案,实现对LED彩灯的控制。
本方案以AT89C52单片机作为主控核心,由编程实现亮灯循环模式。
由在显示模块上有8个LED彩灯,根据用户需要可以编写若干种亮灯模式.本系统具有体积小、硬件少、电路结构简单及容易操作和阅读等优点。
该LED彩灯控制器实际应用效果较好,亮灯模式多。
与其他LED彩灯相比,具有体积小、价格低、低能耗等优点。
在能源比较匮乏的今天,彩灯的循环控制在显示方面更表现出一种节约能源的魅力.这将使彩灯具有更广阔的发展天地。
关键字:AT89C51 循环 LED彩灯AbstractThe design is a project of the lantern control which based on a AT89c52 single-chip to achieve the control of the LED lanterns.The master core of the design is AT89c52 single-chip,the display module is formed with 8LEDS,the programme achieve the circle mode of the colour LEDS.The 8 LEDS on the display module can be compiled a lot of modes based on the needs of the users。
This system has some excellences of small bulk,few hardware,simple circuit frame,easy handle and read.The practice appliance effect of this colour lantern control is better and lots of modes of the colour lantern.This LED has some excellences of small bulk,low price, low energy consume compared with else LEDS.In lack energy today,the LED circle mode comports a charm of the economying energy on the display.This will lets LED has more amplitude heaven and earth to develop.Keywords: AT89C51 Circulate LED Lantern目录绪论------------------------------------------------------------- 31LED流水灯方案设计与选择--------------------------------------- 31、1 设计要求------------------------------------------------- 31、2 系统功能------------------------------------------------- 31、3 方案选择------------------------------------------------- 32 LED流水灯设计过程---------------------------------------------- 4 2、1 元件选取------------------------------------------------- 4 2、2 硬件设计------------------------------------------------- 4 2、2、1 单片机介绍------------------------------------------ 4 2、2、2 LED流水灯总图--------------------------------------- 5 2、3 软件设计------------------------------------------------- 6 2、3、1 编程介绍-------------------------------------------- 6 2、3、2 编程选择-------------------------------------------- 10 参考文献---------------------------------------------------------- 11绪论当今时代足一个新技术层出不穷的时代,在电子领域尤其足自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多种模式的LED流水灯设计
1.实现的功能要求
包含四种模式,分别是①从左到右点亮,②从右到左点亮,③从两边到中间点亮,④从中间到两边点亮。
要求四种模式依次切换,循环执行。
2.实现的HDL代码
module led_run(clk,led,rst);
input clk; //clk with low frequency like 1Hz
input rst; //system reset signal
output [11:0] led; //denotes 12 leds,
reg [11:0] led;
reg [2:0] state; //state variable,internal signals
reg [5:0] count; //control signals of the state diagram,internal signals
always @(posedge clk or posedge rst) //the state diagram
if (rst)
begin
state <= 3'b000;
count <= 6'b000000;
end
else
case(state)
3'b000:
begin
count[3:0]<= 4'b0;
count[5:4]<= count[5:4]+1'b1;
case(count[5:4])
2'b00: state <= 3'b001;
2'b01: state <= 3'b010;
2'b10: state <= 3'b011;
2'b11: state <= 3'b100;
endcase
end
3'b001:
begin
count <= count + 1'b1;
if(count[3:0] == 11)
state <= 3'b000; end
3'b010:
begin
count <= count + 1'b1;
if(count[3:0] == 11)
state <= 3'b000; end
3'b011:
begin
count <= count + 1'b1;
if(count[3:0] == 5)
state <= 3'b000; end
3'b100:
begin
count <= count + 1'b1;
if(count[3:0] == 5)
state <= 3'b000; end
default:
begin
state <= 3'b000;
count <= 6'b000000;
end
endcase
always @(posedge clk or posedge rst) //the behavior of each state
if (rst)
led <= 12'hFFF;
else
case(state)
3'b000: led <= 12'hfff;
3'b001: led <= led << 1;
3'b010: led <= led >> 1;
3'b011:
begin
led[11:6]<= led[11:6]>>1;
led[5:0]<=led[5:0]<<1;
end
3'b100:
begin
led[11:6]<= led[11:6]<<1;
led[5:0]<=led[5:0]>>1;
end
default: led<=12'hfff;
endcase
endmodule
3.实现的功能仿真截图
经Modelsim_altera仿真后的结果如下图所示:(注led低电平为亮,高电平为灭)。