流水灯设计 三种方法
3种方法实现流水灯
3种方法实现流水灯3种方法实现流水灯(P0一般接10K的上拉电阻,此图复位电路没给出)当然,有些比较有心的同学会做些有花样的,如这种“心”形的流水灯下面试代码:(1)用总线的方法实现流水灯#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delay(uint xms) //延时约1ms{uintx,y;for(x=110;x>0;x--)for(y=xms;y>0;y--);}void main(){uchar i;while(1){for(i=0;i<8;i++){P0=table[i];delay(500);}}}(2)移位实现流水灯#include<reg52.h>#define uchar unsigned char#define uint unsigned intvoid delay(uint xms) //延时约1ms{uintx,y;for(x=110;x>0;x--)for(y=xms;y>0;y--);}void main(){uchar a,i;while(1){a=0xfe;for(i=0;i<8;i++){P0=a;a=a<<1;a=a|0x01;delay(500);}}}(3)用库函数实现流水灯#include<reg52.h>#include<intrins.h>//此头文件包含移位函数#define uchar unsigned char#define uint unsigned intvoid delay(uint xms) //延时约1ms {uint x,y;for(x=110;x>0;x--)for(y=xms;y>0;y--);}void main(){uint a;a=0xfe;while(1){P2=a;a=_crol_(a,1);delay(500);}}。
用单片机设计流水灯的方法和程序编写
用单片机设计流水灯的方法和程序编写-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANS51增强型单片机实验板上有8个高亮度发光二极管(见图1所示),可以用来做单片机流水灯、跑马灯。
等实验,电路原理图见下图3。
图3单片机流水灯设计方法从原理图可以看出,如果我们想让接在口的LED1亮起来,那么我们只要把口的电平变为低电平就可以了;相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平就可以;同理,接在~口的其他7个LED的点亮和熄灭方法方法同LED1。
因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:低、延时、高、低、延时、高、低、延时、高、低、延时、高、低、延时、高、低、延时、高、低、延时、高、低、延时、高、返回到开始、程序结束。
从上面中文表示看来实现单片机流水灯很简单,但是我们不能说你变低,它就变低了。
因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。
我们又怎样来使单片机按我们的意思去工作呢为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。
今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。
这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。
前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。
现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
在上面主程序中用到了五条汇编语言指令:CLR、ACALL、SETB、LJMP、EN D。
CLR:是将其后面指定的位清为0,程序中使对应端口输出低电平ACALL:是子程序调用指令,程序中调用了DELAY延时子程序SETB:是将其后面指定的位置成1,程序中使对应端口输出高电平AJMP:是无条件跳转指令,意思是:跳转到指定的标号处继续运行END:是程序结束的伪指令,意思是告诉编译器,程序到此结束。
流水灯控制系统设计
目录第1章方案的论述以与与最终方案的确定......................... - 1 -1.1第一种方案的论述. (1)1.2第二种方案的论证 (1)1.3第三种方案的论述 (1)1.4最终方案的确定 (2)第2章硬件设计.................................................. - 3 -2.1总体方案设计分析. (3)2.2系统逻辑框图 (3)2.3主要元器件简介 (3)2.3.1 8086CPU ························································································- 3 -2.3.2 地址锁存器74LS373的内部电路与工作原理························- 6 -2.3.3 可编程外围接口芯片8255A的简介.........................................- 8 -第3章软件设计.................................................- 13 -3.1程序流程设计.. (13)3.1.1 主程序流程·················································································· - 13 -3.1.2 程序流程图·················································································· - 14 -3.1.3 系统硬件连接图········································································· - 15 -3.1.4 源程序设计(附录) ....................................................................... - 15 -3.2设计最终理想结果与原理.. (15)3.2.1 左向移动流水灯········································································· - 15 -3.2.2 右向移动流水灯········································································· - 15 -设计心得·························································- 17 -参考文献·························································- 18 -附录······························································- 19 -第1章方案的论述以与与最终方案的确定1.1 第一种方案的论述第一种方案,使用AT89C51单片机实现流水灯闪烁设计。
简易流水灯设计实验报告
简易流水灯设计实验报告1. 引言流水灯是一种常见的电子设计,通过控制LED灯的亮灭顺序,可以呈现出一种像水流一样的效果。
本实验旨在通过使用开发板和少量的电子元件,设计一个简易的流水灯电路。
本报告将介绍实验的设计过程、实验所用材料和电路连接方式,以及实验结果和分析。
2. 实验材料和器件- Arduino开发板- 电阻(220Ω)- LED灯(6个)- 面包板- 连接线3. 实验原理本实验的原理非常简单,即通过控制每个LED的亮灭状态和时间间隔,实现流水灯的效果。
具体实现的方法是使用Arduino开发板的IO引脚来驱动LED灯,通过改变每个LED的亮灭顺序和时间间隔,可以实现流水灯效果。
4. 实验步骤4.1 硬件连接首先,将Arduino开发板插入面包板,并确保连接稳定和可靠。
然后按照以下方式连接LED灯和电阻:- 将电阻的一个端口连接到Arduino开发板的数字IO引脚(如D2-D7)。
- 将电阻的另一个端口连接到负极(即地GND)。
将LED灯的长脚(阳极)连接到电阻与Arduino引脚的连接点,将短脚(阴极)连接到GND。
4.2 硬件设置在Arduino开发板上设置电阻连接的引脚为输出模式,以便控制LED灯的亮灭状态。
具体的引脚设置可以在Arduino开发环境的代码中完成。
4.3 软件编写使用Arduino开发环境,编写相应的代码实现流水灯的效果。
代码示例如下:cvoid setup() {设置引脚为输出模式for (int i = 2; i <= 7; i++) {pinMode(i, OUTPUT);}}void loop() {顺序点亮和熄灭LED灯for (int i = 2; i <= 7; i++) {digitalWrite(i, HIGH);delay(250);digitalWrite(i, LOW);delay(250);}逆序点亮和熄灭LED灯for (int i = 7; i >= 2; i) {digitalWrite(i, HIGH);delay(250);digitalWrite(i, LOW);delay(250);}}4.4 上传和运行将编写好的程序上传到Arduino开发板,并通过开发环境的串口监视器进行编译和调试。
流水灯设计
第一章多功能流水灯的设计方案1.多功能流水灯的设计方案及框图1.1 基本要求设计方案1) 设计一个多功能彩灯流水控制电路。
其主要部分实现定时功能,即在预定的时间到来时,将如何产生一个控制信号控制彩灯的流向、间歇等。
2) 通过利用中规模集成电路中可逆计数器、译码器和定时器来实现正逆流水功能,并利用组合电路实现自控、手控、流向控制等功能。
1.2 提高设计方案1) 本次设计的电路只具有单向流水的功能,即正向流水和逆向流水两个功能,可以通过改变电路来实现多向流水的功能,即流水灯的流向可以通过电路的改变而改变。
2) 本次设计的流水灯电路只使用了一个芯片CD4017,可以通过增加芯片CD4017的个数,使流水灯的流向更加美观。
3) 在考虑流水灯单向和多向流水的功能的同时,可以采用更多的CD4017芯片和发光二极管来实现流水灯的闪烁,即由流水灯组合成各种图案,在流水灯发光的同时,闪烁各种美观旋律的图案。
1.3 设计框图基本原理设计框图如下图(1)所示第二章多功能流水灯设计方案单元模块电路设计2.多功能流水灯电路的设计2.1 多功能流水电路原理电路图设计的多功能流水灯原理电路图如上图所示。
原理电路图由振荡电路、译码电路和光源电路三部分组成。
在设计电路时,本次选用的脉冲发生器是由NE555与R2、R3及C3组成的多谐振荡器组成。
主要是为灯光流动控制器提供流动控制的脉冲,灯光的流动速度可以通过电位器RP进行调节。
由于RP的阻值较打,所以有较大的速度调节范围。
灯光流动控制器由一个进制计数脉冲分配器CD4017和若干电阻组成。
CD4017的cp端受脉冲发生器输出脉冲的控制,其输出端(Q0~Q9)将输入脉冲按输入顺序依次分配。
输出控制的脉冲,其输出控制脉冲的速度由脉冲发生器输出的脉冲频率决定。
12个电阻与CD4017的10个输出端Q0~Q9相连,当Q0~Q9依次输出控制脉冲时6个发光二极管按照接通回路的顺序依次发光,形成流动发光状态,即实现正向流水和逆向流水的功能。
流水灯的设计
以上控制程序是以字( 以上控制程序是以字 ( 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就在移位脉冲的作用下依次熄 灭,并如此反复. 并如此反复.
项目2流水灯设计
流水灯的原理
流水灯是一种通过控制LED的亮 灭顺序和时间间隔来模拟流水效
果的灯具。
通过控制每个LED的点亮和熄灭 时间,以及每个LED之间的亮灭 时间间隔,可以模拟出流水效果。
流水灯通常由多个LED组成,每 个LED按照一定的顺序逐个点亮 或熄灭,形成连续的视觉效果。
延时函数的原理
延时函数是一种用于控制程序执行流程的函数,它可以使程序在执行某段 代码后暂停一段时间再继续执行下一段代码。
用于编写、上传程序 到Arduino板
支持多种编程语言, 如C/C
包含代码编辑器、编 译器和调试器
编程语言
01
C/CArduino IDE主要使用的编程 语言,简单易学,适合初学者
02
Python:可选的编程语言,适用 于更高级的应用
示例代码
• 以下是一个简单的流水灯程序示例
示例代码
01
```cpp
示例代码实现
delay(500);
//
延迟500毫秒
digitalWrite(LED_PIN1, LOW); // 熄灭第一个LED
digitalWrite(LED_PIN2, HIGH); // 点亮第二个LED
示例代码实现
delay(500); 毫秒
// 延迟500
digitalWrite(LED_PIN2, LOW); // 熄灭第 二个LED
按照特定的顺序(如从左到右 或从右到左),依次点亮每个 LED。
动态效果
通过调整延迟时间,实现LED的 动态效果,如闪烁、渐变等。
示例代码实现
01
```c
02
void setup() {
wiringPiSetup();
流水灯设计
数电课程设计一课程课题:流水灯设计二课程任务:设计一个可以循环移动的流水灯,灯总数为8盏,具体要求如下: -1,5亮,其余灭,右移三次后全灭-4,8亮,其余灭,左移三次后全灭-4,5亮,其余灭,各向两边移三次后全灭-1,8亮,其余灭,各向中间移三次后全灭三课程设计原理:①译码器74139 将Y10N-Y23N 分别命名为led1-led8,利用2-4译码,采用A1,B1,A2,B2分别控制,Y10N-Y23N 为低电平时led 等亮,否则灭。
根据设计任务,结合译码器,可得到循环状态图为:②计数器74169计数器74169 译码器74139序列信号产生74194由于led1-led4和led5和led8的移动方向不尽相同,故采用两个计数器来控制,以led1-led4为例,A1,B1由Q0,Q1决定,则通过UP/DN 可控制Q0,Q1是由00-01-10-11,还是由11-10-01-00,即灯的移动方向。
结合灯的移动方向,取led1-led4的控制端UP/DN为s1,led5-led8的为s2,则s1应为1001序列,s2为1010序列。
③序列产生74194利用74x194产生序列信号s1,s2,来控制下一段的计数器的升降UP/DN,进而控制灯的循环顺序。
功能表:四课程设计方案:①电路图:②仿真波形:学习数电以来,都是一些题目化问题的设计,但这次课程设计却和实际联系紧密,牵扯到很多芯片的原理,链接,是一次很好的实践,原理图的设计是理论与实践的交叉点,原理图设计好之后,我们可以利用仿真软件进行仿真,这样便可以验证我们设计的正确性;积累了经验并且熟练地掌握了软件的基本使用方法和一些快捷键的用途,并体会到数电和实际生活的联系,是不错的开始。
电子信息工程专业毕业论文--基于AT89C51单片机的音乐流水灯设计
摘要随着科技和经济的快速发展,人们对生活质量和生活环境的要求不断的提高,多彩多样的彩灯成了现今装饰和美化的时尚和潮流。
千姿万态的流水灯能给人一种视觉冲击。
拟采用单片机AT89C51去实现这种千变万化的流水灯。
单片机技术是一种传统和典型的技术,具有智能化、体积小、集成度高和价格低廉等许多独特的优点。
而且单片机明显优越于其他电子电路,其硬件电路和软件方面都不是特别复杂。
本设计将所学的单片机的理论和动手实践结合起来,主要利用AT89C51单片机设计并制作一个音乐流水灯。
首先设计一个稳定的直流电源电路,然后设计一个复位电路,为单片机的正常工作提供条件,然后再设计时钟电路和声音驱动电路,可以使单片机能够更好的控制与编译音乐部分,另外还设计一个通信电路以方便单片机和PC机的连接与通信,最后还需要设计按键电路用来控制音乐流水灯。
为了使蜂鸣器能够正常的发生还需设计一个音频电路。
硬件电路设计后要将各模块连接起来进行仿真和调试。
软件设计部分则需要将各电路模块进行编译,并设计音乐频率程序、流水灯程序和按键程序,同时将其进行仿真调试和组合调试。
以实现在播放音乐时LED灯有千变万化的效果,以满足对视觉上的享受。
关键词:单片机;音乐;流水灯;仿真;ABSTRACTWith the science and technology and the economy the rapid development, people pairs quality of life and living environment the requirements of continuously improve, colorful and diverse of the lantern became a nowadays decorative and beautify's fashion and trend. Zi million-state of flowing water lamp can give a person one kinds visual impact. Intends to adopt AT89C51 microcontroller to go achieve such kaleidoscopic of flowing water lights. MCU technology is a kind of tradition and typical technical, with intelligent, the volume is small, high integration and price inexpensive and so on many unique advantages. Moreover single-chip obviously superior to other electronic circuit, its hardware circuits and software aspects of are not particularly complicated.The single-chip design will combine theory and practice, the main use AT89C51 single-chip design of a musical water lights. First, design a stable DC power supply circuit, and then design a reset circuit for the microcontroller to provide normal working conditions, and then design a clock circuit and sound driver circuit, will enable MCU to better control and compile music part, in addition to design a to facilitate communication circuit chip and PC connectivity and communication, and finally also need to design the circuit to control the music keys light water. In order to make the buzzer to normal design an audio circuit needs to happen. After the hardware circuit design to connect the modules for simulation and debugging. Software design will need to be compiled each circuit module, and the design frequency of the music program, water lights and key procedures, and its combination of simulation debugging and debugging. When playing music in order to achieve a kaleidoscopic effect LED lights to meet the visual enjoyment.Key words:MCU; Music; Light water;Simulation目录摘要 (I)ABSTRACT (II)目录 (1)1. 绪论 (1)1.1 单片机的概念 (1)1.2 单片的历史、发展和应用 (4)2. 总体设计 (6)2.1 设计要求 (6)2.2 设计方案选择 (6)2.3 整体设计思路 (6)3. 系统硬件设计与部分电路说明 (8)3.1 硬件设计框图 (8)3.2 部分电路说明 (8)3.2.1 电源及启动电路 (8)3.2.2 复位电路 (9)3.2.3 时钟电路 (10)3.2.4 通信电路 (10)3.2.5 键盘电路 (11)3.2.6 流水灯电路 (11)3.2.7 音频电路 (12)3.3 电路原理图及说明 (12)4. 系统软件电路设计与分析 (13)4.1 音乐程序设计 (13)4.1.1 音乐程序流程图 (14)4.2 流水灯设计 (16)4.2.1 流水灯程序流程图 (16)4.2.2 流水灯程序 (16)4.3 音乐流水灯程序 (16)4.3.1 音乐流水灯程序流程图 (16)4.3.2 音乐流水灯程序 (17)5. 系统调试与仿真 (19)5.1 硬件调试 (19)5.2 软件调试 (19)5.3 软件仿真 (19)总结 (22)致谢 .................................................................................................... 错误!未定义书签。
LED流水灯设计
单片机课程设计报告LED流水灯的设计专业:姓名:学号:姓名:学号:姓名:学号:2015年月日目录LED流水灯的设计 (1)第一章绪论 (2)设计目的 (2)设计任务 (2)设计方法 (2)第二章设计内容与所用器件 (3)基本功能 (3)LED彩灯....................................................................................................................................................................................... 错误!不决义书签。
循环移位法 (3)第三章硬件系统设计. (4)单片机时钟电路. (4)第四章软件设计 (4)汇编语言和C语言的特色及编程 (4)LED 显示原理 (5)第五章系统调试与存在的问题. (7)程序下载 (7)硬件调试 (7)软件调试 (8)总结 (9)参照文件 (10)LED流水灯的设计[ 纲要 ]: 现在社会,跟着人们物质生活的不停提升,电子产品已经走进了家家户户,不论是生活或学习,仍是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不可以胜任的,并且比较简单犯错。
计算器作为一种迅速通用的计算工具方便了用户的使用。
计算器堪称是我们最亲近的电子伙伴之一。
本设计侧重在于剖析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详尽的剖析和研究。
单片机因为其细小的体积和极低的成本,宽泛的应用于家用电器、工业控制等领域中。
在工业生产中。
单片微型计算机是微型计算机称单片机,特别合用于控制领域,故又称为微控制器。
本系统就是充足利用了8051 芯片的 I/O 引脚。
系统以采纳 MCS-51系列单片机 Intel8051 为中心器件来设计 LED流水灯系统,实现 8 个 LED霓虹灯的左、右循环显示,并实现循环的速度可调。
流水灯实验原理
流水灯实验原理流水灯是一种常见的电子制作实验,通过简单的电路连接和控制,可以实现流水般的灯光效果。
在这个实验中,我们将学习到流水灯的原理和制作方法。
首先,我们需要准备一些基本的电子元件,包括LED灯、电阻、电容、集成电路等。
其中,LED灯是流水灯的关键部件,它能够发出不同颜色的光,并且具有较长的使用寿命和低能耗。
电阻和电容则用于限流和滤波,保证电路稳定工作。
集成电路则是流水灯的控制核心,通过它来实现灯光的流动效果。
接下来,我们需要按照一定的电路连接方式来组装流水灯电路。
首先,将LED灯和电阻连接在一起,形成LED的电路模块。
然后,将多个LED模块按照一定的顺序连接在一起,形成流水灯的整体电路。
最后,通过集成电路的控制,可以实现灯光的流动效果。
在电路连接完成后,我们需要对流水灯进行电源供应和控制信号输入。
通常情况下,我们可以使用直流电源来为流水灯提供电能,同时通过控制信号输入来控制LED灯的亮灭和流动效果。
这样,就可以实现流水灯的正常工作。
在实际制作流水灯的过程中,我们需要注意一些细节问题。
例如,LED灯的极性要正确连接,电路连接要牢固可靠,电源供应要稳定可靠,控制信号输入要准确可靠等。
只有这样,才能保证流水灯的正常工作和长期稳定使用。
总的来说,流水灯实验是一种简单而有趣的电子制作实验,通过学习和实践,我们可以更深入地了解电子元件的使用和电路连接的原理,同时也可以培养我们的动手能力和创造力。
希望大家在实验中能够认真对待,勇于尝试,相信你会有意想不到的收获和乐趣。
第2讲(二)流水灯程序设计
的第 0 为赋值 0,其他位赋值 1,即 1111 1110,也就是 0xfe 了。它实现了点亮第一个 LED
灯。
上面的方法虽然容易想到,但是程序也太长了吧,有没有好一点的方法呢?有的,下面我们 用 C51 即单片机 C 语言提供的一个函数来实现流水灯。
步骤四:其他方法实现流水灯。
我们先直接改写程序,然后再进行解释。 #include<reg52.h> #include<intrins.h> //循环移位函数定义在该头文件中,要想使用该函数必须先包含此头文件
第 3 页,共 7 页
为单片机知识普及而努力!
邢台学院嵌入式系统实验室
到这里你是不是觉得上面那么多位定义很麻烦,其实还有一种对 P0 口整体赋值的方法,被
称为总线方法。例如上面的程序可以改写为: #include<reg52.h> void main() {
P0 = 0xaa; //利用总线方法给端口赋值 } 其中,语句“P0 = 0xaa;”中的 0xaa 是十六进制数,C 语言中十六进制数都以 0x 开头。十 六进制中用 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 来表示十进制中的 0 到 15, 其中 a 表示 10,即二进制的 1010,那么 0xaa 就表示 1010 1010,这八位数从右到左分别对 应 P0 口的 0 到 7 位,如下图:
//进行空循环,来消耗 CPU 周期,达到延时的效果
led1 = 1; for(i=1000;i>0;i--)
for(j=100;j>0;j--); }
可以看出,是我们加入了循环函数来让 CPU 进行其他操作的,这样便实现了一个 LED 灯的
闪烁效果。但是同样的双重 for 循环语句我们却写了两遍,显得很臃肿,我们可以将 for 循
流水灯的设计实验报告
流水灯的设计实验报告流水灯的设计实验报告引言:流水灯作为一种常见的电子实验装置,广泛应用于各种电子设备中。
本次实验旨在通过设计和制作一个简单的流水灯电路,来理解流水灯的工作原理和电子元件的基本使用方法。
一、实验目的本次实验的目的是通过设计和制作一个流水灯电路,来加深对流水灯工作原理和电子元件的理解,并掌握基本的电路连接和焊接技巧。
二、实验原理流水灯是一种多个LED灯按照一定的顺序依次点亮和熄灭的电子装置。
其工作原理是通过时钟信号控制LED灯的亮灭,使得LED灯在一定的时间间隔内按照指定的顺序依次亮起。
在本次实验中,我们将使用555定时器芯片作为时钟信号的发生器,并通过计数器和逻辑门电路来控制LED灯的亮灭。
三、实验材料与方法1. 实验材料:- 555定时器芯片- 74HC4017计数器芯片- 逻辑门电路芯片- LED灯- 电阻、电容等元件- 面包板、导线等实验器材2. 实验方法:- 根据电路原理图连接电子元件,注意正确连接引脚和极性。
- 使用焊接工具将电子元件固定在面包板上。
- 连接电源,注意电压和电流的安全使用。
- 调整电路参数,观察流水灯的亮灭顺序和频率。
四、实验结果与分析经过实验,我们成功设计和制作了一个流水灯电路,并且实现了预期的效果。
LED灯按照指定的顺序依次亮起,并在一定的时间间隔后熄灭,再由下一个LED灯亮起。
整个流水灯的亮灭过程形成了一个连续流动的效果,非常美观。
通过调整电路参数,我们还可以改变流水灯的亮灭顺序和频率。
例如,增加LED灯的数量,可以实现更长的流水灯效果;调整计数器芯片的工作频率,可以改变流水灯的闪烁速度。
这些参数的调整,可以根据实际需求来进行灵活设置。
五、实验心得与体会通过本次实验,我对流水灯的工作原理和电子元件的使用方法有了更深入的了解。
在实际操作中,我学会了正确连接电子元件的方法,并掌握了一定的焊接技巧。
通过不断调整电路参数,我也体验到了电子元件对电路性能的影响。
教你制作流水灯,图形
1.所需原材料:
2.用到的工具:焊锡丝、电烙铁、镊子、小电钻、焊接线等(根
据个人情况,总之焊接的相关工具必须有)。
3.主要控制电路的电路图:
记得电源用手机电池正好,手机电池电压是3.7v。
4.制作过程及效果:
接下来就是照着电路图将控制电路做出来!这是我焊接好的电路板:
这是正面:
这是背面:
这个控制的电路板做好了就基本上完成了,然后就是灯板的只做了,总之就三种颜色,你可以做三个字,或者是一个图形用三种灯变换,做出来很漂亮的,曾经做过一个,是用三种发光二级管各五个,拼成以个心形,流水闪起来很有感觉!
(写这个主要是当时自己要做的时候,找电路图找了很久很费劲,而且找到的很多电路图做出来都不稳定,亮度也不是很好,但是这个是找到的里面最好的一个,亮度很好,而且挺稳定的,所以把它拿出来给那些也想做的分享一下)
那个灯板我就不做了,因为手头上没有那么多的二极管了。
祝大家制作成功,有情人终成眷属啊。
这是我之后又做的手机电池盒,给这个流水灯做电源:
下面是我简单的把我有的二极管不多,黄绿蓝各五个,也没有焊到电路板上,只是简单的接了一下,主要是为了检测这个电路是
不是好用!因为黄的和绿色二极管的额定电压不同,所以亮度有所不同,下面是发光的照片,大家在做的时候可以做成想做的图形或字:
这回完整了。
流水灯课程设计
第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。
八位流水灯设计
八位流水灯设计流水灯是一种常见的电子元件,它可以通过不断变化的灯光颜色、明暗程度和位置,展现出美丽的图案和效果。
八位流水灯是一种能够显示8位二进制代码的流水灯,在电子技术领域中得到广泛应用。
利用八位流水灯,可以实现许多有趣的电子实验和项目,比如数字电子钟、数字电子扫描仪等等。
下面我们将详细介绍八位流水灯的设计原理和制作步骤:1. 设计原理八位流水灯的设计原理基于二进制计数器的工作原理。
二进制计数器是由多个触发器组成的电路,它可以不断地计数,并显示出相应的二进制代码。
在八位流水灯中,我们需要使用八个触发器,并将其连接成一个环形计数器。
计数器的工作原理如下:当计数器的时钟信号触发时,它将从0开始计数,并逐渐增加到最大值FF(即二进制数11111111)。
当计数器达到最大值时,它将会自动清零,并从0重新开始计数。
将计数器的每个二进制位分别与LED灯相连。
当计数器计数时,LED灯将按照二进制代码的顺序依次点亮,从而形成流水灯的效果。
2. 制作步骤制作八位流水灯需要以下材料和工具:材料:1. 8个LED灯2. 8个220欧姆电阻3. 8个NPN型晶体管5. 74HC595移位寄存器工具:1. 焊接工具2. 电线切割工具3. 钳子4. 面包板步骤:将8个LED灯连接到8个220欧姆电阻上,再将电阻与负极连接。
然后将正极端与每个NPN晶体管的基脚相连。
2. 连接晶体管将晶体管的集电极连接到正极,发射极连接到地,基极与LED灯连接的电阻相连。
3. 连接电阻将8个3.3K欧姆电阻连接到74HC595移位寄存器的输出引脚上。
将移位寄存器的输入引脚连接到单片机的IO口上,QH引脚连接到第一个LED的输入上,并将移位寄存器的时钟(Clock)和锁存(Latch)引脚连接到单片机的IO口上。
5. 安装电路将电路连接在面包板上,并使用钳子进行固定。
6. 测试电路将电路连接到电源上,并编写程序进行测试。
7. 整理布线在电路测试成功后,用电线整理布线,使其美观整齐。
流水灯的设计方案
流水灯设计的方案显然,要设计出两个以上的程序来实现流水灯闪烁样式的转换.这里设计两个样式.第一个样式主要用SFTL,SFTR指令,该指令很适于流水灯闪烁的情况;第二个样式主要用到MOV指令,实现一些SFTL,SFTR指令难以实现的复杂样式.为了方便理解,统一两个程序的有关设置:1.输入/输出接线列表输入接口:X1(接常开开关)输出接口:(L1表示Lamp1,第一盏灯,如此类推)Y0Y1Y2Y3Y4Y5Y6Y7Y1Y11L1L2L3L4L5L6L7L8L9L12.时间设定每隔0.5秒变换一次.5.3闪烁样式1的程序设计5.3.1 闪烁样式1的流程1.顺向单灯流动:L1→L2→L3→L4→L5→L6→L7→L8→L9→L102.逆向单灯隔点跳: →L9→L7→L5→L3→L13.顺向双灯步进: →L1L2→L3L4→L5L6→L7L8→L9L104.逆向双灯流动: →L10L9→L9L8→L8L7→L7L6→L6L5→L5L4→L4L3→L3L2→L2L15.顺向三灯流动: →L1L2L3→L2L3L4→L3L4L5→L4L5L6→L5L6L7→L6L7L8→L7L8L9→ L8L9L106.逆向五灯互映: →L10L9L8L7L6→L5L4L3L2L17.顺向隔点累亮: →L1L3→L1L3L5L7→L1L3L5L7L98.顺向填亮隔点:→L1L2L3 L5 L7 L9→L1L2L3L4L5 L7 L9→L1L2L3L4L5L6L7 L9→L1L2L3L4L5L6L7L8L9→L1L2L3L4L5L6L7L8L8L9L10返回1→L1,如此循环.5.3.2 闪烁样式1的语句表STL0 LD X001 ;X001为输入口1 ANI M02 OUT T0 K5 ;每0.5秒移位1次5 LD T06 OUT M07 LD X0018 MPS ;压入堆栈9 ANI M1 ;作X001的开关,便于循环复位10 OUT T1 K6 ;在移位前要先使移位寄存器首位得电13 MPP ;弹出堆栈14 ANI T115 OUT M10 ;用M10不直接用M151,是为了便于移到末位时切换16 LD M24017 OR T2 ;T2得电后,形成自锁,使M110保持得电,使M241~M250构成的移位寄存器随着左移不断置1,从而实现累亮18 MPS19 ANI M2 ;作M240的开关,便于循环复位20 OUT T2 K123 MPP24 OUT M11025 LD M026 SFTL M10 M151 K10 K1 ;M151~M160构成10位移位寄存器,每次左移1位35 SFTR M20 M161 K10 K2 ;M161~M170构成10位移位寄存器,每次右移2位44 SFTL M30 M171 K10 K253 SFTR M40 M182 K9 K162 SFTR M50 M191 K9 K171 SFTL M60 M201 K8 K180 SFTL M80 M212 K8 K1 ;避免M70段特殊继电器89 SFTL M90 M223 K8 K198 SFTR M100 M231 K10 K5107 SFTL M110 M241 K10 K2116 SFTL M120 M251 K10 K1125 LD M151126 OR M161 ;由于输出口Y0~Y11不能构成移位寄存器,因而用一系列继电器组成移位寄存器,为了避免移位紊乱,因而组成多个不同的移位寄存器127 OR M171128 OR M181129 OR M191130 OR M201131 OR M211132 OR M221133 OR M231134 OR M241136 OUT Y000 137 LD M152 138 OR M162 139 OR M172 140 OR M182 141 OR M192 142 OR M202 143 OR M212 144 OR M222 145 OR M232 146 OR M242 147 OR M252 148 OUT Y001 149 LD M153 150 OR M163 151 OR M173 152 OR M183 153 OR M193 154 OR M203 155 OR M213 156 OR M223 157 OR M233 158 OR M243 159 OR M253 160 OUT Y002 161 LD M154 162 OR M164 163 OR M174 164 OR M184 165 OR M194 166 OR M204 167 OR M214 168 OR M224 169 OR M234 170 OR M244 171 OR M254 172 OUT Y003 173 LD M155 174 OR M165 175 OR M175 176 OR M185 177 OR M195 178 OR M205180 OR M225 181 OR M235 182 OR M245 183 OR M255 184 OUT Y004 185 LD M156 186 OR M166 187 OR M176 188 OR M186 189 OR M196 190 OR M206 191 OR M216 192 OR M226 193 OR M236 194 OR M246 195 OR M256 196 OUT Y005 197 LD M157 198 OR M167 199 OR M177 200 OR M187 201 OR M197 202 OR M207 203 OR M217 204 OR M227 205 OR M237 206 OR M247 207 OR M257 208 OUT Y006 209 LD M158 210 OR M168 211 OR M178 212 OR M188 213 OR M198 214 OR M208 215 OR M218 216 OR M228 217 OR M238 218 OR M248 219 OR M258 220 OUT Y007 221 LD M159 222 OR M169224 OR M189225 OR M199226 OR M209227 OR M219228 OR M229229 OR M239230 OR M249231 OR M259232 OUT Y010233 LD M160234 OR M170235 OR M180236 OR M180237 OR M200238 OR M210239 OR M220240 OR M230241 OR M240242 OR M250243 OR M260244 OUT Y011245 LD M160246 OUT M20247 LD M161248 OUT M30249 OUT M31250 LD M180251 OUT M40252 OUT M50253 LD M191254 OUT M60255 OUT M80256 OUT M90257 LD M230258 OUT M100259 OUT M101260 OUT M102261 OUT M103262 OUT M104263 LD M249264 OUT M120265 LD M260266 OUT M1 ;这里先复位M1、M2,是为了解除对X001和M240的自锁267 OUT M2268 OUT T4 K5271 LD T4272 ZRST M3 M270 ;复位M3~M270,实现循环277 END ;程序结束5.3.3 闪烁样式1的程序说明1.关于SFTL,SFTR,ZRST的用法详见编程手册.2.X001输入口接常开开关,仿真软件中X20~X23为点动开关,若用要加自锁结构.3.编程时注意继电器M的序号与定时器的参数关系.5.4闪烁样式2的程序设计5.4.1闪烁样式2的流程1.中间扩散亮: L5L6→L4L5L6L7→L3L4L5L6L7L8→L2L3L4L5L6L7L8L9→L1L2L3L4L5L6L7L8L9L102.隔点排列: →L1L3L5L7L9→L2L4LL6L8L103.顺向逐点累灭:→L1L2L3L4L5L6L7L8L9L10→L2L3L4L5L6L7L8L9L10→L3L4L5L6L7L8L9L10→L4L5L6L7L8L9L10→L5L6L7L8L9L10→L6L7L8L9L10→L7L8L9L10→L8L9L10→L9L10→L10→全灭4.逆向逐点累亮:→L10→L9L10→L8L9L10→L7L8L9L10→L6L7L8L9L10→L5L6L7L8L9L10→L4L5L6L7L8L9L10→L3L4L5L6L7L8L9L10→L2L3L4L5L6L7L8L9L10→L1L2L3L4L5L6L7L8L9L105.顺向灭灯流动:→ L2L3L4L5L6L7L8L9L10→L1 L3L4L5L6L7L8L9L10→L1L2 L4L5L6L7L8L9L10→L1L2L3 L5L6L7L8L9L10→L1L2L3L4 L6L7L8L9L10→L1L2L3L4L5 L7L8L9L10→L1L2L3L4L5L6 L8L9L10→L1L2L3L4L5L6L7 L9L10→L1L2L3L4L5L6L7L8 L10→L1L2L3L4L5L6L7L8L9返回1→L5L6,如此循环.5.4.2 闪烁样式2的语句表STL0 LD X001 ;X001为输入口1 OUT T0 K04 LD T05 MOV K48 K3Y000 ;DEC 48=BIN 0000110000,转换后被送到输出,中间输出置高电平而使中间两灯亮(这里也可以用十六进制数表示,即将K48改成H0030); K3Y000表示3组四位公共输出映象寄存器组成一个12位的寄存器,因为需要10位输出,用3组才能保证位数大于1010 OUT T1 K5 ;隔0.5秒变换1次13 LD T114 MOV K120 K3Y000 ;DEC 120=BIN 000111100019 OUT T2 K522 LD T223 MOV K252 K3Y000 ;DEC 252=BIN 00111 1110028 OUT T3 K531 LD T332 MOV K510 K3Y000 ;DEC 510=BIN 01111 1111037 OUT T4 K540 LD T441 MOV K1023 K3Y000 ;DEC 1023=BIN 11111 1111146 OUT T5 K549 LD T550 MOV K341 K3Y000 ;DEC 341=BIN 101010101055 MOV K3413 D0 ;DEC 3413=BIN 111010101010,转换后送到D0,注意到该二进制数低10位与前数相同60 OUT T6 K563 LD T664 CML D0 K3Y000 ;取反D0,增加程序的可读性69 OUT T7 K572 LD T773 MOV K1023 K3Y00078 OUT T8 K581 LD T882 MOV K1022 K3Y000 ;DEC 1022=BIN 1111111110 87 OUT T9 K590 LD T991 MOV K1020 K3Y000 ;DEC 1020=BIN 1111111100 96 OUT T10 K599 LD T10100 MOV K1016 K3Y000 ;DEC 1016=BIN 1111111000 105 OUT T11 K5108 LD T11109 MOV K1008 K3Y000 ;DEC 1008=BIN 1111110000 114 OUT T12 K5117 LD T12118 MOV K992 K3Y000 ;DEC 992=BIN 1111100000 123 OUT T13 K5126 LD T13127 MOV K960 K3Y000 ;DEC 960=BIN 1111000000 132 OUT T14 K5135 LD T14136 MOV K896 K3Y000 ;DEC 896=BIN 1110000000 141 OUT T15 K5144 LD T15145 MOV K768 K3Y000 ;DEC 768=BIN 1100000000 150 OUT T16 K5153 LD T16154 MOV K512 K3Y000 ;DEC 512=BIN 1000000000 159 OUT T17 K5162 LD T17163 MOV K0 K3Y000 ;DEC 512=BIN 0000000000 168 OUT T18 K5171 LD T18172 MOV K512 K3Y000177 OUT T19 K5180 LD T19181 MOV K768 K3Y000186 OUT T20 K5189 LD T20190 MOV K896 K3Y000195 OUT T21 K5198 LD T21199 MOV K960 K3Y000204 OUT T22 K5207 LD T22208 MOV K992 K3Y000213 OUT T23 K5216 LD T23217 MOV K1008 K3Y000222 OUT T24 K5225 LD T24226 MOV K1016 K3Y000231 OUT T25 K5234 LD T25235 MOV K1020 K3Y000240 OUT T26 K5243 LD T26244 MOV K1022 K3Y000249 OUT T27 K5252 LD T27253 MOV K1023 K3Y000258 OUT T28 K5261 LD T28262 MOV K1022 K3Y000 ;DEC 1022=BIN 1111111110 267 OUT T29 K5270 LD T29271 MOV K1021 K3Y000 ;DEC 1022=BIN 1111111101 276 OUT T30 K5279 LD T30280 MOV K1019 K3Y000 ;DEC 1019=BIN 1111111011 285 OUT T31 K5288 LD T31289 MOV K1015 K3Y000 ;DEC 1015=BIN 1111110111 294 OUT T32 K5297 LD T32298 MOV K1007 K3Y000 ;DEC 1007=BIN 1111101111 303 OUT T33 K5306 LD T33307 MOV K991 K3Y000 ;DEC 991=BIN 1111011111 312 OUT T34 K5315 LD T34316 MOV K959 K3Y000 ;DEC 959=BIN 1110111111 321 OUT T35 K5324 LD T35325 MOV K895 K3Y000 ;DEC 895=BIN 1101111111 330 OUT T36 K5333 LD T36334 MOV K767 K3Y000 ;DEC 895=BIN 1011111111339 OUT T37 K5342 LD T37343 MOV K511 K3Y000 ;DEC 895=BIN 0111111111348 OUT T38 K5351 LD T38352 ZRST T0 T38 ;复位T0~T38,实现循环357 END ;程序结束5.4.3 闪烁样式2的程序说明1.关于MOV,CML的用法详见编程手册[14].2.使用以下表格有助于进行位分析:表5-11 2 4 8 16 32 64 128 256 512例如,要使中间两灯亮,即要使中间两输出口置高电平,即要把二进制数0000110000送到输出,对应上表格,16+32=48,即BIN 0000110000=DEC 48,这就是为什么要把48送到输出的原因.。
流水灯设计的知识点
流水灯设计的知识点流水灯作为一种常见的装饰灯具,其具有变换的灯光效果,给人一种流动的感觉,广泛应用于节日庆典、娱乐场所和商业广告等场合。
设计一款流水灯需要掌握一些相关的知识点,本文将从电路设计、灯光效果控制和外观设计等方面进行探讨,以帮助读者更好地了解流水灯的制作过程。
一、电路设计1. 电路原理流水灯的电路原理基于电子器件的驱动和控制,通常采用可编程的集成电路(如微控制器)来控制灯光的变化。
电路原理包括电源部分、控制信号输入部分和灯珠驱动部分等。
2. 电源设计流水灯的电源设计需要考虑到供电稳定性和灯珠电流的需求。
常用的电源方式有直流电源和交流电源,选择适当的电源方式可以提高整个流水灯的工作效果。
3. 控制信号输入设计流水灯的控制信号输入设计主要包括控制面板或遥控器的设计。
设计时需要考虑到控制方式、信号解码和输入接口等问题,确保控制信号的准确传输。
4. 灯珠驱动设计流水灯的灯珠驱动设计主要涉及电流和电压的控制。
常用的驱动方式有恒流驱动和恒压驱动,根据实际需求选择合适的灯珠驱动方式能够保证流水灯的稳定工作。
二、灯光效果控制1. 点亮模式流水灯的点亮模式是指灯珠逐个按顺序点亮的效果,通过控制电路中的时序控制信号实现。
可以设计不同的点亮速度和灯珠排列方式,使得灯光效果更加丰富多样。
2. 流动模式流水灯的流动模式是指灯光从一端到另一端流动的效果,通过控制电路中的时序和转发信号实现。
可以设计不同的流动方向、速度和距离,使得流水灯的流动效果更加迷人。
3. 变换模式流水灯的变换模式是指灯光在时间和空间上的变换效果,通过控制电路中的时序和变换信号实现。
可以设计不同的变换方式,如渐变、闪烁和呼吸等,以满足不同场合的需求。
三、外观设计1. 灯珠选择流水灯的灯珠选择一般采用发光二极管(LED),LED具有功耗低、寿命长和丰富的颜色选择等优点。
在外观设计中可以选择不同颜色和尺寸的LED灯珠,根据需求进行组合排列。
2. 灯管设计流水灯的灯管设计主要涉及材质、形状和长度等方面。