EDA_课程设计报告:数字时钟设计.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XI’AN UNIVERSITY OF TECHNOLOGY EDA综合实践 所在院系 自动化与信息工程学院 专业名称 电子信息科学与技术 班级 111 题目 时钟设计(C) 指导教师 XXX 成员 XXX 完成时间 2014年元月 一、设计任务及要求: 设计任务: 数字时钟设计(C)。 要 求: (1)显示6位,分别是小时两位,分钟两位,秒两位; (2)可手动调节对时; (3)整点报时功能。 1、实物验收评语及成绩(40%): 2、答辩评语及成绩(30%): 3、报告评语及成绩(30%): 数字时钟设计(C) 一、设计要求 (1)显示6位,分别是小时两位,分钟两位,秒两位; (2)可手动调节对时; (3)整点报时功能。 二、数字时钟设计原理 数字时钟设计原理框图: 计时原理: 在计时显示模块中,涉及到的是时分秒各个计数器的设计 ,“秒计数器”采用60进制计数器,每累计60,发出一个“脉冲”信号,该信号将被送到“计数器”。“计数器”采用进制计器, 使用mode按键产生0、1信号在正常计时功能、校时功能之间的转换。mode信号的作用主要体现在控制模块和时间显示模块中,虽然计时模块中也用到mode信号,但是它只是turn信号将秒信号清零的辅助作用,保证只有在m=0(即普通计时显示)下turn信号清零功能才起作用,在校时功能下只能是分、小时的切换功能。 (1)在控制模块下的作用: 在控制模块下,其实mode和turn信号的作用就是将change数字上加信号按不同的mode和turn分成两个信号,分别是count1(时间显示下的分信号)、counta(时间显示下的小时信号)。 (2)在显示模块下的作用: 同在控制模块下的作用相同。只是将turn信号选出的小时和分钟在同一个mode下一起送至显示模块。 3、时间调整中数字上加的原理: 在时间校时调整模式下,数字的上加不仅受到change信号的作用(即人工调时),还受本身在1Hz信号下计时而随时发生的累加。由于在控制模块下设置了快加的功能,所以有三部分信号对上加起作用,一是快加时以原始时钟的速率上加,二是慢加下的change具体到各模块、各位的count1或counta,三是秒信号记到59向分信号的进位。 源程序 module clock1(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_hour,LD_min); input clk,clk_1k,mode,change,turn; output alert,LD_hour,LD_min; output[7:0] hour,min,sec; reg[7:0] hour,min,sec,hour1,min1,sec1; reg[1:0] m,fm,num1,num2; reg[1:0] loop1,loop2,sound; reg LD_hour,LD_min,clk_1Hz,clk_2Hz,minclk,hclk,alert1,ear,count1,counta; wire ct1,ct2,cta,ctb,m_clk,h_clk; always @(posedge clk) begin clk_2Hz=~clk_2Hz; if(sound==3) begin sound=0; ear=1; end //ear 信号用于产生或屏蔽声音 else begin sound=sound+1; ear=0; end end always @(posedge clk_2Hz) //由4Hz 的输入时钟产生1Hz 的时基信号 clk_1Hz=~clk_1Hz; always @(posedge mode) //mode 信号控制系统在两种功能间转换 begin if(m==2)m=0; else m=m+1; end always @(posedge turn) fm=~fm; always //该进程产生count1,counta两个信号 begin case(m) 2: begin if(fm) begin count1=change; {LD_min,LD_hour}=2; end else begin counta=change; {LD_min,LD_hour}=1; end end default: {count1,co

文档评论(0)

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

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

1亿VIP精品文档

相关文档