《数字电子技术基础第二版》9.2数字系统综合设计.ppt

《数字电子技术基础第二版》9.2数字系统综合设计.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数字电子技术基础第二版》9.2数字系统综合设计

9.2 数字频率计 上页 下页 后退 模拟电子 begin ---当前状态处理 Present_State_Process: process(ScanClock) begin if rising_edge(ScanClock) then pre_state=next_state; end if; end process; ---数码管选择处理(注意:用于位选的MC1413是个非门) Position_Process: process(ScanClock) begin if rising_edge(ScanClock) then case next_state is ---第一个数码管亮 when led1= position_reg=000001; datacut_reg=LockedCnt(3 downto 0); next_state=led2; ---第二个数码管亮 when led2= position_reg=000010; datacut_reg2=LockedCnt(7 downto 4); if (datacut_reg2=0000 and datacut_reg3=0000 and datacut_reg4=0000 and datacut_reg5=0000 and datacut_reg5=0000)then datacut_reg=1100; else datacut_reg=datacut_reg2; end if; next_state=led3; ---第三个数码管亮 when led3= position_reg=000100; datacut_reg3=LockedCnt(11 downto 8); if (datacut_reg3=0000 and datacut_reg4=0000 and datacut_reg5=0000 and datacut_reg6=0000)then datacut_reg=1100; else datacut_reg=datacut_reg3; end if; next_state=led4; ---第四个数码管亮 when led4= position_reg=001000; datacut_reg4=LockedCnt(15 downto 12); if (datacut_reg4=0000 and datacut_reg5=0000 and datacut_reg6=0000)then datacut_reg=1100; else datacut_reg=datacut_reg4; end if; next_state=led5; ---第五个数码管亮 when led5= position_reg=010000; datacut_reg5=LockedCnt(19 downto 16); if (datacut_reg5=0000 and datacut_reg6=0000 )then datacut_reg=1100; else datacut_reg=datacut_reg5; end if; next_state=led6; --第六个数码管亮 when led6= position_reg=100000; datacut_reg6=LockedCnt(23 downto 20); if datacut_reg6=0000 then datacut_reg=1100; else datacut_reg=datacut_reg6; end if; next_state=led1; ---所有数码管全灭 when others= position_reg=000000; datacut_reg=1100; next_state=led1; end case; end if; end process; with datacut_reg select segments_reg = 0111111 when 0000, 0000110 when 0001, 1011011 when 0010, 1001111 when 0011, 1100110 when

文档评论(0)

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

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

1亿VIP精品文档

相关文档