数字钟实验报告.pdf

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

电子线路设计、测试及实验(二)

多功能数字钟实验报告

一、实验名称:多功能数字钟

二、实验任务及要求:

1.实验任务:用FPGA器件和EDA技术实现多功能数字钟的设计

2.实验要求:基本功能:以数字形式显示时、分、秒的时间

小时计数器为同步24进制,要求手动校时校分

扩展功能:任意时刻闹钟

小时显示(12/24)切换电路

仿广播电台整点报时

自动报整点时数

三、实验条件

1.实验仪器:FPGA实验开发装置

2.实验软件:ISE

3.实验板:Basys2

四、电路设计过程

1.组成框图

主体电路Verilog实现的层次图

任意闹钟设定模块

数字钟总体设计框图

2.工作原理

分频器模块:设置输入为50MHz的时钟信号,设置一个25位宽计数信号

Count,每经过一个周期Count加一,当Count从0计数经过9500000

个cp周期时输出信号翻转一次并且Count清零重新开始计数,最终输出

1Hz时钟信号。

时分秒记时显示模块:由10进制计数器和6进制计数器组成60进制秒

计数器模块和60进制分计数器模块分别显示秒钟和分钟,由24进制计

数器显示小时。将1Hz的时钟信号作为60进制秒计数器的时钟脉冲,将

60进制秒计数器的进位信号作为60进制分计数器的使能信号,将60进

制分计数器的进位信号作为24进制时计数器的使能信号,进而完成时分

秒的显示控制。

12/24进制转换模块:设置一个选择控制信号en和上、下午指示信号PM,

当en=1时选择12进制,en=0时选择24进制。选择12进制时,若小时

大于12则使其自动减12,否则保持不变。当小时大于12时PM=1,指示

灯亮表示下午,否则指示灯不亮表示上午。

整点报时模块:设置一个计数信号right,它的值为24进制时的整点数,

用1Hz时钟信号作为脉冲控制,每1s响一次,每响一次right值减一,

控制整点报时的次数。

七段数码管显示控制模块;设置一个选择信号switch,当switch=1时显

示小时和分钟;当switch=0时选择显示分钟和秒。显示小时时若en=1

且小时数大于12则自动减12显示12进制,若en=0则显示24进制。

动态显示控制模块:用50Hz作为脉冲信号,设置一个20位计数信号Count,

每经过一个时钟脉冲加计数,设置2-4线译码器输入信号

s1=Count[19],s2=Count[18],则每经过262144个时钟周期,即约0.005s

后s1s0加一,译码器输出改变一次,进而控制让哪个显示器显示出时间。

3.单元电路设计(或源代码及注释)及仿真波形

10进制计数器:

modulecounter10(outputreg[3:0]Q10,inputcp,inputcr,inputen);

always@(posedgecpornegedgecr)

begin

if(~cr)Q10=4b0000;//异步清零

elseif(~en)Q10=Q10;//保持计数器不变

elseif(Q10==4b1001)Q10=4b0000;//计到9变回0

elseQ10=Q10+1b1;//计数器加1

end

endmodule

6进制计数器

文档评论(0)

各类考试卷精编 + 关注
官方认证
内容提供者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地宁夏
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档