网站大量收购闲置独家精品文档,联系QQ:2885784924

数字电路实验报告-VHDL状态机的设计与实现.doc

数字电路实验报告-VHDL状态机的设计与实现.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大学 数字电路实验报告 实验名称:VHDL状态机的设计与实现 学 院: 信息与通信工程学院 日 期: 2011年5月 一、发光二极管走马灯电路设计与实现 1.实验目的 (1)进一步了解时序电路描述方法; (2)熟悉状态机的设计方法。 2.实验所用仪器及元器件 (1)计算机; (2)直流稳压电源; (3)数字系统与逻辑设计实验开发板。 3.实验任务与要求 设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。 (1)单点移动模式:一个点在8个发光二极管上来回的亮 (2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。 4.设计思路和过程 (1)设计一个模8计数器和一个模5计数器,在输入的时钟信号的上升沿触发。 (2)对于模8计数器,当计数值达到“0000”时,计数标志位设置为‘0’,进行加计数;当计数值达到“0111”时,计数标志位设置为‘1’,进行减计数。 (3)模5计数器的设计思路与模8计数器相同。 (4)对于输入的控制信号, 当控制信号为“00”时,8个二极管全灭; 当控制信号为“01”时,利用3线至8线译码器输出控制信号,实现单点移动模式; 当控制信号为“10”时,利用3线至8线译码器输出控制信号,利用其中的5个状态,实现幕布式; 当控制信号为“11”时,将8个二极管全部点亮。 5.VHDL代码 6.仿真波形及分析 (1)仿真波形 (2)波形分析 由波形可见,当控制信号输入为“00”时,输出信号全为0,实现8个二极管全部熄灭的效果;当输入为“01”时,输出的8个端口依次出现正脉冲,代表一个发光的点在8个发光二极管上来回的亮;当输入为“10”时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,实现了幕布式的点灯方式;当输入为“11”时,输出的信号全为1,实现8个二极管全部被点亮。当清零信号为0时,输出信号全为0,8个二极管全部熄灭。由图可知,该电路实现了要求的逻辑。 7.故障及问题分析 (1)一开始设计模8计数器时,只用了长度为3的数组,将程序下载到电路板上,拨动拨码开关使电路工作在单点移动状态时,发现只有两边的两个灯轮流亮,其他灯都不亮,观察仿真波形之后发现,计数变量记到“111”时,计数标志位的值仍为0,下一状态计数变量变为“000”时,计数标志位才变为1,这就导致输出的信号只有两种状态。于是将计数变量改变为长度为4的数组,然后取了译码器前8个输出结果控制8个二极管亮灭的8种状态,其余输出结果均为让8个二极管全灭,成功地解决了这个问题。 (2)程序再次下载到电路板后,拨动拨码开关使电路工作在幕布式状态,发现电路又是只在两个状态之间来回变化,仔细检查后发现,是设置让标志位的值改变的那段代码有问题,当计数变量为“000”时,标志位的值为0,当计数变量为其他时,标志位的值为1。修改代码,使得当计数变量为“000”时,标志位的值为0,当计数变量为“100”时,标志位的值为1,再次下载到电路板上,电路就能在5个状态之间来回变化了。 8.实验结果 1)幕布式 (2)单点移动模式 二、数码管扫描显示控制器的设计与实现 1.实验目的 (1)掌握VHDL语言的语法规范,掌握时序电路描述方法 (2)掌握多个数码管动态扫描显示的原理及设计方法 2.实验所用仪器及元器件 (1)计算机 (2)直流稳压电源 (3)数字系统与逻辑设计实验开发板 3.实验任务要求 (1)用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示0,1,2,3,4,5这六个不同的数字图形到六个数码管上,仿真验证其功能,并下载到实验板测试。 (2)用VHDL语言设计并实现六个数码管滚动显示电路。 I)循环左滚动,始终点亮6个数码管,左出右进。状态为:012345-123450-234501-345012-450123-501234-012345 II)向左滚动,用全灭的数码管填充右边,直至全部变灭,然后再依次从右边一个一个地点亮。状态为:012345-12345X-2345XX-345XXX-45XXXX-5XXXXX-XXXXXX-XXXXX0-XXXX01-XXX012-XX0123-X01234-012345,其中’X’表示数码管不显示。 4.实验原理 为使得输入控制电路简单且易于实现,采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。 各位数码管的相同段是

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档