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

模十状态机与段译码器显示.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模十状态机与段译码器显示

数字系统设计实验报告 模十状态机与7段译码器显示班 级: 学 号: 姓 名: 实验二 模十状态机与7段译码器显示一、实验目的:通过设计频率可选的模十状态机以及7段译码电路以进一步掌握VHDL硬件描述语言。二、实验流程:本设计有分频器、多路选择器、状态机和译码器。1.时钟输入作为分频器的输入,输出时钟分别为2分频、4分频、8分频和16分频;2.四个频率的时钟信号由4选1的多路选择器选择其中之一作为状态机的时钟输入;3.使用选中的时钟频率作为输入驱动状态机按照以下的次序输出:0-2-5-6-1-9-4-8-7-3-0的顺序输出;4.使用此输出作为驱动输入到7段译码器的显示逻辑。三、实验原理1.分频器模块设计:可选用计数器模块实现,如下所示:if( rst = ’0’ ) then count =”0000”elsif( clk’event and clk = ‘1’) thencount = count+1;end if;clk2 = count(0);clk4 = count(1);clk8 = count(2);clk16 = count(3);2.多路选择器模块设计:使用选择语句来实现:case sel iswhen “00” = clk = clk2;when “01” = clk = clk4;when “10” = clk = clk8;when “11” = clk = clk16;when others = null; end case;3.状态机模块的实现:选用case语句实现:process(clk1,rst,load) beginif(rst=0)thencounts=0000;elsif(load=1)thencounts=countss;elsif( clk1event and clk1 =0) thencase counts iswhen0000=counts=0010;when0010=counts=0101;when0101=counts=0110;when0110=counts=0001;when0001=counts=1001;when1001=counts=0100;when0100=counts=1000;when1000=counts=0111;when0111=counts=0011;when0011=counts=0000;when others=counts=0000;end case;end if;q_temp=counts;end process;4. 7段译码器的显示逻辑的实现:此程序为共阳极显示:process(q_temp)begincase q_temp iswhen0000=seg=1000000;when0001=seg=1111001;when0010=seg=0100100;when0011=seg=0110000;when0100=seg=0011001;when0101=seg=0010010;when0110=seg=0000010;when0111=seg=1111000;when1000=seg=0000000;when1001=seg=0010000;when others=seg=0001000;end case;end process;四、仿真结果及分析:1.资源使用情况结果分析:占用资源较少。2.置数、分频的仿真结果clk为系统时钟,,load为置位信号(高有效)rst为复位(清零)信号(低有效),sel为频率选择信号,countss为置位信号、seg为七段译码器输出,counts为状态信号输出。五、实验心得:本实验是将状态机与数码管相结合,构成了模十状态机与7段译码器显示系统。在代码的编写过程中,我由简到繁,分模块编写。虽然题目难度并不算大,但是在代码的编写过程中仍然遇到了许多问题,通过不断的调试和仿真,将问题逐一解决。此次实验加深了我对VHDL的理解,使我受益匪浅附:程序library IEEE;use IEEE.std_logic_1164.all;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity mod10 isport(clk,rst,load:in std_logic;sel:in std_logic_vector(1 downto 0);countss:in std_logic_vector(3 downto 0);seg:out std_logic_vector(6 downto 0));end mod10;architecture beha of mod10 issignal clk1,clk2,clk4,clk8,clk16:std_lo

文档评论(0)

dlive45 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档