多功能电子钟设计论文_第1页
多功能电子钟设计论文_第2页
多功能电子钟设计论文_第3页
多功能电子钟设计论文_第4页
多功能电子钟设计论文_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA(二)实验报告多功能数字钟目录目录1摘要2一、设计要求3二、方案论证3三、各模块设计原理43.1 分频设计43.2 计数器设计73.3 译码显示电路设计10四、附加功能134.1 12/24小时切换13五、调试仿真和下载13六、总结14七、参考文献15摘要本实验通过使用Quartus软件,并结合数字逻辑电路的知识设计多功能数字钟,可以实现正常的时、分、秒的计数功能,分别由六个数码管显示计时,可以利用开关实现系统的计时保持、清零和校分、校时的功能。在利用Quartus进行相应的设计、仿真、调试后下载到SmartSOPC 实验系统上验证设计的正确性。关键词QuartusII,数字钟,分频,计

2、时显示,保持清零,校分校时报时AbstractThis experiment is based on Quartus ,with the help of knowledge regarding the digital logic circuits and system design, to design a multifunctional digital clock. The basic function of the multifunctional digital clock is a 24-hour timer, and the exact time can be showed by si

3、x led lights. Also we can achieve the functions like time keeping, clearing and time adjusting by using the switches. All the designing and simulating work are based on Quartus. After all the work finished on computer, I downloaded the final circuit to SmartSOPC experiment system to test the accurac

4、y of the design.Key words:Quartus, digital clock ,reckon by time and display,time keeping and clearing, time adjusting, chiming一、设计要求1、要求简介:设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。2、设计基本要求:1)能进行正常的时、分、秒计时功能;2)分别由六个数码管显示时分秒的计时;3)K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);4)K2是系统

5、的清零开关(K2=0正常工作,K2=1时钟分、秒全清零);5)K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);6)K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);7)使时钟具有整点报时功能(当时钟计到5953”时开始报时,在5953”,5955”,5957”时报时频率为500Hz,5959”时报时频率为1KHz)。3、提高部分 12/24小时切换功能:K5是系统的切换开关; 4、仿真与验证:用QuartusII软件对设计电路进行功能仿真,并下载到SmartSOPC实验箱上对其功能进行验证。2、 方案论证 1、多功能数字时钟功能结构计时电路显示译码器校时校分脉

6、冲发生电路保持电路清零电路报时电路多功能数字计时器是由脉冲发生电路、计时电路、译码显示电路、报时电路、控制电路等几部分组成的,控制电路按要求可由校分校时电路、清零电路和保持电路组成。数字计时器的基本功能是计时,首先需要振荡时间的脉冲信号。实验可用的振荡频率为48MHZ,通过分频可获得所需频率(1Hz,2Hz,500Hz,1KHz)。计时电路与动态显示电路相连,将时间显示在六段数码管上,并且驱动蜂鸣器整点报时;校时校分电路对时、分、星期提供快速校时;清零电路作用时,系统的分秒时同时归零;保持电路作用时,系统停止计时并保持时间不变。2、多功能数字时钟总电路图根据模块间关系连接可以得到多功能数字时钟

7、 根据模块间关系连接可以得到多功能数字时钟的总电路图如下:三、各模块设计原理1、分频设计脉冲发生电路是为计时器提供计时脉冲的,因为设计的是计时器,所以需要产生1Hz的脉冲信号。EDA实验系统的输入时钟为48MHz,那么要产生1Hz的脉冲信号,则要对输入时钟48MHz进行分频,最终分得1KHz、500Hz、2Hz、1Hz。分频电路verilog语言如下:module fenpin(chushi,div_1KHz,div_500Hz,div_2Hz,div_1Hz); input chushi; output div_1KHz,div_500Hz,div_2Hz,div_1Hz; reg div_

8、1KHz,div_500Hz,div_2Hz,div_1Hz; integer a1=0,a2=0,a3=0,a4=0; always (posedge chushi) begin if(a147999) begin div_1KHz=1b0; a1=a1+1; end else begin div_1KHz=1b1; a1=0; end end always (posedge div_1KHz) begin if(a21) begin div_500Hz=1b0; a2=a2+1; end else begin div_500Hz=1b1; a2=0; end end always (pos

9、edge div_500Hz) begin if(a3249) begin div_2Hz=1b0; a3=a3+1; end else begin div_2Hz=1b1; a3=0; end endalways (posedge div_2Hz) begin if(a41) begin div_1Hz=1b0; a4=a4+1; end else begin div_1Hz=1b1; a4=0; end endendmodule仿真波形图如下:由于48MHz分为1KHz现象不明显,故此处改成将48000分频改为5分频,现象为:将500Hz改为2Hz和1Hz,此处250分频改为3分频,现象为

10、:分频电路封装图如下: 2、计数器设计为了形成时钟,需要由上一级进位信号驱动下一级电路开始工作。秒和分均为60进制,时为24进制,所以需要设计模60、模24计数器。本次设计的计数器包含了保持、清零、校分、校时、整点报时、12/24小时切换功能。计时电路verilog语言如下:module baoshi (hold,reshou,resmin,hou_final,min_final,sec_final,restart,clk,change,div_500Hz,div_1KHz,ring);input reshou,resmin,restart,clk,change,hold,div_500Hz,

11、div_1KHz;output6:0 hou_final;output6:0 min_final;output6:0 sec_final;output ring;reg6:0 hou;reg6:0 min;reg6:0 sec;reg6:0 hou_final;reg6:0 min_final;reg6:0 sec_final;reg a,b,restart1;reg ring;initial begin hou=0; min=0; sec=0; endalways (posedge clk)beginif(restart=0)beginrestart1=1;endif(reshou=0)be

12、ginif(hou=6d59)begin hou=d0; endelsebegin hou=hou+1; endendif(resmin=0)beginif(min6b111_100)begin min=min+6b1; endif(min=6b111_100)begin min=6b0; endendif(sec6b111_100)&(hold=1)beginsec=sec+1; endif(restart1=1)&(clk)beginhou=0;min=0;sec=0;restart1=0;endif(hou=6b101_11)&(min=6b1110_11)&(sec=6b1110_11

13、)beginhou=6b0;min=6b0;sec=6b0;endif(hou6b101_11)&(min=6b1110_11)&(sec=6b1110_11)beginhou=hou+6b1;min=6b0;sec=6b0;endif(min6b1110_11)&(sec=6b1111_00)beginmin=min+6b1;sec=6b0;endmin_final=min;sec_final=sec;endalways (hou)beginif (change=1)if(hou6b1101)begin hou_final=hou; endelsebegin hou_final=hou-6b

14、1100;endelsebegin hou_final=hou; endend always(min_final,sec_final) if(min_final=6b111_011) case(sec_final) 6b110_110, 6b111_000, 6b111_010:ring=div_500Hz; 6b111_100:ring=div_1KHz; default:ring=1b0; endcase else ring=1b0;endmodule仿真波形图如下:秒的显示:时、分的显示:保持的显示:报时的显示:计数器电路封装图如下:3、 译码显示电路设计 由于实验箱一次只能有一个数码管

15、显示,所以要同时把小时、分、秒都显示出来就得设计一个动态显示电路。由于一共要用6个 显示电路,所以用一个从0计数到5的循环来依次接通6个数码管显示,根据人眼的视觉暂留特性,我们实际看到的就是6个数码管一直在工作着。此处因为将小时、分、秒分为十位和个位才能进行扫码,故加了一个切换电路,将两位数的小时、分、秒3个数据,切换为6个数据。切换电路verilog语言如下:module qiehuan(hou_final,min_final,sec_final,secl,sech,minl,minh,hourl,hourh,clk);input6:0 hou_final,min_final,sec_fin

16、al;input clk;output3:0 secl;output3:0 sech;output3:0 minl;output3:0 minh;output3:0 hourl;output3:0 hourh;reg3:0 secl;reg3:0 sech;reg3:0 minl;reg3:0 minh;reg3:0 hourl;reg3:0 hourh;always (posedge clk) begin secl=sec_final%10; sech=sec_final/10; minl=min_final%10; minh=min_final/10; hourl=hou_final%10

17、; hourh=hou_final/10; endendmodule切换电路封装图如下:译码电路verilog语言如下:module yima(secl,sech,minl,minh,hourl,hourh,clk,en,led); input 3:0secl,sech,minl,minh,hourl,hourh; input clk; output 6:0en; output 6:0led; reg 6:0led; reg 6:0en; reg 3:0m=0,n; always ( posedge clk ) begin en6:0=8b; if ( m3:0=4d6) m=0; else

18、begin case( m3:0) 4d0: begin n=secl; en5=0; end 4d1: begin n=sech; en0=0; end 4d2: begin n=minl; en1=0; end 4d3: begin n=minh; en2=0; end 4d4: begin n=hourl; en3=0; end 4d5: begin n=hourh; en4=0; end endcase m=m+1; end end always ( posedge clk ) begin case (n) 4b0000: led6:0=7b; 4b0001: led6:0=7b; 4

19、b0010: led6:0=7b; 4b0011: led6:0=7b; 4b0100: led6:0=7b; 4b0101: led6:0=7b; 4b0110: led6:0=7b; 4b0111: led6:0=7b; 4b1000: led6:0=7b; 4b1001: led6:0=7b; endcase end endmodule 译码电路封装图如下:4、 附加功能 1、12/24小时切换 我设置了开关K5,当摁下开关时,若是上午则不改变,若是下午则可进行12/24小时切换。切换电路verilog语言如下: always(min_final,sec_final) if(min_fi

20、nal=6b111_011) case(sec_final) 6b110_110, 6b111_000, 6b111_010:ring=div_500Hz; 6b111_100:ring=div_1KHz; default:ring=1b0; endcase else ring=1b0;五、调试仿真和下载 1、调试:将设计好的电路保存在工程文件夹中(不能有中文路径)。再将文件置顶,最后进行编译。在主菜单中选择processing compiler toolstart,则编译开始。在编译过程中,若有任何信息、错误和警告消息,编译将停止,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。

21、2、仿真:将要仿真的原理图文件进行置顶编译,然后新建一个“Vector Waveform file”文件,生成波形文件(.vwf)。左键双击节点区空白处,在弹出的菜单中选Node Finder,在弹出的对话框中选择要观测的节点。选editGrid Size和editEnd Time,设置相应选项,并给输入引脚加上适当的信号,然后保存。接着选择主菜单中的processing项,在弹出的对话框中选择simulator tool选项。若要进行功能仿真,首先要点击Generate Functional Simulation Netlist选项。 3、下载:1. 在主菜单Assignments中选择De

22、vice项,在弹出的对话框中选择相应的器件EP1C12Q240C8。再选中Device and Pin Options选项,选择Unused Pins选项,选择as input tri-stated选项。 2. 在主菜单Assignments 选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。3. 在主菜单选FileSave保存文件,再次编译项目,生成.sof文件,以用于下载。4. 在主菜单Tools 选Programmer,选择program/configure,再选择start,即完成下载到实验台上。六、总结实验前听说是多功能数字钟的设计,我以为很简单,但在实际操作时并不是这么简单,不仅每个模块都需要仿真,而且在连成完整电路后下载运行又是另外一回事儿了,很多同学在电脑上能成功仿真,下载时总是不能正确显示,这时需要我们冷静思考,针对显示出现的问题,用排除法解决对应的问题。EDA2是基于QuartusII软件的多功能数字钟实验,这次实

温馨提示

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

评论

0/150

提交评论