数字系统课程设计报告-.docVIP

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

数字系统课程设计 (数字电子钟) 班 级: 电信 081 姓 名: 徐镇江 学 号: 08401200105 一、系统设计要求: 本设计要求掌握数码管的显示原理、数字钟的VHDL编程方法。具体要求: (1)采用EDA实验箱上的共阴极数码管显示时间,从00:00:00~23:59:59,依此循环。 (2)整点报时。 二、系统设计思路: 根据系统的设计要求可知,本系统设计本设计可分为三个主要部分电路。 (1)计时: 主要是通过标准秒脉冲的输入,采集秒脉冲的上升沿,从而触发秒计时信号,从而达到秒计时的目的。当到达“59”时,产生分进位脉冲信号,激发计分电路,同理,从而实现计分。整体就实现了计时的功能。 显示: 通过对计秒、计分、计时电路的BCD码输出,进行译码操作,输出给8段数码显示,并进行动态扫描,即可实现多位数码管的显示。 整点报时 整点报时电路在该设计当中只是给出了一个整点的信号,该信号是低电平有效,持续时间是1分钟。通过外部的设计电路,该信号对“蜂鸣器”电路起一个控制的作用。 计时电路的设计 主要VHDL程序段如下: process(clk_time) begin if (clk_timeevent and clk_time = 1) then if(sec_1 = 1001) then sec_1=0000; if(sec_2 = 0101) then sec_2 = 0000; co1 = 1; else sec_2 = sec_2 +1; co1=0; end if; else sec_1= sec_1 + 1; end if; end if; sec = sec_2 sec_1; end process; 上面的代码是计秒部分,它为计分电路提供一个分脉冲进位信号,“co1” 当co1 = 1时,触发计分电路 process(co1) begin if co1event and co1 = 1 then if(min_1 = 1001) then min_1=0000; if(min_2 = 0101) then min_2 = 0000; co2 = 1; else min_2 = min_2 +1; co2=0; end if; else min_1 = min_1 +1; end if; end if; min = min_2 min_1; alter=1; end process; 同理,底下的代码是计时部分。 process(co2) begin if co2event and co2 = 1 then if (hour_1 = 0011 and hour_2 = 0010) then hour_1 =0000; hour_2 =0000; elsif hour_1 = 1001 then hour_2 = hour_2 + 1; hour_1 = 0000; else hour_1 = hour_1 + 1; end if; end if; hour = hour_2 hour_1; alter=0; end process; 显示控制电路的设计 本设计显示需要使用的是6个7段数码管,在计时结果显示电路中,6个7段数码管显示部分采用的是动态显示,由时钟信号clk_scan作为扫描信号,每来一次上升沿转换一个数码管显示,并显示对应的信息. 显示控制模块的主要VHDL程序段如下: process(clk_scan) begin if clk_scanevent and clk_scan = 1 then if cnt = 101 then cnt = 000; else cnt = cnt +1; end if; end if; end process; process(cnt) begin case cnt is when 000 = bcd =sec(3 downto 0);com =111110; when 001 = bcd =sec(7 downto 4);com =111101; when 010 = bcd =min(3 downto 0);com =111011; when 011 = bcd =min(7 downto 4);com =110111; when 100 = bcd =hour(3 downto 0);com =

文档评论(0)

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

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

1亿VIP精品文档

相关文档