数字电子电路 数电 实验报告 基于FPGA的跑马灯电路的设计

合集下载

制作跑马灯的实训报告

制作跑马灯的实训报告

一、实验背景随着科技的不断发展,电子技术在我们的日常生活中扮演着越来越重要的角色。

作为电子信息工程专业的学生,掌握电子电路的设计与制作技能是必不可少的。

本实训旨在通过制作跑马灯,让学生了解基本电子元件的原理和电路设计方法,提高学生的动手能力和创新思维。

二、实验目的1. 熟悉电子元件的使用方法和电路原理。

2. 掌握电路图的绘制和实际电路的制作。

3. 理解跑马灯的工作原理,并能够进行简单的故障排除。

4. 培养学生的团队协作能力和实践创新能力。

三、实验内容1. 基本跑马灯电路制作(1)材料准备:8个发光二极管(LED)、1个按键(K1)、1个电阻、1个面包板、1个电源、连接线等。

(2)电路连接:根据图1电路图,将LED按照顺序连接到面包板上,确保每个LED的正负极正确连接。

将按键K1连接到电路中,并设置合适的电阻以限制电流。

(3)程序编写:使用C语言或汇编语言编写程序,实现LED的顺序点亮和熄灭,模拟跑马灯效果。

2. 键控跑马灯电路制作(1)材料准备:8个发光二极管(LED)、2个按键(K1、K2)、1个电阻、1个面包板、1个电源、连接线等。

(2)电路连接:在基本跑马灯电路的基础上,增加按键K2。

按下K1时,LED按正序点亮;按下K2时,LED按倒序点亮。

(3)程序编写:在原有程序的基础上,增加按键判断逻辑,实现按键控制LED点亮顺序的功能。

3. 多功能跑马灯电路制作(1)材料准备:8个发光二极管(LED)、3个按键(K1、K2、K3)、1个电阻、1个面包板、1个电源、连接线等。

(2)电路连接:在键控跑马灯电路的基础上,增加按键K3。

按下K1时,LED按正序点亮;按下K2时,LED按倒序点亮;按下K3时,LED全部熄灭。

(3)程序编写:在原有程序的基础上,增加按键判断逻辑,实现按键控制LED点亮顺序和熄灭的功能。

四、实验结果与分析1. 成功制作出基本跑马灯电路,实现了LED的顺序点亮和熄灭。

2. 成功制作出键控跑马灯电路,实现了按键控制LED点亮顺序的功能。

实验6 基于FPGA的跑马灯的设计

实验6 基于FPGA的跑马灯的设计

基于FPGA的跑马灯的设计1、设计要求设计彩灯控制电路:(1)控制8只LED左移、右移、对移和闪烁(2)自动改变显示样式(3)自动进行周期循环2、设计过程(1)原理框图设计图1 彩灯控制器原理框图彩灯控制电路拟采用移位寄存器为核心控制彩灯,实现左移、右移、对移及闪烁功能,并通过模式译码电路改变移位寄存器的模式控制引脚,实现彩灯显示模式的自动、周期性转换。

在移位寄存器处于各种移位状态时,应在其串行移位数据输入端提供显示数据,此功能通过设计数据选通器实现。

彩灯控制电路按照预设时序循环工作,需提供状态及定时信号,此功能由状态计数器对时钟进行分频来实现。

电路时钟由EDA/SOPC实验开发系统提供,此时钟频率较高(1MHZ),因此设计时钟分频器对其进行分频,得到1Hz时钟信号。

电路中,采用74160完成时钟分频,采用74161生成状态信号,采用译码电路完成模式控制,采用74194完成左移、右移、对移及闪烁功能,采用74151完成左移、右移和对移的数据输入选通控制。

(2)电路真值表分析如表1所示。

表1 电路真值表其中:QC1和QC0为状态计数器输出的控制信号;CLK/8为对时钟进行8分频的状态计数器输出信号,CLK/32为对时钟进行32分频的状态计数器输出信号;LED4为左侧74LS194的高位输出信号,LED5为右侧74LS194的低位输出信号;为简化设计,彩灯控制器的状态计数器输出(右移、左移、闪烁)与数据选通器控制端、移位寄存器工作模式(右移、左移、置数)的控制端采用相同逻辑值编码,状态计数器的对移输出与剩余的逻辑值编码(00)相同。

(3)时钟分频器设计107分频(4)状态计数器设计采用二进制计数器74LS161设计,提供时钟的2分频作为闪烁模式的数据信号,8分频作为移位的数据信号,32分频和64分频作为移位数据信号和模式控制信号。

(5)模式译码器设计根据真值表1,经逻辑化简可得:AS=11QCAS⋅QC=+QC=1QC10QCBS⋅QC==QC+QC111QCBS=0QC(6)数据选通器设计(7)移位寄存器设计使用了两片74LS194的左移、右移和置数模式分别实现了LED灯的左移、右移、对移和闪烁。

跑马灯实验报告

跑马灯实验报告

跑马灯实验报告
实验目的,通过搭建一个简单的跑马灯电路,了解电子元件的基本原理和电路的工作方式。

实验器材,LED灯、电阻、导线、电池、开关、面包板。

实验步骤:
1. 将LED灯的正极与电池的正极通过导线连接起来,负极与电阻连接,然后再将电阻的另一端与电池的负极连接。

2. 将开关连接到电路中,使得可以通过开关控制电路的通断。

3. 将整个电路搭建在面包板上,确保连接牢固。

4. 打开开关,观察LED灯的亮灭情况。

实验结果:
经过搭建和观察,我们发现当开关闭合时,LED灯会亮起;当开关断开时,LED灯会熄灭。

通过不断地开合开关,我们可以看到LED灯会不断地亮灭,就像跑马灯一样在不同的位置闪烁。

实验分析:
跑马灯实验的原理是利用开关控制电路的通断,从而控制LED灯的亮灭。

当开关闭合时,电路闭合,电流可以流通,LED灯就会亮起;当开关断开时,电路断开,电流无法流通,LED灯就会熄灭。

通过不断地开合开关,就可以实现LED 灯的频繁闪烁,呈现出跑马灯的效果。

实验总结:
通过这个简单的跑马灯实验,我们了解了电子元件的基本原理和电路的工作方式。

同时,我们也体会到了实验中的观察和分析的重要性。

在今后的学习中,我们将进一步深入学习电子电路的知识,探索更多有趣的实验和应用。

以上就是本次跑马灯实验的实验报告,希望对大家有所帮助。

数字电路跑马灯实验报告

数字电路跑马灯实验报告

实验名称:发光二极管走马灯电路设计与实现姓名:班级:班内序号:学院:日期:一、发光二极管走马灯电路设计与实现1.实验目的(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。

2.实验所用仪器及元器件(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

3.实验任务与要求设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。

(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。

4.设计思路和过程(1)设计一个模8计数器和一个模5计数器,在输入的时钟信号的上升沿触发。

(2)对于模8计数器,当计数值达到“001”时,计数标志位设置为‘0’,进行加计数;当计数值达到“110”时,计数标志位设置为‘1’,进行减计数。

(3)模5计数器的设计思路与模8计数器相同。

(4)对于输入的控制信号,当控制信号为“1”时,利用3线至8线译码器输出控制信号,实现单点移动模式;当控制信号为“0”时,利用3线至8线译码器输出控制信号,利用其中的5个状态,实现幕布式;5.VHDL代码这是库申明和实体申明,有三个输入端分别为控制端,时钟,复位。

一个八位的输出端。

TEMP用作输出;TEMP1,TEMP2为计数器状态,用作计数器的设计FLAG1,FLAG2标记计数器的计数方式,当为1是加计数,为0时减计数。

当控制端为1时实现单点移动模式,能够自启动。

当控制端为0时实现幕布式,将TEMP的值赋给输出Q。

6.仿真波形及分析(1)仿真波形(2)波形分析由波形可见,当控制信号输入为“1”时,输出的8个端口依次出现正脉冲,代表一个发光的点在8个发光二极管上来回的亮;当输入为“0”时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,实现了幕布式的点灯方式.由图可知,该电路实现了要求的逻辑。

7.故障及问题分析(1)开始设计时没有想到用计数器实现,导致全用case语句实现当设计单点移动时正确,但当实现幕布式是导致条件有重复故改用模8计数器实现,其实单点移动可以不用计数器而直接使用case语句,但为了统一思路都改为用计数器实现。

FPGA实验二 跑马灯电路.doc

FPGA实验二 跑马灯电路.doc
else if (p[14]==1)
q=8'h42;
else if (p[15]==1)
q=8'h81;
else if (p[16]==1)
q=8'hff;
else if (p[17]==1)
q=8'h42;
else if (p[18]==1)
q=8'h24;
else if (p[19]==1)
q=8'h18;
else if (p[2]==1)
q=8'h04;
else if (p[3]==1)
q=8'h08;
else if (p[4]==1)
q=8'h10;
else if (p[5]==1)
q=8'h20;
else if (p[6]==1)
q=8'h40;
else if (p[7]==1)
q=8'h80;
else if (p[8]==1)
q=8'hAA;
else if (p[9]==1)
q=8'h55;
else if (p[10]==1)
q=8'hDB;
else if (p[11]==1)
q=8'h66;
else if (p[12]==1)
q=8'h18;
else if (p[13]==1)
q=8'h24;
可编程逻辑器件及应用课程实验实验报告
实验名称:
实验二:跑马灯电路的设计
班级:
姓名:
学号:
实验地点:
日期:
教师评价
一、实验目的:
1、熟练FPGA工程设计的全部流程;

实验报告 跑马灯

实验报告 跑马灯

实验报告跑马灯实验报告:跑马灯引言:跑马灯作为一种常见的室内装饰和广告展示工具,广泛应用于商场、剧院、车站等公共场所。

本实验旨在探究跑马灯的工作原理和设计过程,并通过实际搭建跑马灯模型进行验证。

一、跑马灯的工作原理跑马灯是通过一组灯泡或LED灯组成的,它们按照一定的顺序依次亮灭,从而形成连续的动态效果。

跑马灯的工作原理主要包括电路控制和程序设计两个方面。

1. 电路控制:跑马灯的电路控制是通过继电器或集成电路实现的。

继电器是一种电磁开关,通过控制电磁铁的通断来控制灯泡的亮灭。

而集成电路则是通过逻辑门和计时器等元件实现灯泡的顺序控制。

2. 程序设计:跑马灯的程序设计是通过编写一段简单的代码来实现的。

在代码中,通过控制灯泡或LED灯的亮灭时间和顺序来实现跑马灯效果。

常见的程序设计语言如C、Python等都可以用来编写跑马灯的代码。

二、跑马灯的设计过程跑马灯的设计过程包括灯泡或LED灯的选型、电路设计、程序编写和外壳制作等步骤。

1. 灯泡或LED灯的选型:在跑马灯的设计中,选择合适的灯泡或LED灯是非常重要的。

灯泡的亮度、寿命和能耗等指标需要进行综合考虑。

而LED灯则具有节能、寿命长和颜色丰富等优点,因此在现代跑马灯设计中更加常见。

2. 电路设计:电路设计是跑马灯设计中的关键环节。

在电路设计中,需要考虑灯泡或LED灯的亮灭顺序、时间间隔和电源供应等因素。

通过合理的电路设计,可以实现跑马灯的稳定运行和灯泡的长寿命。

3. 程序编写:程序编写是跑马灯设计中的另一个重要环节。

通过编写一段简单的代码,可以控制灯泡或LED灯的亮灭顺序和时间间隔。

程序编写需要考虑灯泡或LED灯的数量和控制方式等因素,以实现预期的跑马灯效果。

4. 外壳制作:外壳制作是跑马灯设计中的最后一步。

通过设计和制作合适的外壳,可以保护电路和灯泡或LED灯,同时也可以增加跑马灯的美观性。

外壳的材料可以选择塑料、金属或木材等,根据实际需要进行选择。

数电课程设计(跑马灯)

数电课程设计(跑马灯)

数字电子技术课程设计设计题目:跑马灯目录设计题目 (1)1设计要求及主要技术指标.. ............................. .. (3)1.1 设计要求 (3)1.2 主要技术指标 (3)2 设计过程 (3)2.1题目分析 (3)2.2 整体构思 (3)2.3 具体实现 (4)3 元件说明 (4)3.1 元件说明 (4)4 检查过程 (7)4.1 检查过程 (7)4.2 遇到问题及解决措施..................... . (7)5 心得体会........................... ............. (8)参考文献......................................... (9)附录一:电路原理图 (9)附录二:元件清单 (10)一.设计要求及主要技术指标1.1 设计要求(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。

(2)、列出所用元器件清单并购买。

(3)、安装调试所设计的电路,使之达到设计要求。

(4)、记录实验结果。

(5)、撰写设计报告。

1.2 主要技术指标(1)实现8灯循环点亮。

(2)间隔时间可调。

(3)广告灯的样式自定。

二.设计过程2.1题目分析我们设计的跑马灯实际上是主要使用一个74LS161,一个74LS138,一个74LS20和一个78L05这四个芯片对8个LED进行控制,产生循环控制的效果。

形成一个流水似的广告灯。

2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用protel99电路设计软件画出原理图,再生成网络表和PCB板。

对照原理图进行统计要使用的元器件后,在电子市场购买所需要的电子元器件。

最后在指导老师的辅导下在实验室进行下一步工作。

2.3具体实现我们需要使用碳粉打印机把我们设计的原理图打印出来,不过要注意必须要使用不干胶纸的光滑面进行打印。

跑马灯实验报告

跑马灯实验报告

一、实验目的1. 熟悉嵌入式系统硬件电路的搭建与调试;2. 掌握C语言编程,实现跑马灯功能;3. 理解并掌握GPIO口操作,学习定时器中断的使用。

二、实验环境1. 开发板:STM32F103C8T6开发板2. 编译器:Keil uVision53. 软件库:STM32标准外设库三、实验原理跑马灯实验是通过控制LED灯的亮灭,实现LED灯依次点亮的效果。

实验原理如下:1. GPIO口控制:将LED灯连接到开发板的GPIO口,通过控制GPIO口的输出电平,实现LED灯的点亮与熄灭;2. 定时器中断:定时器产生中断,实现LED灯点亮与熄灭的时间间隔;3. 循环控制:通过循环控制LED灯的点亮顺序,实现跑马灯效果。

四、实验步骤1. 硬件电路搭建(1)将LED灯的正极连接到开发板的GPIO口,负极接地;(2)将开发板的电源和地线连接到电源模块。

2. 软件编程(1)在Keil uVision5中创建项目,并导入STM32标准外设库;(2)编写程序,实现以下功能:a. 初始化GPIO口,将LED灯连接的GPIO口配置为输出模式;b. 初始化定时器,设置定时器中断周期,使LED灯点亮与熄灭的时间间隔为1ms;c. 编写定时器中断服务程序,控制LED灯的点亮与熄灭;d. 编写主函数,实现LED灯依次点亮的效果。

3. 编译与下载(1)编译程序,生成可执行文件;(2)将开发板连接到计算机,通过串口下载程序到开发板。

4. 实验调试(1)打开串口调试助手,观察LED灯的点亮与熄灭效果;(2)调整程序参数,优化跑马灯效果。

五、实验结果与分析1. 实验结果(1)LED灯依次点亮,实现跑马灯效果;(2)LED灯点亮与熄灭的时间间隔可调。

2. 实验分析(1)通过控制GPIO口的输出电平,实现LED灯的点亮与熄灭;(2)定时器中断实现LED灯点亮与熄灭的时间间隔控制;(3)循环控制实现LED灯依次点亮的效果。

六、实验总结本次实验成功实现了跑马灯功能,加深了对嵌入式系统硬件电路、C语言编程和GPIO口操作的理解。

数字电子电路 数电 实验报告 基于FPGA的分频器设计

数字电子电路 数电 实验报告 基于FPGA的分频器设计

装……订……线基于FPGA的分频器设计一、实验目的1、了解EDA软件在电子设计当中的重要作用EDA:EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术:就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性。

2、熟悉并掌握MAXPLUS II 或QUARTUS II等开发软件的基本使用方法。

3、运用图解法设计分频器电路,并进行电路仿真。

二、实验内容利用MAXPLUS II开发软件设计分频电路。

1MHz图分频电路框图从图中我们可以看出将1MHZ的脉冲连续6次除10,即可得到我们需要的输出频率。

利用MAXPLUS II 或QUARTUS II等开发软件的器件库,找到一个BCD的计数器:74LS160,(如图)从它的波形图中可看到它具有的逻辑功能:BCD计数,异步清零,有进位输出。

其中CLK—为时钟信号;ENT、ENP—为使能信号,高电平有效;CLRN—异步清零端,电平为高时,计数器清零,电平为低时,允许计数;QD~QA—计数器输出端;RCO—进位输出端。

图74LS160图形符号装……订……线图74LS160波形图74LS160是一个对输入时钟进行十分频的器件。

当计数器从0计数到9时,RCO从低电平跳到高电平,在下一个脉冲到来时,RCO再回到低电平。

每十个计数脉冲RCO翻转一次,利用RCO特性,将前一级的TC输出端接到下一级的时钟输入端,就完成了连续分频的目的。

调用6次74LS160,即可完成设计电路要求。

实验6 基于FPGA的跑马灯的设计

实验6 基于FPGA的跑马灯的设计

基于FPGA的跑马灯的设计1、设计要求设计彩灯控制电路:(1)控制8只LED左移、右移、对移和闪烁(2)自动改变显示样式(3)自动进行周期循环2、设计过程(1)原理框图设计图1 彩灯控制器原理框图彩灯控制电路拟采用移位寄存器为核心控制彩灯,实现左移、右移、对移及闪烁功能,并通过模式译码电路改变移位寄存器的模式控制引脚,实现彩灯显示模式的自动、周期性转换。

在移位寄存器处于各种移位状态时,应在其串行移位数据输入端提供显示数据,此功能通过设计数据选通器实现。

彩灯控制电路按照预设时序循环工作,需提供状态及定时信号,此功能由状态计数器对时钟进行分频来实现。

电路时钟由EDA/SOPC实验开发系统提供,此时钟频率较高(1MHZ),因此设计时钟分频器对其进行分频,得到1Hz时钟信号。

电路中,采用74160完成时钟分频,采用74161生成状态信号,采用译码电路完成模式控制,采用74194完成左移、右移、对移及闪烁功能,采用74151完成左移、右移和对移的数据输入选通控制。

(2)电路真值表分析如表1所示。

表1 电路真值表其中:QC1和QC0为状态计数器输出的控制信号;CLK/8为对时钟进行8分频的状态计数器输出信号,CLK/32为对时钟进行32分频的状态计数器输出信号;LED4为左侧74LS194的高位输出信号,LED5为右侧74LS194的低位输出信号;为简化设计,彩灯控制器的状态计数器输出(右移、左移、闪烁)与数据选通器控制端、移位寄存器工作模式(右移、左移、置数)的控制端采用相同逻辑值编码,状态计数器的对移输出与剩余的逻辑值编码(00)相同。

(3)时钟分频器设计107分频(4)状态计数器设计采用二进制计数器74LS161设计,提供时钟的2分频作为闪烁模式的数据信号,8分频作为移位的数据信号,32分频和64分频作为移位数据信号和模式控制信号。

(5)模式译码器设计根据真值表1,经逻辑化简可得:AS=11QCAS⋅QC=+QC=1QC10QCBS⋅QC==QC+QC111QCBS=0QC(6)数据选通器设计(7)移位寄存器设计使用了两片74LS194的左移、右移和置数模式分别实现了LED灯的左移、右移、对移和闪烁。

跑马灯实验报告.

跑马灯实验报告.

山西大学数字电子技术基于硬件设计的跑马灯电路系别:电力工程系班级:电本1254班姓名:所谓伊人学号:12322454**一、实验目的1. 熟悉NE555定时器,计数器CD4017的逻辑特性。

2. 熟悉NE555构成多谐振荡器原理。

3. 设计跑马灯电路并利用Multisim软件仿真电路。

二、实验要求1. 知道NE555、CD4017的管脚排列顺序。

2. 利用NE555构成多谐振荡器。

3. 知道电阻的主要参数及其标注方法。

(见实验指导书116页)。

4. 知道电容器的主要作用。

(见实验指导书122页)。

5. 了解有关焊接的知识。

三、实验器材电路板1块。

电容:1μF(1个)。

集成芯片:NE555(1个)、CD4017(1个)。

电阻:22KΏ、1KΏ、500Ώ各一个。

二极管:IN4148(8个)、发光二极管(10个)。

(自行提供)电池:5V四、电路的安装1.555用来定时,用它产生某种方波,相当于有的时钟信号2.4017是个十进制计数器,按照时钟信号从10个口依次输出1.检查集成芯片NE555,CD4017的安装位置有无错误.2. 检查电解电容的极性有无错误;3. 检查二极管IN4148及发光二极管的安装方向有无错误;4. 检查各个电阻的安装是否有误。

5. 检查有无虚焊。

五、电路的调试1. 电路焊接好后,先将电路板正负端接到直流电压5V及地线处,观察发光二极管是否变亮。

2. 适当改变电位器阻值,观察其对CD4017循环周期(发功二极管依次循环一周)的影响。

3. 利用秒表记录CD4017一个合适循环周期的时间。

(分别测量电阻最大时、最小时、合适时的周期)附录1.跑马灯电路图分析电路输出图像2. CD4017的相关资料CD4017是5位Johnson计数器,具有10个译码输出端,CP,CR,INH输入端,时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制。

其引脚排列如下引出端功能符号:进位脉冲输出 CP:时钟输入端CR:清除端(CR接低电位时,开始计数。

基于FPGA的数字电路实验7:流水灯的实现

基于FPGA的数字电路实验7:流水灯的实现

基于FPGA的数字电路实验7:流水灯的实现原创 Daniel继年前介绍的时序逻辑电路之时钟分频后,今天我们来介绍第7讲:流水灯。

流水灯,有时候也叫跑马灯,是一个简单、有趣又经典的实验,基本所有单片机的玩家们在初期学习的阶段都做过。

本次我们也来介绍一下如何通过小脚丫FPGA实现一个流水灯。

流水灯就是让一连串的灯在一定时间内先后点亮并循环往复,所以其中的关键要领就在于控制每两个相邻LED亮灭的时间差,以及所有LED灯完成一组亮灭动作后的循环。

很久都没有用过小脚丫的朋友可以再回顾一下,这上面有8个LED灯,且低电平点亮。

实现流水灯的方法绝不止一种,在这里我们采用模块化的设计思路,因为模块化设计对于之后构建大型电路系统非常有帮助,并且我们还可以借机温习一下以前学过的内容。

现在我们的目标是每过1秒后点亮下一个LED灯并且熄灭当前灯,且在第8个灯熄灭之后循环整个流程,该如何设计整个模块?我们先上图后解释。

毫无疑问,第一步需要做的就是通过分频来生成一个周期为1秒的时钟信号,不了解时钟分频童鞋可以读一下本系列的第6篇内容。

有了一个1秒钟嘀嗒一次的时钟后,我们还要考虑到循环问题,因为在第8个LED灯熄灭之后还需要再返回到第1个。

那么这个时候我们就需要一个计数器,它的作用就是数羊,一只,两只…...数到第八只后重头再来。

数8只羊需要一个3位宽的变量(23=8)。

最后,由于我们是要依次点亮,也就是说8位的输出中每次只有1位是低电平,其余均为高电平(小脚丫LED灯为低电平点亮)。

这个特性正好对应了我们之前学过的3-8译码器。

现在我们再来捋一遍。

首先,通过分频在小脚丫上生成一个周期为1秒的慢速时钟信号,这个时钟信号传送到计数器之中;这个计数器是3位宽的,因此最多可以计八次慢速时钟的嘀嗒,并且计数每增加1时,都对应着3-8译码器的下一种输出,也就对应着流水灯的下一个状态。

现在我们上代码:•••••••••••••••••••••••module runningled (clk,led); input clk,rst; output[7:0] le d; reg [2:0] cnt ; / /定义了一个3位的计数器,输出可以作为3-8译码器的输入 wire clk1hz; //定义一个中间变量,表示分频得到的时钟,用作计数器的触发 //例化分频模块,产生一个1Hz时钟信号 divide #(.WIDTH(24),.N(12000000)) u2 ( //除数为12,000,000,因此频率为1Hz .clk(clk), .rst_n(rst), .clkout(clk1hz) ); //生成计数器,上沿触发并循环计数 always@(posedge clk1hz) cnt <=< span=""> cnt +1; // 达到位宽上限后可自动溢出清零 //例化3-8译码器模块 decode38 u1 ( .X(cnt), //例化的输入端口连接到cnt,输出端口连接到led .D(led) );endmodule在第四篇讲译码器的文章里,我们介绍过,如果需要调用/例化子模块时,需要将各子模块与大模块放入同一个工程文件下进行编译。

数字电路设计-跑马灯

数字电路设计-跑马灯

数字电路课程设计报告设计课题:跑马灯专业班级:12电信2班学生姓名:刘鹏学号:120802084指导教师:曾祥志设计时间:2016.4-2016.5目录1 设计要求 (2)1.1 设计规范 (2)2 设计方案 (2)2.1题目分析 (2)2.2 整体构思 (2)3 元件说明 (3)3.1 元件说明 (3)3.2电路原理图 (3)4 安装与调试 (6)5 心得体会........................... ............. (7)6参考文献......................................... .. (7)7附录 (8)1 设计任务与要求1.1 设计规范(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。

(2)、安装调试所设计的电路,使之达到设计要求。

(3)、记录实验结果。

(4)、撰写设计报告。

设计要求(1)实现10灯循环点亮。

(2) 红绿灯各5盏。

(3)实现红绿灯流水交替显示。

2设计方案2.1题目分析我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。

形成跑马灯。

2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。

3. 元件说明3.1元件说明555功能:555 的功能主要由两个比较器决定。

两个比较器的输出电压控制RS 触发器和放电管的状态。

在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。

若触发输入端TR 的电压小于VCC /3,则比较器C2 的输出为0,可使RS 触发器置1,使输出端OUT=1。

如果阈值输入端TH 的电压大于2VCC/3,同时TR 端的电压大于VCC /3,则C1 的输出为0,C2 的输出为1,可将RS 触发器置0,使输出为低电平。

跑马灯的实训设计报告

跑马灯的实训设计报告

一、实训目的1. 熟悉单片机的硬件结构和基本工作原理;2. 掌握单片机编程方法,实现跑马灯功能;3. 提高实际操作能力和问题解决能力。

二、实训内容1. 跑马灯电路设计;2. 单片机编程实现跑马灯功能;3. 跑马灯功能测试与调试。

三、实训原理跑马灯是一种常见的电子玩具,主要由单片机、LED灯、按键等组成。

通过单片机控制LED灯的亮灭,实现跑马灯效果。

本实训采用AT89C51单片机作为核心控制单元,通过编程实现跑马灯功能。

四、实训步骤1. 跑马灯电路设计(1)硬件选型:选用AT89C51单片机作为核心控制单元,8个LED灯作为显示单元,2个按键作为控制单元。

(2)电路连接:将AT89C51单片机的P1口与LED灯的正极相连,LED灯的负极通过限流电阻连接到地。

将两个按键分别连接到单片机的P3.0和P3.1口。

2. 单片机编程实现跑马灯功能(1)初始化:设置P1口为输出端口,P3.0和P3.1口为输入端口。

(2)跑马灯程序编写:```c#include <reg51.h>#define LED P1void delay(unsigned int t) {unsigned int i, j;for (i = 0; i < t; i++)for (j = 0; j < 1275; j++); }void main() {unsigned char i = 0;while (1) {LED = 0x01; // 点亮LED1delay(500);LED = 0x02; // 点亮LED2delay(500);LED = 0x04; // 点亮LED3delay(500);LED = 0x08; // 点亮LED4delay(500);LED = 0x10; // 点亮LED5delay(500);LED = 0x20; // 点亮LED6delay(500);LED = 0x40; // 点亮LED7delay(500);LED = 0x80; // 点亮LED8delay(500);for (i = 0; i < 8; i++) {LED = ~(0x01 << i); // 倒序点亮LEDdelay(500);}}}```3. 跑马灯功能测试与调试(1)测试:将编写好的程序烧录到AT89C51单片机中,观察LED灯的跑马灯效果。

数电实验报告发光二极管走马灯电路设计与实现

数电实验报告发光二极管走马灯电路设计与实现

数电实验报告发光二极管走马灯电路设计与实现北京邮电大学数字电路与逻辑设计实验实验报告实验名称:发光一极官走马灯电路设计与头现学院: 班级: 姓名: 学号: 任课老师:实验日期:成绩:实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与实现实验目的:⑴进一步了解时序电路描述方法;⑵熟悉状态机的设计方法。

实验任务要求:设计并实现一个控制 8 8 个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。

⑴单点移动模式:一个点在 8 8 个发光二极管上来回的亮;⑵幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。

二. 设计思路和过程设计实现过程:⑴设计的电路拥有两种功能,所以设定 d d」n n 控制输出实现两种功能,规定当 d d」 n 0 =0 时,实现单点移动模式;当 d d」 n 1 =1 时,实现幕布式。

同时,时序电路中钟控是必不可少的,所以引入 clk_in 来实现钟控。

最终需输出在实验板上的 8 8 个发光二极管上验证,所以输出 f f 需设定为 8 8 端口输出, 女口:f:out std_logic_vector(7 downto 0)。

⑵单点移动模式的实现:来一个时钟沿,实现一次变化。

单点移动模式需实现发光二极管来回亮,所以需定义一个 6 16 变量的数据类型。

利用 CASE- - WHE语句实现状态的转移。

状态转移01 T 00000010 T 0001T …T 10000000 -^01000000 T ... T 00000001 ⑶幕布式的实现:需实现发光二极管从中间两个点, 同时向两边依次点亮直至全亮,然后再向中间点灭,往复。

需要 8 8 变量数据类型,利用单点式中信号类型定义给状态转移。

状态转移需满足:0000000111100 T …T 11111111^ 01111110 T …00000000 T 00011000 三. VHDL 程序发光二极管走马灯电路 I VHDI 程序: 1 library leee; 2. 二二 = re ■ std lacxc; 11 € 1 ■ a 11 r 3 \ise Leee . std lcgic unsigned, all; 弓 E ■ entity color 1aicp ±a 6 Sport ( 7 : in svd._lc?iG; R d^in r in«td_loqi.c:; 9 f:out std lcgic vectorp downto 0)}; 10 snd color_airf ; 1112 Q architecture a匚£ colorlaKp is 13 Q type all scace la (3Q f14 310 f31 丄 F 鼻 3 丄攻 r 215): 15 s 丄 gnal state:all atate; 16 ■ begm 17 Sprocess(elk in} IB begm5 if ( ellr in 1eTZEnt and ulZ in= 1 1. 1) then 20 Hif (d 1 n= 10 1) then 21 S case state 二 m 22 <hen g0=> svate<—al;f<= n C DC 0< OZC"; 23 when aZ=> stave f<= w GOGQ?"OLQ n;巧 -. :nen 32=> svaue^=a3 ; r^="Q9OQ0iOQ"; 25 v?ien a3=>state<^54; £<-"00002000"; 26 whe^ 3^=> svate<=35;f<= wOQG10QOO"; 27 when a5-> 3tate<—£<-"00100000"; 28 whe^ B 6"> 3tate<»s7;f<»w 01000000";■ if(din-"l 1 } then Q case suatm is whens0=>3tate<=sl;f<="00011COO*; when 31">3ta 匸览 whens2=>fltat&<=33;f<-"01111110"; WhMD »3 : =>HtHt :P< = H4 ; f<=" J * 1 ;: 1 11 " ; when □4->otate< - aS ;£< i-n 0111111Q n ; when =5->5tate<-36;£<-"Q0111100 _ ; whans^=>3tate<=s7 ;£<="QOOHQOO H ; when 盘丁=>日匸且匸豐 V■且。

数电课程设计跑马灯

数电课程设计跑马灯

数电课程设计跑马灯一、课程目标知识目标:1. 理解数字电路基础知识,掌握基本逻辑门的功能和运用;2. 学会使用触发器、计数器等组件设计简单的时序逻辑电路;3. 掌握跑马灯电路的原理,了解其设计过程和实现方法。

技能目标:1. 能够运用所学知识,设计并搭建简单的数字电路;2. 能够分析和解决跑马灯电路中可能出现的问题;3. 培养动手实践能力,提高团队协作能力。

情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践与理论相结合;3. 培养学生的创新意识,鼓励探索未知领域。

课程性质:本课程为电子技术课程的一部分,主要针对数字电路设计进行教学。

通过跑马灯电路的设计,使学生掌握数字电路的基本原理和设计方法。

学生特点:学生已具备一定的电子技术基础,对数字电路有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生的创新能力和团队协作能力。

将课程目标分解为具体的学习成果,以便在教学设计和评估中实现有效监控。

二、教学内容1. 数字电路基础知识回顾:逻辑门(与门、或门、非门等)、触发器(RS触发器、D触发器等)、计数器(二进制计数器、十进制计数器等)。

相关教材章节:第一章 数字逻辑基础2. 跑马灯电路原理:介绍跑马灯电路的构成、工作原理及其在数字电路中的应用。

相关教材章节:第三章 时序逻辑电路3. 跑马灯电路设计:讲解跑马灯电路的设计方法,包括电路图绘制、元件选型、电路搭建等。

相关教材章节:第四章 数字电路设计实例4. 动手实践:分组进行跑马灯电路的设计与搭建,培养学生动手实践能力和团队协作精神。

教学内容安排与进度:第一课时:回顾数字电路基础知识,讲解跑马灯电路原理。

第二课时:讲解跑马灯电路设计方法,制定设计方案。

第三课时:分组进行跑马灯电路的设计与搭建,教师巡回指导。

第四课时:展示各组跑马灯电路成果,总结经验教训。

教学内容注重科学性和系统性,结合教材章节和课程目标,确保学生在学习过程中掌握数字电路的基本原理和设计方法。

基于FPGA的跑马灯电路的设计

基于FPGA的跑马灯电路的设计

基于FPGA的跑马灯电路设计一、实验目的1、进一步熟悉MAXPLUS II、Multisim或QUARTUS II等电子开发工具的基本使用方法。

2、掌握使用移位寄存器、计数器、译码器等集成电路进行综合电路设计方法3、运用图解法设计跑马灯电路,并进行电路仿真。

二、实验内容实验题目:设计一个跑马灯电路。

要求输出8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

首先根据题目要求设计一下电路的实现方法,利用加法计数器(74LS161)和74LS138(3-8译码器)可实现8个LED灯从左到右逐个点亮的单向循环,实际电路如下图:而要完成实验的要求,需将计数器74161的输出信号变为000到111的加计数,再由111到000的减计数,然后循环。

实现实验题目的方法有两种:1、将计数器74LS161的输出端Q A、Q B、Q C分别与Q D异或,经过异或门输入到74LS138的A、B、C端,其数据符合题目的数据要求。

可以实现8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

但第1个灯和第8个灯显示的时间长度是其它灯的2倍。

2、使用可逆计数器74LS191来完成电路的计数部分,利用可逆计数器74LS191的加减计数控制端U/D′,U/D′输入低电平时计数器为加法计数器,U/D′输入高电平时计数器为减法计数器。

当计数器74LS191加计数到7(0111)时,通过与门取出信号,经过或门使D触发器输出由原来的低电平反转为高电平,通过加减控制端U/D′,使计数器由加法计数变为减法计数。

当计数器74LS191减计数到0(0000)时,借位输出端产生信号,经过或门使D触发器输出由原来的高电平反转为低电平,通过加减控制端U/D′,使计数器由减法计数变为加法计数。

计数器输出信号为0000到0111的加计数,再由0111到0000的减计数,不断循环。

再经过3—8译码器使8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

FPGA入门系列实验教程——跑马灯

FPGA入门系列实验教程——跑马灯

FPGA入门系列实验教程——LED跑马灯1.实验任务让实验板上的8个LED实现跑马灯的功能。

通过这个实验,进一步掌握采用计数与判断的方式来实现分频的Verilog HDL的编程方法以及移位运算符的使用。

2.实验环境硬件实验环境为艾米电子工作室型号EP2C8Q208C8增强版开发套件。

软件实验环境为Quartus II8.1开发软件。

3.实验原理从LED[0]到LED[7]依次点亮,第二个灯点亮时第一个熄灭,每个灯交换的时间为0.5S;看上去的效果就象一个亮点从LED[0]跑向LED[7],然后重复此循环,故命名跑马灯。

初始状态时,LED[0]亮,其余熄灭。

每来一个时钟脉冲CLK,计数器就加1。

每当判断出计数器中的数值达到25000000时,就会点亮LED[1],同时LED[0]熄灭,并进行移位。

这样,依次点亮所有的灯,就形成了跑马灯。

而当LED[7]点亮时,需要一个操作使得恢复为初始状态,即:LED[0]亮,其余熄灭。

然后,再进行一次跑马灯,重复此循环。

如果是右移位,就出现向右跑马的现象;反之,向左跑马。

4.实验程序module ledwalk(led,clk);input clk;output[7:0]led;reg[7:0]led_out;reg[25:0]buffer;always@(posedge clk)beginbuffer<=buffer+1'b1;if(buffer==26'd2*******)beginled_out=led_out<<1;if(led_out==8'b00000000)led_out=8'b00000001;endendassign led=led_out;endmodule5.实验步骤(1)建立新工程项目:打开Quartus II软件,进入集成开发环境,点击File→New project wizard建立一个工程项目ledwalk。

FPGA跑马灯实验及程序

FPGA跑马灯实验及程序

信息工程学院实训报告题目:学生姓名:学号:专业:班级:指导教师:实训任务书1.1 设计题目:多开关控制跑马灯1.2 设计要求1.2.1 设计目的(1)掌握开关和LED灯的构成、原理与设计方法;(3)学会使用C语言编写设计逻辑电路;(2)熟悉Xilinx EDK软件的使用方法。

1.2.2 基本要求(1)能用C语言设计多开关控制跑马灯的电路;(2)能进行多开关控制跑马灯检测和仿真;(3)能进行多开关控制跑马灯硬件下载。

1.2.3 发挥部分(1)利用C语言编写多种跑马灯工作方式;(2)硬件显示多种跑马灯功能。

摘要嵌入式系统经历了从单片计算机、工业控制计算机、集中分布式控制系统,发展到嵌入式的平台的几个阶段:从独立单机使用发展到联网设备;从以模拟电路为主发展到以数字电路为主、数/模混合型,进而进入全数字时代。

总的来说,嵌入式系统向着更高性能、更小体积、更低功耗、更廉价、无处不在的方向发展。

嵌入式系统的设计和实现朝着基于芯片,特别是片上可编程系统(SOPC)的方向发展。

嵌入式开发套件(EDK)是用于设计嵌入式可编程系统的全面解决方案。

该套件包括嵌入式软件工具(Platform Studio)以及嵌入式IBM PowerPC硬件处理器核和/或Xilinx MicroBlaze软处理器核进行Xilinx平台FPGA设计时所需的技术文档和IP。

注意,这里的嵌入式软件工具指用来产生、编辑、编译、链接、加载和调试高级编程语言(通常是C或C++)代码的工具,以便在处理器引擎上执行。

由于嵌入式系统涉及了软件和硬件的开发以及两者的综合设计,因此其开发是较为复杂的。

本设计首先通过EDK的XSP搭建一个硬件平台,添加设计需要的IP内核;然后引入SDK,在SDK中用C语言进行程序的编写并进行编译下载,基于XSP、SDK和FPGA 等完成了用四个开关来控制8个LED灯的不同点亮方式及不同的跑马灯,进而完成多开关控制跑马灯。

关键词:嵌入式、XSP、SDK、跑马灯目录实训任务书 (II)1.1 设计题目:多开关控制跑马灯 (II)1.2 设计要求 (II)1.2.1 设计目的 (II)1.2.2 基本要求 (II)1.2.3 发挥部分 (II)摘要 (III)第一章设计原理及分析 (1)1.1 设计原理 (1)1.1.1 LED点亮原理 (1)1.1.2 开关工作原理 (1)1.2 原理分析 (1)1.2.1 设计流程 (2)第二章设计内容及思路 (3)2.1 设计程序及分析 (3)2.1.1 主程序及分析 (3)2.1.2 主程序流程图 (8)2.1.3 波形仿真程序 (8)2.1.4 波形仿真图形 (8)2.1.5 引脚分配 (9)第三章Xilinx EDK12.4软件的应用 (10)3.1 创建硬件平台 (10)3.2 添加IP Core (10)3.3 生成仿真文件 (10)3.4 生成硬件比特流 (10)3.5 开发软件系统 (10)3.6 下载 (10)总结 (11)致谢 (12)参考文献 (13)附录1 程序代码 (14)第一章设计原理及分析1.1 设计原理把四个开关作为选择器,用C语言编写四种不同的跑马灯工作方式;通过四个开关的闭合与开启来选择跑马灯的工作方式,一个开关闭合对应的8个LED灯就进行一种跑马方式。

实验6指导书 基于FPGA的跑马灯的设计

实验6指导书 基于FPGA的跑马灯的设计

基于FPGA的跑马灯的设计一、实验目的1.了解EDA软件在电子设计当中的重要作用。

2.熟悉并掌握Quartus II开发软件的基本使用方法。

3.基于FPGA设计跑马灯电路,并进行电路仿真。

二、实验预习阅读《电工电子实验教程》第6.6节可编程逻辑器件的应用。

学习Quartus II软件的使用方法。

预习实验内容,打印实验指导书:自拟实验步骤和数据记录表格,查阅元件资料并选择实验元件(型号、数量),熟悉元件功能及引脚,完成实验电路设计,说明设计过程,画出真值表和电路图。

三、实验设备与仪器PC机。

四、实验内容设计一个彩灯控制电路(跑马灯电路),使一排LED(8只)自动改变显示样式。

基本要求:(1)控制8只LED左移、右移、对移和闪烁;(2)自动进行周期循环。

五、设计提示彩灯控制器可以自动控制多路彩灯按不同的节拍循环显示各种灯光变换样式。

彩灯控制器是以高低电平来控制彩灯的亮灭。

在彩灯路数较少,样式变化比较简单时,可以用移位寄存器实现。

彩灯控制电路拟采用移位寄存器74LS194为核心控制彩灯,实现左移、右移、对移及闪烁功能,通过控制74LS194的S1和S0引脚改变彩灯显示的模式,并且S1、S0需要自动周期性的变化。

为了实现自动模式转换,需设计一个模式控制电路,控制彩灯完成周期性的模式转换。

电路中,采用74LS160完成时钟分频,采用74161完成状态计数,采用译码电路完成模式控制,采用74194完成左移、右移、对移及闪烁功能,采用74153完成左移、右移和对移数据输入选通控制。

控制器原理框图如图1所示。

图1 彩灯控制器原理框图六、实验要求本次实验使用软件Quartus II。

画出逻辑电路图,并对电路中使用器件的功能及作用加以说明。

记录仿真波形,并对实验结果进行分析说明。

七、实验报告(本部分请在下面的空白页中手写完成)1.在实验报告中写出详细的设计思路和设计过程。

(2)2.画出仿真原理图和仿真结果。

(4)3.列出电路中使用的元器件清单。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


……订
……线
基于FPGA的跑马灯电路的设计
一、实验目的
1、进一步熟悉MAXPLUS II、Multisim或QUARTUS II等电子开发工具的基本使用方法。

2、掌握使用移位寄存器、计数器、译码器等集成电路进行综合电路设计方法
3、运用图解法设计跑马灯电路,并进行电路仿真。

二、实验内容
实验题目:设计一个跑马灯电路。

要求输出8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

首先根据题目要求设计一下电路的实现方法,利用加法计数器(74LS161)和74LS138(3-8译码器)可实现8个LED灯从左到右逐个点亮的单向循环,实际电路如下图:
而要完成实验的要求,需将计数器74161的输出信号变为000到111的加计数,再由111到000的减计数,然后循环。

实现实验题目的方法有两种:
1、将计数器74LS161的输出端QA、QB、QC分别与QD异或,经过异或门输入到74LS138的A、B、C端,其数据符合题目的数据要求。

可以实现8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

但第1个灯和第8个灯显示的时间长度是其它灯的2倍。

Electronics Workbench 实验图1
2、使用可逆计数器74LS191来完成电路的计数部分,利用可逆计数器74LS191的加减计数控制端
U/D′,U/D′输入低电平时计数器为加法计数器,U/D′输入高电平时计数器为减法计数器。

当计数器74LS191加计数到7(0111)时,通过与门取出信号,经过或门使D
触发器输出由原来的低

……订
……线电平反转为高电平,通过加减控制端U/D′,使计数器由加法计数变为减法计数。

当计数器74LS191减计数到0(0000)时,借位输出端产生信号,经过或门使D触发器输出由原来的高电平反转为低电平,通过加减控制端U/D′,使计数器由减法计数变为加法计数。

计数器输出信号为0000到0111的加计数,再由0111到0000的减计数,不断循环。

再经过3—8译码器使8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。

Electronics Workbench 实验图2
本次实验使用软件MAXPLUS II、Multisim或QUARTUS II皆可。

但要求至少要使用2种软件实现电路设计。

三、实验步骤
提前进行电路设计。

要求在实验报告中写出详细的设计过程,包括设计思路,和预计输出结果,画出逻辑电路图,实际应使用的芯片。



…订
……
线
四、实验总结
本次实验总体效果较为满意。

一步熟悉了MAXplus II 、Electronics Workbench 软件的模拟仿真。

各个方面都达到了预期的效果和目标。

本次实验收获较大。

相关文档
最新文档