数字时钟设计课设报告_第1页
数字时钟设计课设报告_第2页
数字时钟设计课设报告_第3页
数字时钟设计课设报告_第4页
数字时钟设计课设报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字系统原理与设计课程设计报告设计题目:数字时钟设计学生姓名:专业:电子科学与技术年级:指导老师:南通大学电子信息学院2015年7月8日目录摘要及关键字…………1前言………………3实验目的…………3实验思想…………3设计方案…………4设计原理…………4设计过程…………4仿真实验及下载…………………12总结体会…………14参考文献…………14附录………………15管脚绑定…………15

前言1.实验目的在QuartusⅡ软件平台下,运用verilog硬件描述语言和DE2来实现数字时钟功能。数字时钟包括组合逻辑电路和时序电路,能够正确显示时、分、秒,并有校时、暂停功能,要求在数码管上正确显示。在完成基本要求的基础上,可进一步增加功能、提高性能,如增加闹铃功能。2.实验思想本实验的难点主要在于如何使时钟正确显示,并在数码管上显示,在实验过程中,在输出波形时出现了问题,50MHz太大,波形输出所需时间太长,最后新建了一个文件,将输入时钟脉冲改为1Hz,这样波形输出所需时间就大大减少,顺利完成本实验。

二.设计方案1.设计原理数字时钟是一个对标准频率(1Hz)进行计数的计数电路。数字时钟分为分频器、时计数器、分计数器、秒计数器,当秒计数器计满60后触发分计数器,分计数器计满60后触发时计数器,当计满24小时后又开始下一轮循环。通过校时电路可对分和时进行校正,通过暂停键实现暂停功能。数字时钟要完成显示需要6个数码管,数码管显示要用到7段数码显示译码器程序来正确显示时间。2.设计过程(1)分频利用分频器将clk_50MHz变为频率为1Hz,这样使得数字时钟正常计数。(2)计时当秒后一位小于9时,秒后一位一直加1,当秒后一位大于等于9,即为9时,下一个脉冲秒后一位为0,此时看秒前一位。当秒前一位小于5时,秒前一位一直加1,当秒前一位大于等于5,即为5时,下一个脉冲秒前一位为0,此时看分后一位。当分后一位小于9时,分后一位一直加1,当分后一位大于等于9,即为9时,下一个脉冲分后一位为0,此时看分前一位。当分前一位小于5时,分前一位一直加1,当分前一位大于等于5,即为5时,下一个脉冲分前一位为0,此时看小时。当小时前一位为2,此时当小时后一位小于3时,小时后一位一直加1,当小时后一位大于等于3,即为3时,下一个时钟脉冲小时前一位后一位均为0。当小时前一位不为2,此时当小时后一位小于9时,小时后一位一直加1,当小时后一位大于等于9时,即为9时,下一个时钟脉冲小时后一位为0,小时前一位加1。(3)校时,秒分时加1秒、分、时分开校时,秒与分均从0计到59,时从0计到23。其中ss1与pause相当于一个,即ss1可写可不写。(4)数码管显示(6个)DE2上的数码管为共阳极,即为低电平有效电路。数码管如图所示。以下为源程序:moduleclock(_50MHZ,pause,ss1,sm1,sh1,s0,s1,m0,m1,h0,h1);input_50MHZ,pause,ss1,sm1,sh1;reg[3:0]second0,second1,minute0,minute1,hour0,hour1;outputreg[6:0]s0,s1,m0,m1,h0,h1;reg[32:0]Q1;reg_1HZ;always@(posedge_50MHZ)//分频beginif(Q1==24999999)//24999999//499beginQ1=0;_1HZ=~_1HZ;endelseif(pause==0)Q1=Q1+1'd1;endalways@(posedge_1HZ)//计时beginif(second0<4'b1001)second0<=second0+4'b1;elsebeginsecond0<=0;if(second1<4'b0101)second1<=second1+4'b1;elsebeginsecond1<=4'b0;if(minute0<4'b1001)minute0<=minute0+4'b1;elsebeginminute0<=4'b0;if(minute1<4'b0101)minute1<=minute1+4'b1;elsebeginminute1<=4'b0;if(hour1==4'b0010)beginif(hour0<4'b0011)hour0<=hour0+4'b1;elsebeginhour0<=0;hour1<=0;endendelsebeginif(hour0<4'b1001)hour0<=hour0+4'b1;elsebeginhour0<=4'b0;hour1<=hour1+4'b1;endendendendendendif(ss1==1)//秒+1beginif(second0<4'b1001)second0<=second0+4'b1;elsebeginsecond0<=4'b0;if(second1<4'b0101)second1<=second1+4'b1;elsesecond1<=4'b0;endendif(sm1==1)//分钟+1beginif(minute0<4'b1001)minute0<=minute0+4'b1;elsebeginminute0<=4'b0;if(minute1<4'b0101)minute1<=minute1+4'b1;elseminute1<=4'b0;endendif(sh1==1)//小时+1if(hour1==4'b0010)beginif(hour0<4'b0011)hour0<=hour0+4'b1;elsebeginhour0<=0;hour1<=0;endendelsebeginif(hour0<4'b1001)hour0<=hour0+4'b1;elsebeginhour0<=4'b0;hour1<=hour1+4'b1;endendcase(second0)//数码管显示4'b0000:s0=7'b1000000;4'b0001:s0=7'b1111001;4'b0010:s0=7'b0100100;4'b0011:s0=7'b0110000; 4'b0100:s0=7'b0011001;4'b0101:s0=7'b0010010;4'b0110:s0=7'b0000010;4'b0111:s0=7'b1111000;4'b1000:s0=7'b0000000;4'b1001:s0=7'b0010000;default:s0=7'b0000000;endcasecase(second1)4'b0000:s1=7'b1000000;4'b0001:s1=7'b1111001;4'b0010:s1=7'b0100100;4'b0011:s1=7'b0110000; 4'b0100:s1=7'b0011001;4'b0101:s1=7'b0010010;4'b0110:s1=7'b0000010;4'b0111:s1=7'b1111000;4'b1000:s1=7'b0000000;4'b1001:s1=7'b0010000;default:s1=7'b0000000;endcasecase(minute0)4'b0000:m0=7'b1000000;4'b0001:m0=7'b1111001;4'b0010:m0=7'b0100100;4'b0011:m0=7'b0110000; 4'b0100:m0=7'b0011001;4'b0101:m0=7'b0010010;4'b0110:m0=7'b0000010;4'b0111:m0=7'b1111000;4'b1000:m0=7'b0000000;4'b1001:m0=7'b0010000;default:m0=7'b0000000;endcasecase(minute1)4'b0000:m1=7'b1000000;4'b0001:m1=7'b1111001;4'b0010:m1=7'b0100100;4'b0011:m1=7'b0110000; 4'b0100:m1=7'b0011001;4'b0101:m1=7'b0010010;4'b0110:m1=7'b0000010;4'b0111:m1=7'b1111000;4'b1000:m1=7'b0000000;4'b1001:m1=7'b0010000;default:m1=7'b0000000;endcasecase(hour0)4'b0000:h0=7'b1000000;4'b0001:h0=7'b1111001;4'b0010:h0=7'b0100100;4'b0011:h0=7'b0110000; 4'b0100:h0=7'b0011001;4'b0101:h0=7'b0010010;4'b0110:h0=7'b0000010;4'b0111:h0=7'b1111000;4'b1000:h0=7'b0000000;4'b1001:h0=7'b0010000;default:h0=7'b0000000;endcasecase(hour1)4'b0000:h1=7'b1000000;4'b0001:h1=7'b1111001;4'b0010:h1=7'b0100100;4'b0011:h1=7'b0110000; 4'b0100:h1=7'b0011001;4'b0101:h1=7'b0010010;4'b0110:h1=7'b0000010;4'b0111:h1=7'b1111000;4'b1000:h1=7'b0000000;4'b1001:h1=7'b0010000;default:h1=7'b0000000;endcaseendendmodule3.仿真实验及下载(1) 利用QuartusⅡ软件输入程序,进行编译。(2) 指定芯片CycloneⅡ:EP2C35F672C6(3)新建波形文件,置入输入输出,脉冲Timeperiod设为20ns,进行仿真,此时仿真时间过长,无法输出波形。这是因为clk_50MHz频率太大,因此要将关于50MHz的相关程序删除,即分频,以及相应的对50MHz的说明,并将1Hz作为输入脉冲。将Endtime设为1ms,脉冲Timeperiod设为20ns,进行仿真,此时波形如下图所示。显示0时,数码管有6个低电平,一个高电平,显示1时,数码管有2个低电平,5个高电平,与程序中数码管相对应。由于只设置了1ms,仅有秒在跳变,即从0开始一直加1,直到59,与题目要求数字时钟正确显示相符。(4) 管脚绑定(见附录)打开Assignments:Pins进行管脚绑定。(5) 运用DE2开发板进行下载验证此时用的程序仍为原来有50MHz的程序,再编译一次,连接DE2开发板,点击Programmer,在出现的窗口中点击HardwareSetup,选择USB-Blaster,然后点击start,即下载到DE2板子上,下载完成。SW[0]为pause键,SW[1],SW[2],SW[3]分别对应时、分、秒的校时键,这四个键均为高有效。三.总结体会转眼间,两周的课程设计就要结束了。通过这次对数字钟的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字钟的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才开始下载在开发板上的。但是最后的成品却不一定与仿真时完全一样,因为,在仿真中有着各种各样的条件制约着,例如我们遇到的频率太大,输出波形所需时间太长的问题。而且,在仿真中无法成功的程序,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。通过课程设计,我更加明白了一个真理,“实践是检验真理的唯一标准”。课程设计达到了专业学习的预期目的。课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对设计过程的了解,进一步激发了我们对专业知识的兴趣,并能结合实际存在的问题在专业领域内进行更深入的学习。四.参考文献[1]康华光,电子技术基础数字部分第六版[M].北京:高等教育出版社,2014.1[2]夏宇闻,Verilog数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论