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

数字钟设计 一、实验目的: 通过设计实例,深入理解自顶向下设计方法,系统设计规范、系统设计、模块设计和系统仿真与实现各阶段的设计内容,初步掌握规范的数字系统设计方法并实践。 二、实验要求: 1、系统概述:设计一个用 LED 7段显示器显示的24小时制数字钟。 2、系统目标: (1)用8个LED 显示时间,如9点25分10秒显示为,09-25-10。 (2)设置2个按键,按键SET用于工作模式选择,按键UP用于设置数值。(可选) (3)按SET键循环设置工作模式为:正常显示-时设置-分设置-秒设 置。在设置工作模式时,被设置相应数字按1秒速率闪烁,其它数字不变。 (4)在设置工作模式时,按UP键一次,被设置相应数字增加1,加到最大值后再加返回0,如小时加到23后再加就返回0,分和秒加到59后再加返回0 。 3、系统设计依据: 外部输入时钟为40MHZ,通过分频产生秒脉冲信号,用模60计数器对其计数产生分脉冲信号,对分脉冲用模60计数器对其计数产生时脉冲信号,再用模24计数器对时脉冲计数,即可实现一天24小时的时间信号,通过7段LED数码管显示出来则为基本数字钟,校时电路对“时”、“分”、“秒”显示数字进行校对调整。 图3-1 由图3-l可见,在按键闭合和断开时产生了多个边沿,而在实际中每按一次键,我们只需要一组稳定的上升或下降边沿,所以对于电路中的按键信号,如果我们不滤除抖动的话,还是简单的读取信号的边沿,会引起一次按键被误读多次,这样就会引起电路的误动作。为了保证按一次键电路只有一次正确的响应,即在键闭合稳定时读取键的状态,就要求电路中必须采取滤除抖动的措施。 原理:在设计中用时钟信号(key_clk)进行采样,对于按键输入信号,当两次采样信号相同时,这是判定已经稳定的按下或放开了按键,D触发器相应的被置成0态或1态。如两次采样结果不相同,则触发器维持原输出信号不变,由于直接由触发器输出的信号时间宽度可能过长,所以在触发器后再接一级同步化电路,保证每次输出的信号只占有一个时钟周期的宽度。应用这种方法去滤除抖动,关键是确定采样时钟的频率,保证两次采样的时间间隔能够大于按键的抖动时间,且小于正常按键时的按键稳定闭合时间。 2、采用BCD码的计数模式 时、分、秒的计数都采用BCD码计数,如果采用二进制计数,分的最大计数值为59,只需要6位就可以,因为时的计数值要通过两个数码管显示,所以计数值需要经过两级译码才能驱动数码管使其正常显示,必须先把计数值译码成高低四位的BCD码,然后再分别把高、低四位BCD码译码成数码管的显示编码。如果直接采用BCD码计数,只需要一次译码就可以正常显示计数值,故采用BCD码计数更方便,简化电路。 3、数码管的动态显示 数码管的动态扫描,就是轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时在显示。数码管的轮流扫描频率不能太小,否则数码管不能同时显示,一般扫描频率在500Hz到1Khz即可。本设计中的数码管位选信号为低电平有效,数码管的段为低显,复位后把位选信号d_col赋值为8’b1111_1110,然后以1Khz的扫描频率使其循环左移,并送出相应位的字形码,即可实现数码管的动态显示。 四、系统详细设计方案: 1、系统设计分析: 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。将“时”、“分”、“秒”计数器的输出七段显示译码器译码,通过位LED七段显示器显示出来对“时”、“分”、“秒”显示数字进行校对调整“时”、“分”、“秒”的循环控制,在设置工作模式时,被设置相应数字按1秒速率闪烁,其它数字不变。Up键实现调整状态时相应时间的快速加“1”以实现时间校准。 图4-1 系统框图 图4-2 顶层模块设计 4、每个模块详细功能说明,信号定义及时序定义 (1)Freq_div模块:将40M Hz的系统时钟进行分频产生三种时钟使能信号:scan_clk(1khz)、key_clk(100hz)、s_clk(1hz)。scan_clk:数码管扫描频率 key_clk:按键采样频率 s_clk:1s时钟信号 (2)Key_ctl模块:完成对按键的同步、去抖功能,输出稳定的按键信号set_en、up_en。Set_en:模式

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档