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

基于EDA技术的数字秒表设计.docx

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

电子科技大学电子技术综合实验报告题 目:基于EDA技术的数字秒表设计学 院:光电信息学院 专 业:光信息科学与技术 班 级 学 号:2905301014 姓 名:李雄风 指导老师:皇晓辉2012年3月20日一、设计目标1.1设计要求利用FPGA实验电路板,设计实现一个数字秒表,其计数范围为00′00″00~59′59″99,计数结果用8个数码管显示;设置两个按钮开关,一个按钮使秒表复位,另一个按钮控制秒表的启动/停止。1.2面板构思根据上面的设计要求,给出如下图1-1所示的数字秒表外观面板的基本排布构思图。图1-1 外观面板排布图1.3面板分析1.3.1计数器分析该数字秒表的计数范围为00′00″00~59′59″99,其分十位和秒十位均为六进制计数器,其他位则均为十进制计数器。因此,总共需要6个计数器,其中2个为六进制计数器,4个为十进制计数器。在每个计数器中设置进位输出端和使能端,将6个计数器通过进位输出端和使能端级联构成异步计数,就能实现数字秒表由00′00″00到59′59″99的计数。1.3.2启停按钮分析按下启停按钮,应使原本处于计数状态的秒表暂停计数,或者使原本暂停计数的秒表恢复计数。暂停期间,秒表应保持计数结果;恢复计数时,秒表应从保持的结果处开始计数。要达到以上效果,可以通过控制最低位计数器的使能端(刚好其未参与级联)来实现。具体地说,按下启停按钮时,将会产生一个脉冲,利用该脉冲可以实现对使能端的边沿触发,只要在每次按下启停按钮时让使能信号翻转,就可以实现上述功能。1.3.3复位按钮分析按下复位按钮,应使原本暂停计数的秒表恢复到初始值00′00″00;而对于原本正在计数的秒表,其应不起作用。要达到以上效果,可以在每个计数器上设置一个清零端,当使能信号为无效时,利用按下复位按钮产生的脉冲对所有的清零端实现边沿触发,使其有效;而在使能信号有效时,该脉冲应不起作用。二、电路设计2.1模块划分为实现该数字秒表的功能,将整个数字秒表分解为几个模块分别进行设计,最后再将各模块连接起来,构成一个整体。需要设计的模块应包括以下几个:(1)分频器在FPGA实验电路板上,有一个晶振可以提供48MHz的输入信号,而对于所要求的数字秒表,其最小计数间隔为0.01秒,即应将48MHz的晶振频率分频到100Hz。另外,在计数结果输出显示时,往往利用人们的视觉暂留效应,采取扫描显示的方法(这样可以节省电路开销),为此需要产生一个扫描信号,一般取其频率为1kHz,因此还需将48MHz的晶振频率分频到1kHz。(2)计数器计数器部分应由2个六进制计数器和4个十进制计数器构成,在1.3中,已经对其做了详细说明,在此不再赘述。(3)启停和复位模块该部分也已经在1.3中做了详细说明,在此不再赘述。(4)扫描模块扫描模块应在1kHz的扫描信号驱动下,产生3位二进制计数输出。该1kHz的扫描信号由分频器输出,而产生的3位二进制计数输出,则作用于8个数码管的选通。由于FPGA实验电路板内已经集成了一个3-8译码器,故可用该3位二进制计数输出直接控制8个数码管的选通。(5)显示模块将8个八段数码管编号为LDE0,LED1,…,LED7,如图1-1所示。当LED0被扫描模块的输出信号选通时,应使最低位计数器的计数值显示译码到八段显示器上输出;当LED1被选通时,应使次低位计数器的计数值显示译码到八段显示器上输出;以此类推。应注意的是,当LED2和LED5被选通时,没有对应的计数器给其提供计数值,应给他们设定一个固定值,再显示译码输出“-”。2.2模块设计2.2.1分频器设计如2.1中分析,总共需要两种分频器,它们的设计分别如下:(1)100Hz分频VHDL描述如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fenpin1 is Port (clk : in STD_LOGIC;newclk : out STD_LOGIC);end fenpin1;architecture ART of fenpin1 issignalcount:integer range 0 to 10#479999#;beginprocess(clk)beginifclkevent and clk=1 then if count=10#479999# then count=0;newclk=1;el

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档