基于FPGA数字秒表设计解剖.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 1.秒表设计要求 1 2.设计思路 1 2.1功能模块 1 2.1.1分频器 1 2.1.2计数器 1 2.1.3数据锁存器 1 2.1.4控制器 1 2.1.5扫描显示的控制电路 2 2.1.6显示电路 3 2.1.7按键消抖电路 3 3.电路实现 4 4.程序仿真 10 4.1分频器 10 4.1.1计数器电路综合 11 4.1.2计数器电路仿真 11 4.2同步计数器 13 4.2.1计数器实现 13 4.2.2计数器仿真 15 4.2.3同步计数器电路综合 17 4.3按键消抖电路 18 4.3.1按键消抖电路实现 18 4.3.2按键消抖电路仿真 18 4.3.3按键消抖电路综合 20 4.4八段译码器 20 4.4.1八段译码器实现 20 4.4.2八段译码器仿真 21 4.4.3八段译码器电路综合 22 4.5控制器 23 4.5.1控制器 23 4.5.1控制器仿真 24 4.5.3控制器电路综合 25 5.2View Technology Schematic : 26 5.3管脚锁定: 27 6.实验结论 27 1.秒表设计要求 秒表的计时范围为00:00:00 ~ 59:59:99。 两个按钮开关Start/Stop和Split/Reset,控制秒表的启动、停止、分段和复位: 在秒表已经被复位的情况下,按下“Start/Stop”键,秒表开始计时。在秒表正常运行的情况下,如果按下“Start/Stop”键,则秒表暂停计时;再次按下该键,秒表继续计时。在秒表正常运行的情况下,如果按下“Split/Reset”键,显示停止在按键时的时间,但秒表仍然在计时;再次按下该键,秒表恢复正常显示。在秒表暂停计时的情况下,按下“Split/Reset”键,秒表复位归零。 2.设计思路 2.1功能模块 2.1.1分频器 对晶体振荡器产生的时钟信号进行分频,产生时间基准信号 2.1.2计数器 对时间基准脉冲进行计数,完成计时功能 2.1.3数据锁存器 锁存数据使显示保持暂停 2.1.4控制器 通过产生锁存器的使能信号来控制计数器的运行、停止以及复位 设计分析: 2.1.5扫描显示的控制电路 包括扫描计数器、数据选择器和7段译码器,控制8个数码管以扫描方式显 示计时结果,原理图如下: 2.1.6显示电路 2.1.7按键消抖电路 消除按键输入信号抖动的影响,输出单脉冲 按键按下时,FPGA的输入为低电平;松开按键时,FPGA的输入为高电平 但是在按下按键和松开按键的瞬间会出现抖动现象 2.2电路框图 3.电路实现 ---------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 09:08:39 03/12/2011 -- Design Name: -- Module Name: stopwatch_1 - Behavioral -- Project Name: -- Target Devices: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity stopwatch_1 is Port ( Clk : in STD_LOGIC; start_stop : in STD_LOGIC; split_reset : in STD_LOGIC; nc

文档评论(0)

妈妈王子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档