数字钟数电课程设计报告.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文档。上传文档
查看更多
(基于FPGA的数字钟设计) 一、课题要求 技术要求 1)掌握QUARTUS-2软件的使用方法; 2)具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 3) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 4)能根据设计要求对设计电路进行仿真和测试; 5)掌握将所设计软件下载到FPGA芯片的下载步骤等等。 6) 将硬件与软件连接起来,调试电路的功能。 功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’55’’时开始报时,在55’’56’’57’’58’’59’’时鸣叫,共鸣叫5秒钟; 3)定时闹铃:本设计中设置的是在六点半时进行闹钟功能,鸣叫时间为一分钟。 本人工作 本人主要负责硬件安装及焊接部分! 二、设计方案 数字钟电路的原理框图详见末页图(a) 数字钟设计方案 采用同步电路,总线结构。时钟信号分别加到各个模块,各个模块相对独立,模块间连线简单,易于扩展。振荡器和分频器产生稳定的校时信号和计时信号。对“秒”计时信号进行60进制计数,形成“分”计时信号和秒计数值;再对“分”计时信号进行60进制计数,形成“时”计时信号和分计数值;进一步对“时”计时信号进行24进制计数得到时计数值。秒计数值、数字电子钟由振荡器、分频器 计数器、译码显示、报时等电路组成。library ieee; use ieee.std_logic_1164.all; entity fenpin is port(clk6:in std_logic; q1000,q5,q1:out std_logic); end fenpin; architecture ccc_arc of fenpin is signal x:std_logic; begin process(clk6) variable cnt:integer range 0 to 24999; begin if clk6event and clk6=1 then if cnt24999 then cnt:=cnt+1; else cnt:=0; x=not x; end if; end if; end process; q1000=x; process(x) variable cnt2:integer range 0 to 999; variable y:std_logic; begin if xevent and x=1 then if cnt2999 then cnt2:=cnt2+1; q1=0; else cnt2:=0; q1=1; end if; end if; if xevent and x=1 then y:=not y; end if; q5=y; end process; end ccc_arc; 2)仿真波形: (2)秒模块(second) 1)程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is port (clk1,en1:in std_logic; qa:out std_logic_vector(3 downto 0); co1:out std_logic; qb:out std_logic_vector(3 downto 0)); end second; architecture cc of second is signal cout2,cout1:std_logic_vector(3 downto 0); signal mm: std_logic; begin process(clk1,en1) begin if en1=1 then cout2=0000;cout1=0000; elsif (clk1event and clk1=1)then if (cout2=5 and cout1=8) then cout2=cout2;cout1=cout1+1;mm=1; elsif (cout2=5 and cout1=9) then cout2

文档评论(0)

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

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

1亿VIP精品文档

相关文档