EDA实验设计报告流水灯
- 格式:doc
- 大小:16.50 KB
- 文档页数:3
流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(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、排查过程:首先检查电源是否正常,然后使用万用表测量芯片引脚的电压,发现计数器芯片没有正常工作。
EDA课程设计流水灯设计目录一、摘要··3二、流水灯设计目的··4三、流水灯设计流程··4四、流水灯设计程序··5五、流水灯设计管脚分配··7六、功能仿真图··8七、原理图波形图··9八、设计注意事项··10九、课程设计总结··11十、参考文献··12十一、评分表··13一、摘要随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。
随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。
因此学好EDA技术对我们有很大的益处。
EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。
在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。
在此过程中培养从事设计工作的整体观念。
课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面:·独立工作能力和创造力。
·综合运用专业及基础知识,解决实际工程技术问题的能力。
1. 实验目的1.通过此实验让用户进一步了解、熟悉和掌握CPLD/FPGA开发软件的使用方法及VHDL的编程方法,熟悉以Herilong HDL文件为顶层模块的设计。
2.学习和体会分支条件语句casc的使用方法及FPGA I/O口的输出控制。
2. 实验内容SmartSOPC实验箱上有8个按键KEY1~KEY8和8个发光二极管LED1~LED8。
在SmartSOPC实验箱上KEY1~KEY8通过跳线JP6的LED1~LED8分别于芯片的121~124、143、141、158、和156引脚相连。
本实验的内容是要求在SmartSOPC实验箱上完成对8个键盘KEY1~KEY8进行监控,一旦有键输入判断其键值,并点亮相应的发光二极管,如若KEY3按下,则点亮LED1~LED3发光管并且在放开时也能保持亮的状态。
3. 实验原理FPGA的所有I/O控制块允许每个I/O引脚单独置为输入口,不过这种配置是系统自动完成的,一旦该I/O口被设置为输入口使用时,该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样改I/O引脚即可用作专用输入引脚。
只要正确分配并锁定引脚后,一旦在KEY1~KEY8中有键输入,在检测到键盘输入的情况下,继续判断其键盘值并作出相应的处理。
最后拿出跳线短接帽跳接到JP6的LED1~LED7、KEY1~KEY8使LED1~LED8和KEY1~KEY8和芯片对应的引脚相连。
拿出Altera ByteBlasterⅡ下载电缆,并将此电缆的两端分别接到PC机的打印机并口和QuickSOPC核芯板上的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中,按下KEY1~KEY8的任意键,观察LED1~LED8的状态。
4. 实验步骤1.启动QuartusⅡ建立一个空白工程,然后命名为keyboard 。
2.源程序文件命名为keyboard ,并选择器件为Altera公司Cyclone系列的EPIC12Q240C8芯片,如图1—1图1—13.新建Veriog HDL源程序文件,输入程序代码并保存。
滨江学院课程论文(可编程器件原理与应用)题目基于VHDL语言的流水灯设计学生姓名王秋阳学号20082305047院系滨江学院专业电子与信息工程指导教师刘建成二零一零年十二月三十日一、任务:采用ALTERA 公司的EPM7128SLC84-10芯片,通过VHDL 语言设计一个流水灯电路。
流水灯样式必须大于3种,且可以通过按键调节显示样式;可以通过按键调节流水灯变化快慢;当前流水灯样式和变化速度能够通过数码管显示出来;(附加:具有按键声)二、设计框图(框图说明)1MHZ 周期信号经过2个100分频,得到100HZ ,再经过1个10分频得到10HZ 信号,传给速度控制模块,得到需要的速度周期信号,然后传给样式选择模块,样式选择模块直接输出彩灯样式;控制模块通过接受两个按键信号,同时控制速度控制模块和样式选择模块;译码扫描模块通过判断控制模块,扫描数码管显示当前彩灯样式和彩灯变化速度;按键信号通过延时模块输出按键发生信号。
速度按键 样式按键控制模块速度控制样式选择译码和扫描数码显示彩灯显示1000HZ 信号100HZ 信号蜂鸣器三、原理图(CPLD内部原理说明)从原理图中可以看到,一共有8种模块,D触发器的作用是对按钮进行消抖,除D触发器之外的7个模块功能及作用如下:f100和f10分别是100和10的分频器,speed模块的作用是对彩灯变化速度进行控制,而style_switch模块的作用是对彩灯样式进行调节。
Control 模块接收按键信号对样式和速度进行总的控制。
Show模块是对速度值和样式值进行译码并进行扫描数码管,将当前样式和速度状态显示出来。
Delay模块则是对按键声的延时。
四、各个模块设计(波形仿真)1.f100模块功能:100分频波形仿真:VHDL代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f100 is --100分频port(clk:in std_logic;sec:out std_logic);end entity f100;architecture getsec of f100 issignal secout : std_logic :='1';beginprocess(clk) isvariable count100: integer range 0 to 50;beginif clk'event and clk='1' thencount100:=count100+1;if count100=50 thensecout<=not secout;count100:=0;end if;end if;end process;sec<=secout;end architecture getsec;2.f10模块功能:10分频波形仿真:VHDL代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f10 is –-10分频port(clk:in std_logic;sec:out std_logic);end entity f10;architecture getsec of f10 issignal secout : std_logic :='1';beginprocess(clk) isvariable count10: integer range 0 to 5;beginif clk'event and clk='1' thencount10:=count10+1;if count10=5 thensecout<=not secout;count10:=0;end if;end if;end process;sec<=secout;end architecture getsec;3.speed模块功能:根据DATE输入端的数值大小,产生不同频率的周期信号,从而达到控制彩灯变化速率的目的。
彩灯控制器一、设计内容及要求:设计一个彩灯控制器,要求:1.四路彩灯从左向右逐次渐亮,间隔为1秒。
2.四路彩灯从右向左逐次渐灭,间隔为1秒。
3.四路彩灯同时点亮,时间间隔为1秒,然后同时变暗,时间为1秒,反复4次。
二、总体框图图(1)总体框图根据设计要求,电路设计大体思路如下:由脉冲发生器发出频率脉冲信号,利用计数器加法计数功能输出0000~1111的脉冲信号,经过数据选择器分别在0000~0011,0100~0111,1000~1111三个时段输出不同的高低电平,控制移位寄存器实现右移→左移→置数功能,从而控制彩灯按照设计要求实现亮灭。
三、选择器件本次课程设计所用器件如表一:表一本次课程设计所用器件1.同步二进制计数器74LS163表二7-3 74LS163功能表根据逻辑图、波形图、功能表分析,74LS163具有如下功能:管脚图逻辑符号1)1是同步4位二进制加法计数器,M=16,CP上升沿触发2)2既可同步清除,也可异步清除。
同步清除时,清除信号的低电平将在下一个CP上升沿配合下把四个触发器的输出置为低电平。
异步清除时,直接用清除信号的低电平把四个触发器的输出置为低电平。
3)3同步预置方式:当LD = 0时,在CP作用下,计数器可并行打入预置数据.当LD = 1时,使能输入PT同时为高电平,在CP作用下,进行正常计数。
4)PT任一为低时,计数器处于保持状态。
5) 5 CO为进位输出,可用来级联成n位同步计数器。
2.四位双向移位寄存器74LS19474LS194内部原理图74LS194四位双向移位寄存器具有左移、右移、并行数据输入、保持、清除功能。
1)从图1中74LS194的图形符号和引脚图分析。
SRG4是4位移位寄存器符号,D0~D3并行数据输入端、D SL左移串行数据输入端、D SR右移串行数据输入端、S A(M0)和S B (M1)(即9脚和10脚)工作方式控制端分别接电平开关,置1或置0,CP 时钟输入端接正向单次脉冲,清零端接负向单次脉冲,Q0~Q3输出端。
第1篇一、引言随着科技的不断发展,电子技术已经深入到我们生活的方方面面。
电路板作为电子产品的核心部件,其设计和制作越来越受到重视。
为了提高自己的动手能力和实际操作经验,我们选择了流水灯电路板作为实践项目。
本文将对流水灯电路板的设计、制作和调试过程进行详细阐述。
二、设计原理流水灯电路板采用74HC595芯片实现8位LED灯的动态扫描显示。
74HC595是一款串行输入、并行输出的移位寄存器,具有锁存功能。
通过串行输入端输入数据,然后逐个输出到并行端口,实现LED灯的动态扫描显示。
1. 电路组成(1)电源电路:为电路板提供5V稳定电压。
(2)74HC595芯片:实现8位LED灯的动态扫描显示。
(3)LED灯:用于显示流水灯效果。
(4)按键电路:用于控制流水灯的速度。
(5)电阻:限流保护LED灯。
2. 工作原理(1)当按键电路未按下时,电路板处于待机状态,LED灯不亮。
(2)按下按键电路,电路板开始工作,74HC595芯片的串行输入端开始接收数据。
(3)数据经过74HC595芯片处理后,逐个输出到并行端口,控制LED灯的亮灭。
(4)按键电路控制流水灯的速度,实现不同频率的流水灯效果。
三、制作过程1. 准备材料(1)电路板:100mm×100mm(2)74HC595芯片:1个(3)LED灯:8个(4)电阻:8个(5)按键:1个(6)电源:5V(7)焊锡、烙铁、电烙铁架等焊接工具2. 制作步骤(1)按照电路原理图,将74HC595芯片、LED灯、电阻、按键等元器件焊接在电路板上。
(2)连接电源,检查电路连接是否正确。
(3)调试电路,观察LED灯是否按照预期效果显示流水灯。
(4)根据实际情况调整电路参数,实现不同频率的流水灯效果。
四、调试过程1. 检查电路连接(1)检查电源电路连接是否正确,确保电路板能够正常供电。
(2)检查74HC595芯片、LED灯、电阻、按键等元器件焊接是否牢固。
2. 调试流水灯效果(1)按下按键电路,观察LED灯是否按照预期效果显示流水灯。
万年历的设计一、实验目标1. 巩固对基本的开发流程的掌握2. 复习对QUARTUS II软件的使用3. 复习NIOS II软件的使用4.在训练掌握相关软件使用的基础上,完成课题的设计二、设计要求用Nios II DE2开发楹的LCD(或8个七段数码管)显示电子钏的日期和时间。
LCD 分两行显示,第1行显示年、月和日(例如显示:20080101);第2行显示时、分和秒(例如显示:00152545)。
用输入按钮BUTTON[0]来控制LCD行修改,同时让Nios II DE2开发板上的绿色发光二极管LDG3的亮与灭来表示这个选择。
当BUTTON[0]按下一次后,LDG3亮,可以修改年、月和日的数字;再按一次BUTTON[0]后,LDG3灭,可以修改时、分和秒的数字。
另外和输入按钮BUTTON[3]来控制日期和时间的修改,当处于日期修改方式时,每按动一次BUTTON[3]按钮,依次更换“年”、“月”和“日”的修改。
当处于时间修改方式时,每按动一次BUTTON[3]按钮,依次更换“时”、“分”和“秒”的修改。
修改对象被选中后,按动BUTTON[2]输入按钮可以增加显示的数字;按动BUTTON[1]输入按钮可以减少显示的数字。
三、实验原理与步骤⑴在QUARTUS II 中建立工程⑵用SOPC BUILDER建立NIOS系统模块⑶在QUARTUS II 中的图形编辑界面中进行管脚连接、锁定工作⑷编译工程后下载到FPGA中⑸在NIOS II IDE中根据硬件建立软件工程⑹编译后,经过简单设置下载到FPGA中进行调试、验证下面根据以上的步骤进行进行一次全程开发:第一步:硬件部分设计1. 在自己的文件目录下建立一个hello_led文件夹,注意目录中不能有空格或中文;2. 打开QUARTUS II,点击FILE菜单下的New Project Wizard…会弹出如图2-1所示的对话框:图2-1 建立工程3. 然后输入工程存放目录,或点击工程路径右面的按钮设置工程存放目录,在第二栏中输入工程名称,我们这里输入为led;之后点击Finish,对话框消失,此时已经建立好了LED工程文件;4. 点击Assignment菜单中的Device,选择芯片为Cyclone II系列的EP2C35F672C6,如下图2-2所示:图2-2 选择器件5. 确认后。
电子线路实习报告:流水灯设计一、实习目的本次电子线路实习的主要目的是学习和掌握基本电子元件的使用方法,了解电子电路的组装和调试过程,培养动手能力和团队协作精神。
通过本次实习,我深入了解了流水灯的工作原理,提高了自己的实际操作能力。
二、实习内容1. 设计思路本次实习的流水灯电路采用595移位寄存器为核心,通过编程控制LED灯的亮灭,实现流水灯效果。
电路主要由电源、595移位寄存器、LED灯、电阻等元件组成。
2. 电路原理595移位寄存器具有8位输出,可以控制8个LED灯的亮灭。
当移位寄存器接收到一个脉冲信号时,数据会从 serial input(串行输入)端口进入,然后依次移位到各个输出端口。
通过控制移位寄存器的时序,可以实现LED灯的流水灯效果。
3. 电路组装首先,将595移位寄存器、LED灯、电阻等元件焊接在实验板上。
焊接过程中要注意焊接顺序和焊接质量,确保电路连接可靠。
然后,为电路板供电,检查电路是否正常。
4. 程序设计根据595移位寄存器的时序图,编写程序控制LED灯的亮灭。
程序主要分为初始化部分、移位部分和闪烁部分。
初始化部分设置595移位寄存器的初始状态;移位部分通过循环语句控制数据逐位移位;闪烁部分通过循环语句控制LED灯的闪烁速度。
5. 调试与优化在实际运行过程中,发现LED灯的闪烁速度较慢。
经过分析,发现是因为电阻值过大导致的。
于是,将电阻值减小,使闪烁速度达到预期效果。
同时,对程序进行优化,提高电路的稳定性和可靠性。
三、实习心得通过本次实习,我深刻认识到电子线路设计不仅仅是理论知识的学习,更是动手实践的过程。
在实习过程中,我学会了如何查阅资料、分析问题、解决问题,培养了团队协作精神。
同时,本次实习使我掌握了基本电子元件的使用方法,提高了自己的实际操作能力。
在今后的工作中,我将继续努力学习电子线路知识,不断提高自己的实践能力,为我国的电子科技事业贡献自己的力量。
EDA实验设计报告流水灯一、实验背景流水灯是一种光电组合组件,它大多由两个简单元件组成,一个是led发光二极管,另一个是电位器,可以改变二极管的亮度。
本实验以FATI0A0话题,使用IMO89C52单片机实现流水灯,探究LED的工作原理和单片机的控制原理。
二、实验目的1、通过练习,掌握FATI0A0开发工具的使用,熟悉FATI0A0的基础开发流程;2、掌握基于PORTA的控制方法,通过调节端口的输出电压,控制LED的亮度和闪烁;3、掌握基于定时器的控制方法,使LED实现流水灯效果;4、掌握电路结构和作用原理,用多种方式实现流水灯效果,利用延时函数编程,启用定时器0、定时器1和定时中断,掌握定时器的设置方法等。
三、实验环境本次流水灯实验由FATI0A0开发平台准备了硬件环境:实验台、IMO89C52单片机、晶振、电源、LED等组成。
四、实验步骤(一)编写程序1.首先利用CY8IDE软件设计并编写流水灯程序,开启定时器,通过定时中断实现LED 的闪烁;2.然后了解定时器1的设置方法,编写流水灯程序,将定时器1设置为内部计数,并设定中断周期;3.最后将定时器1设置为高中断优先级,以确保流水灯的互斥性。
(二)烧写1.连接实验台的FATI0A0和串口,Push连接拨码开关,检查元件布局是否正确;2.将编写的程序烧写到FATI0A0,同时将电源和晶振接到FATI0A0的连接器上;3.然后将烧写好的源代码下载到FATI0A0可编译环境,并在FATI0A0上启动,程序就会运行起来。
(三)验证1.将拉线连接到LED上,先检查LED是否能正常亮灭;2.将程序烧写到FATI0A0后,打开LED,检查流水灯效果,看是否按照要求显示;3.如果实验结果满足要求,实验就成功。
五、结论本次实验熟悉了FATI0A0开发环境的使用,掌握了PORTA的控制方法,熟悉了基于定时器的控制方法,使LED实现流水灯效果,用多种方式实现流水灯效果,利用延时函数编程,启动定时器0、定时器1和定时中断,掌握定时器的设置方法等,有助于更好、更全面地掌握IMO89C52单片机和流水灯的相关知识。
EDA实验设计报告姓名:张炫
学号:2011128085
班级:11电工
设计内容:设计8位流水灯的4种循环模式,并用quartusII进行编译和仿真,用LED灯实现需求。
控制系统方案:四种循环模式
(1)灯从右到左依次都闪亮
(2)灯从右向左逐次闪亮
(3)灯从右向左逐次闪亮
(4) 从右向左每间隔一个闪亮
设计方案:通过复位端reset 与按键端right,left,shan,yici控制,当复位reset为 1 时led 灯最左端点亮,再通过else-if语句控制
试验程序:
module light(clk,reset,right,left,shan,yici,led);
input clk,reset,right,left,shan,yici;
output[7:0] led;
reg[7:0] led;
always @ (posedge clk)
begin
if(reset)
begin
led<=8’b00000001;
end
else
begin
if(yici)
begin
led<=((led<<1)+8’b00000001);
if(led==8’b11111111)
led<=8’b00000001;
end
if(right)
begin
led<=led>>1;
if(led==8’b00000001)
led<=8’b10000000;
end
if(left)
begin
led<=led<<1;
if(led==8’b10000000)
led<=8’b00000001;
end
if(shan)
begin
if(led==8’b01010101)
led<=8’b10101010;
else
led<=8’b01010101;
end
end
end
endmodule
实验总结:经过本次课程设计使我进一步巩固了从课堂上学到的知识,虽然在实验过程中多次出错,但通过不断的检查和调试终于成功的实现了8位流水灯的控制。
通过实验提高了自己分析问题解决问题的能力,还建立了自己的信心,让自己的动手实践能力有了提高,受益匪浅。