数字电路跑马灯实验报告.docVIP

  • 28
  • 0
  • 约1.55千字
  • 约 5页
  • 2023-08-22 发布于湖北
  • 举报
实验名称:发光二极管走马灯电路设计与实现 姓名: 班级: 班内序号: 学 院: 日 期: 一、发光二极管走马灯电路设计与实现 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语句,但为了统一思路都改为用计数器实现。 (2)一开始设计模8计数器时,将程序下载到电路板上,拨动拨码开关使电路工作在单点移动状态时,发现只有两边的两个灯轮流亮,其他灯都不亮,即计数变量记到“111”时,计数标志位的值仍为0,下一状态计数变量变为“000”时,计数标志位才变为1,这就导致输出的信号只有两种状态。可能是因为是同步变化,then执行有时钟延时的关系,于是将计数变量改变为当为“001”时变为1,“110”时变为0就解决了这一问题。 (3)仿真波形时发现都没有输出,因为忘了将TEMP赋值给Q。加上后正确。 9.本实验总结与结论 1.经过逻辑分析,编写VHDL代码,然后调试,进行波形仿真,最后下载到实验板实现,经过一系列工序,成功实现了数码管扫描显示控制器及发光二极管走马灯电路。 2.进行数字电路实验,理论分析是十分重要的一环,只有逻辑分析透彻无误了,才能用语言进行描述,进而用硬件实现。这次实验让我对VHDL这样一门硬件描述语言有了更加深刻的认识。 3.通过这次实验,我对VHDL状态机有了更深层次的理解,也进一步理解了课堂上关于时序逻辑电路的内容,对于计数器、译码器的应用,有了更深层次的理解。通过这次实验,我巩固了在数字电路与逻辑设计课上学习到的理论知识,加深了对理论知识的理解。

文档评论(0)

1亿VIP精品文档

相关文档