流水灯实验报告
流水灯实验报告总结

流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(LED)依次点亮和熄灭,从而产生一种流动的视觉效果。
其实现的核心原理是利用计数器和译码器来控制 LED 的亮灭状态。
在数字电路中,计数器可以对输入的时钟脉冲进行计数,从而产生不同的计数值。
译码器则将计数器输出的计数值转换为对应的控制信号,使得相应的 LED 点亮或熄灭。
例如,使用常见的 74LS161 四位二进制同步计数器和 74LS138 三线八线译码器,可以构建一个简单的八路流水灯电路。
计数器在时钟脉冲的驱动下不断计数,译码器根据计数器的输出值依次选通不同的输出端口,从而实现 LED 的顺序点亮。
三、实验设备及材料1、数字电路实验箱2、 74LS161 计数器芯片3、 74LS138 译码器芯片4、发光二极管(LED)若干5、电阻、电容等基本电子元件6、杜邦线若干7、数字万用表8、示波器四、实验步骤(一)电路设计1、根据实验原理,在实验箱上规划好芯片的布局和连线方式。
2、使用杜邦线将计数器、译码器和 LED 等元件按照设计好的电路连接起来。
3、注意连接的正确性,避免短路和断路现象。
(二)硬件搭建1、仔细对照电路设计图,将芯片插入实验箱的相应插槽中。
2、确保芯片引脚与插槽接触良好,无松动现象。
(三)编程与调试1、使用数字电路实验箱提供的编程工具,对计数器和译码器进行编程设置。
2、例如,设置计数器的计数模式、初始值等参数。
3、打开电源,观察 LED 的亮灭情况。
4、如果流水灯效果不符合预期,使用数字万用表和示波器等工具检测电路中的信号和电压,排查故障。
五、实验中遇到的问题及解决方法(一)LED 不亮1、问题描述:接通电源后,所有 LED 均不亮。
2、排查过程:首先检查电源是否正常,然后使用万用表测量芯片引脚的电压,发现计数器芯片没有正常工作。
流水灯实验报告

流水灯实验报告实验目的,通过搭建流水灯电路,了解流水灯的工作原理,并掌握基本的电路连接方法和元器件的使用。
实验仪器与设备,LED灯、电阻、导线、面包板、电源等。
实验原理,流水灯是一种常见的LED灯效应,通过控制LED灯的亮灭顺序,形成灯光流动的效果。
在电路连接方面,我们需要使用电阻来限制LED灯的电流,以保护LED灯不受损坏。
实验步骤:1. 将LED灯和电阻连接到面包板上,按照电路图连接好各个元器件。
2. 将面包板连接到电源上,注意接线的正确性和稳定性。
3. 打开电源,观察LED灯的亮灭顺序,确认流水灯效果是否正常。
实验结果与分析:经过实验,我们成功搭建了流水灯电路,并且观察到LED灯按照一定的顺序亮灭,形成了流水灯的效果。
这说明电路连接正确,元器件工作正常。
在实验过程中,我们发现电阻的作用是非常重要的,它可以限制LED灯的电流,防止LED灯受损。
同时,电源的稳定性也对流水灯的效果有着重要的影响,稳定的电源可以保证LED灯的正常工作。
实验总结:通过本次实验,我们对流水灯的工作原理有了更深入的了解,也掌握了搭建流水灯电路的基本方法。
在今后的学习和实践中,我们可以运用这些知识,进行更多有趣的电路搭建和实验。
实验中还需要注意安全问题,避免短路和触电等意外情况的发生。
在实验过程中,要严格按照操作规程进行,确保实验的顺利进行。
最后,希望通过这次实验,大家能够对电路连接和LED灯效应有更深入的理解,为今后的学习和科研打下坚实的基础。
结语,本次实验结束,谢谢大家的参与和配合,希望大家能够从中收获知识,不断提高自己的实验能力和动手能力。
流水灯实验报告

实验一流水灯实验一、实验目的1)简单I/O引脚的输出2)掌握软件延时编程方法3)简单按键输入捕获判断二、实验实现的功能1)开机时点亮12发光二极管, 闪烁三下2)按照顺时针循环依次点亮发光二极管3)通过按键将发光二极管的显示由顺时针改为逆时针方式三、系统硬件设计单片机STC10F08XE 1片发光二极管led 红4个黄4个绿4个按键6个复位电路时钟电路如下图所示:四、系统软件设计#include<reg51.h>sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; void Delay(void){unsigned char i,j,k;for(i=10;i>0;i--)for(j=132;j>0;j--)for(k=150;k>0;k--); }Scan_Key(){ unsigned char FLAG=0;unsigned char n;n=(L1==0)||(L2==0)||(L3==0);if(n) { FLAG=1;}return FLAG; }main(){ unsigned char y,n,s=0,b=1,m=0;unsigned char c=1;unsigned char a[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char h[]={0xff,0x38,0x34,0x2f,0x1f};n=Scan_Key(); for(y=0;y<3;y++){ P2=0; P3=0; Delay(); Delay(); Delay();P2=0xff; P3=0xff; Delay(); Delay(); Delay(); }while(1) { while(1){ m=m+n; P3=0x3f; while(1){ for(;b<9;b++){ n=Scan_Key(); m=m+n;if((P3==0x3f)&&(m%2==0)){P2=a[b];Delay();}else { P2=0xff;break; }if(m%2==0) c=1; P2=0xff; }for(;c<5;c++){n=Scan_Key(); m=m+n;if((P2==0xff)&&(m%2==0)){ P3=h[c];Delay();}else { P3=0x3f;break;} }if(m%2==0) b=1; break; }if(m%2==1) break; }while(1){ for(;b>0;b--){n=Scan_Key(); m=m+n;if((P3==0x3f)&&(m%2==1)){P2=a[b];Delay(); } else{P2=0xff;break;} P2=0xff; }if(m%2==1) c=4; for(;c>0;c--){ n=Scan_Key(); m=m+n;if((P2==0xff)&&(m%2==1)){ P3=h[c]; Delay();}else { P3=0x3f;break;} P3=0x3f; }if(m%2==0) break;if(m%2==1) b=8; } } }五、实验过程中遇到的问题及解决方法问题1: 如何实现顺、逆时针依次点亮流水灯?解决: 利用循环右移_cror_(m,1)和循环左移_crol_(n,1)依次点亮。
简易流水灯设计实验报告

简易流水灯设计实验报告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开发板,并通过开发环境的串口监视器进行编译和调试。
流水灯实验报告

流水灯实验报告流水灯实验报告引言:流水灯是一种常见的电子实验,通过控制电路中的LED灯的亮灭顺序,形成灯光在一组LED灯之间流动的效果。
本文将介绍流水灯实验的背景、实验目的、实验步骤、实验结果和实验总结。
一、实验背景:流水灯是电子电路实验中的经典实验之一,它通过控制LED灯的亮灭顺序,展示了数字电路中的时序控制技术。
流水灯实验不仅能够培养学生的动手能力,还能够加深对数字电路原理的理解。
二、实验目的:1. 学习和掌握流水灯电路的基本原理;2. 熟悉数字电路中的时序控制技术;3. 提高实验操作和电路调试能力。
三、实验器材和元器件:1. Arduino开发板;2. 电阻、电容等基本元器件;3. LED灯。
四、实验步骤:1. 搭建电路:将Arduino开发板与电阻、电容和LED灯连接起来,按照流水灯电路的原理图进行连接。
2. 编写程序:使用Arduino开发环境,编写控制LED灯流动的程序。
程序中需要设置LED灯的亮灭时间和顺序。
3. 上传程序:将编写好的程序上传到Arduino开发板中。
4. 调试电路:通过观察LED灯的亮灭情况,检查电路连接是否正确。
如有问题,及时调整电路连接。
5. 运行实验:将Arduino开发板上电,观察LED灯按照预设的顺序流动。
五、实验结果:经过实验,LED灯按照预设的顺序流动,形成了流水灯的效果。
LED灯的亮灭时间和顺序可以根据程序的编写进行调整。
实验结果符合预期,实验成功。
六、实验总结:通过本次流水灯实验,我深入了解了数字电路中的时序控制技术,并通过实际操作提高了自己的动手能力和电路调试能力。
流水灯实验是一种理论联系实际的有效方式,通过实验可以更好地理解数字电路的原理和工作方式。
在实验过程中,我遇到了一些困难,例如电路连接错误、程序编写有误等。
但通过仔细检查和调试,最终解决了这些问题。
这个过程让我学会了耐心和细致,也增强了我的问题解决能力。
总之,流水灯实验是一种基础且有趣的电子实验,通过实验可以深入理解数字电路中的时序控制技术。
流水灯实验报告单(3篇)

第1篇实验名称:流水灯实验实验日期:2021年10月25日实验地点:实验室实验者:张三一、实验目的1. 了解流水灯的原理和组成;2. 掌握流水灯的制作方法;3. 培养动手能力和团队合作精神。
二、实验原理流水灯是一种通过改变电路中各个灯泡的连接方式,实现灯光顺序变化的电子装置。
其原理是利用555定时器产生一个周期性的方波信号,通过控制方波信号的占空比,实现不同灯泡的顺序点亮。
三、实验器材1. 555定时器1个;2. 集成电路板1块;3. 灯泡4个;4. 电阻4个;5. 电池1节;6. 导线若干;7. 万用表1个;8. 电烙铁1把;9. 剪线钳1把。
四、实验步骤1. 制作电路板:将555定时器、电阻、灯泡等元件焊接在电路板上。
2. 连接电路:将电池的正负极分别连接到电路板的电源端,将555定时器的输出端分别连接到灯泡的正极,将灯泡的负极分别连接到电路板的GND端。
3. 测试电路:使用万用表测量555定时器的输出电压,确保输出电压在正常范围内。
4. 调整占空比:通过改变电阻的阻值,调整555定时器的占空比,实现不同灯泡的顺序点亮。
5. 验证实验:观察流水灯的运行情况,确认实验是否成功。
五、实验结果与分析1. 实验成功:通过调整电阻的阻值,实现了4个灯泡的顺序点亮,实验成功。
2. 分析:在实验过程中,我们发现调整电阻的阻值可以改变555定时器的占空比,从而改变灯光的顺序。
当电阻阻值增大时,占空比减小,灯光点亮速度变慢;当电阻阻值减小时,占空比增大,灯光点亮速度变快。
六、实验结论通过本次流水灯实验,我们掌握了流水灯的原理和制作方法,提高了动手能力和团队合作精神。
实验结果表明,通过调整电阻的阻值,可以实现不同灯泡的顺序点亮,达到流水灯的效果。
七、实验反思1. 在实验过程中,我们发现电路板焊接过程中容易出现短路现象,因此在焊接过程中要仔细检查,确保电路板焊接正确。
2. 在调整电阻阻值时,要注意观察灯光的变化,以便找到最佳的电阻阻值。
流水灯实验报告总结

流水灯实验报告总结流水灯实验是一种常用的电子元件实践训练,通过使用电子器件和编程语言,实现LED灯的流水效果。
本次实验中,我们成功地搭建了一个简单的流水灯电路,并通过编程控制实现了流水灯的效果。
首先,我们搭建了一个基本的流水灯电路。
流水灯电路由多个LED灯组成,LED 灯按照一定的顺序依次点亮和熄灭。
我们使用了74HC595位移寄存器来控制LED灯的点亮和熄灭。
通过给74HC595寄存器输入正确的二进制数值,可以实现给指定的LED灯点亮或熄灭。
接下来,我们使用编程语言对流水灯进行了控制。
在本次实验中,我们使用了Arduino编程语言来控制流水灯。
通过编写Arduino程序,我们可以控制74HC595寄存器的输入,从而控制LED灯的点亮和熄灭。
在程序中,我们使用了for循环和延时函数来实现流水灯的效果。
通过改变循环的次数和延时的时间,我们可以调整流水灯的速度和亮度。
在实验过程中,我们遇到了一些问题和困难。
首先,我们需要仔细连接电路,确保LED灯和74HC595寄存器的引脚正确连接。
其次,我们需要正确设置Arduino的串口和端口,以便将程序烧录到Arduino板上。
最后,我们需要仔细调试程序,确保流水灯的效果符合预期。
通过本次实验,我们学到了很多知识和技能。
首先,我们了解了流水灯和74HC595寄存器的工作原理。
其次,我们掌握了Arduino编程语言的基本语法和用法。
最后,我们掌握了电路搭建和调试的技巧。
总的来说,本次流水灯实验是一次很有意义的实践训练。
通过实验,我们进一步加深了对电子元件和编程语言的理解,提高了我们解决问题和创新的能力。
同时,通过实验我们也加强了团队合作和沟通的能力。
在今后的学习和工作中,我们将继续运用实践训练所学的知识和技能,不断创新和进步。
51单片机流水灯实验报告

竭诚为您提供优质文档/双击可除51单片机流水灯实验报告篇一:51单片机流水灯实验报告51单片机流水灯试验一、实验目的1.了解51单片机的引脚结构。
2.根据所学汇编语言编写代码实现LeD灯的流水功能。
3.利用开发板下载hex文件后验证功能。
二、实验器材个人电脑,80c51单片机,开发板三、实验原理单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LeD灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的p2端口,对8个LeD灯进行控制,要实现逐个亮灯即将p2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。
使用rl或rra实现位的转换。
A寄存器的位经过rra之后转换如下所示:然后将A寄存器转换一次便送给p2即moVp2,A便将转换后的数送到了p2口,不断循环下去,便实现了逐位置一操作。
四、实验电路图五、通过仿真实验正确性代码如下:oRg0moVA,#00000001bLoop:moVp2,ARLAAcALLDeLAYsJmpLoopDeLAY:moVR1,#255DeL2:moVR2,#250DeL1:DJnZR2,DeL1DJnZR1,DeL2ReTend实验结果:六、实验总结这次试验我通过proteus仿真实现对流水灯功能的实现。
受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。
在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。
这些错误令我明白以后在试验中要步步细心,避免出错。
篇二:实验(:51单片机流水灯实验报告)一51单片机流水灯实验实验报告“流水灯”实验报告一、实验目的1.了解单片机I/o口的工作原理。
2.掌握51单片机的汇编指令。
3.熟悉汇编程序开发,调试以及仿真环境。
二、实验内容通过汇编指令对单片机I/o进行编程(本实验使用p0口),以控制八个发光二极管以一定顺序亮灭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流水灯实验报告
课程名称: 单片机原理及接口 实验项目名称: 实验2 流水灯实验 时间: 2011-10-21 班级: 电信092 姓名: 蔡松亮 学号: 910706247
一、实 验 目 的:
进一步熟悉keil 仿真软件、proteus 仿真软件的使用。
了解并熟悉单片机I/O 口和LED
灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O 口的编程方法和使用I/O
口进行输入输出的注意事项。
二、实验原理:
MCS-51系列单片机有四组8位并行I/O 口,记作P0、P1、P2和P3。
每组I/O 口内
部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O 端
口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O 端口用作双向输
入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,
与MCS-51的内部功能器件配合使用。
以P1口为例,内部结构如下图所示:
成 绩:
指导教师(签名):
图P1口的位结构
作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实验环境:
硬件:PC机,基本配置CPU PII以上,内存2G
软件:keil 2, Proteus 7.5
四、实验内容及过程:
1、用Proteus画流水灯电路图流程:
1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图1 所示:
图1 打开搜索元器件窗口
2)、搜索添加元器件,如图2 所示:
图2 搜索添加元器件窗口
3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。
总电路图如图3 所示:
图3 流水灯电路原理图
2、用keil建项目流程:
1)、运行keil 2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击Source Group1添加入程序文件。
2)、编写程序,右击Target 1打开设置输出HEX窗口,如图4 所示:
图4 打开设置输出HEX窗口
3)、设置输出HEX文件,勾选上Output下的Create HEX Fi:,单击确定保存,运行程序得到HEX文件,如图5 所示:
图5 设置输出HEX文件
3、实验内容:
1)、8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环。
新建keil文件,编写程序,程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void defay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
uchar temp;
void main()
{
temp=0xfe;
P2=temp;
while(1)
{
temp=_crol_(temp,1);
defay(500);
P2=temp;
}
}
2)、编写程序使8个LED灯从两边向中间循环点亮。
编写程序,程序如下:
uchar temp,m,n;
uint i;
void main()
{
m=0xfe;
n=0x7f;
while(1)
{
P2=m&n;
m=_crol_(m,1);
n=_cror_(n,1);
if(m==0xef)
{
m=0xfe;
n=0x7f;
}
defay(500);
}
}
3)、编写程序使用一根或二根I/O线接一开关控制流水灯流向。
编写程序,程序如下:
sbit p15=P1^5;
void main()
{
temp=0xfe;
P2=temp;
while(1)
{
if (p15==1)
{
temp=_crol_(temp,1);
defay(500);
}
if (p15==0)
{
temp=_cror_(temp,1);
defay(500);
}
P2=temp;
}
}
五、实验心得:
通过本次的实验,熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O 口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。