


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDAM程设计报告数字钟设计一、设计任务设计一台能显示时、分、秒的数字钟。具体要求如下:(1) 由实验箱上的时钟信号经分频产生秒脉冲;(2) 计时计数器用24进制计时电路;(3) 可手动校时,能分别进行时、分的校正;整点报时;选做:可设置闹时功能,当计时计到预定时间时,扬声器发出闹铃信号,闹铃时间为4s,并可提前终止闹铃。二、试验目的(1) 掌握时十进制、六进制和二十四进制计数器的设计方法。(2) 掌握多位计数器相连的设计方法。(3) 掌握多位共阴极扫描显示数码管的驱动及编码。三、总体设计方案本数字系统实现数字钟的基本的计时功能,输入8Hz的时钟,通过分频产生1Hz的时钟信号,采用24/12小
2、时制计时,能显示时、分、秒。本系统还具有校正功能,可以进行时分的校时,当计时器运行到59分59秒开始报时,另外还可以设定闹钟,当按下闹铃开关时,可在规定时间闹铃,当开关复位时,闹铃停止。本数字钟实际上是一个对频率(1Hz)进行计数的计数电路。由丁计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时分频后的1Hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。数字钟的基本组成本数字钟的实现可分为以下几个模块:(1) 秒计数模块:秒计数,在频率为1Hz的时钟下以60次为循环计数,并产生进位信号影响分计数;分计数模块:分计数,在秒进位信号为高电平时,计数一次,同样以
3、60次为一个循环计数,同时产生分进位信号影响时计数;(2) 时计数模块:时计数,在分进位信号为高电平时,计数一次,以24/12次为一个循环计数;(3) 频率产生模块:产生8Hz的计数频率,通过分频得到1Hz频率;(4) 时间显示模块:数码管通过动态显示,同时进行一定频率的扫描显示时,分,秒。(5) 时间设置模块:设置调试使能端,可以调时,分,秒。基本功能是在使能端为高电平时,可以使时和、分和秒循环计数;(6) 整点报时模块:在秒计数到50秒时,同时分计数到59分开始,蜂鸣器产生四个时钟周期的鸣叫,到整点是产生两个时钟周期的鸣叫。(7) 闹钟模块:在设定闹钟闹铃时间后,当闹钟使能端有效时,可在闹
4、铃时间闹铃,通过人工拨0后停闹。一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生器、“时”,“分”,“秒”计数器、洋码器及显示器、电路组成。分频器电路:通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。通常实现分频器的电路是计数器电路,当计数满时则产生相应的跳变,从而得到想要的的分频后频率。时间计数单元:时间计数单元有时计数、分计数和秒计数等几个部分。时计数单元一般为12进制计数器或24进制计数器。译码驱动及显示单元:计数器实现了对时间的累计以8421BC况形式输出,为了将计数器输出的8421
5、BC况显示出来。试验箱上有几种模式可供选择,选择模式5则自带有显示译码器,代码中就可以直接送四位bcd码给相应端口就行。校时电源电路:当重新接通电源或走时出现误差时都需要对时间进行校正。通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数将高电平信号加到需要校正的计数单元的输入端,相应的时分秒数值随着时钟脉冲信号跳变,校正好后,再按下使能键变为低电平,转入正常计时状态。整点报时电路:一般时钟都应具备整点报时电路功能,即在时间出现整点时,数字钟会自动报时,以示提醒。其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示。本设计的总体设计原理结构框图如下:图1数
6、字钟的系统框图该系统由振荡器、分频器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。石英晶体振荡器和分频器产生整个系统的时基信号,它直接决定计时系统的精度。“秒计数器”采用六十进制计数器,每累计60秒向“分计数器”进位;“分计数器”采用六十进制计数器,每累计60分向“时计数器”进位;“时计数器”采用二十四进制计数器,按照“24翻1”规律计数。“时、分、秒”计数器的输出经译码器送显示器显示。校时电路用来当计时出现误差时对“时、分、秒”进行校对调整。整点报时电路是根据计时系统的输出状态产生一脉冲信号,然后去触发音频发生器实现报时。本程序实现的功能并不复杂,故本课程设计并未采用
7、例化语句,而是将各个模块的功能整合到一起,采用一个结构体多个进程来实现。四、调试过程程序完成后,首先要做的便是仿真,观察仿真图,改变相应的输入参数值看是否达到所要求的结果。输入时钟信号如下:Wwe4皿0r3ps4D.(J)ns80.(fnsIZO.pnsISO.pns2D0.pnsip=JI=1clkkBirLrLrmrLrLrLrLrLrLrLrLrLrLTLrLrLrLrLrLJ-Ln-centB:回hur1B蹈;XXIX由白r*itwwgB路火X厂313曰minite3E:xxxxa16L*jmiriiElXXXXIX=23BiN4xlEt1aSB二5s3Bi音27r豆,之灯a】El躁:
8、XK1X-EN13EXXX1*37setBi38I9FB:相应的产生仿真图如下:从图中可以看出,仿真结果正常,分秒可以正常跳变其它功能也同样可以通过更改输入参数来观察输出的仿真结果,从而查看实现的功能。如下所示:itsuei1.51UEEi.as空i2.15usi2.47ue2.79gi3.11U5N响iff0FuochaneBlWiclklSIMinumimiiniiiiiiiiMnu明刑imiiiiiiiiuiniiniiiiiiiiuniiniiiiununiiiiiiiiiwniiniiiiiuiiuniiiiiiiiniMiiniiFiiiniCGUtB03国hour!BOC0000
9、铮E国hourZBDCGOOD铮L3曰ninit&1BDC0000-aaWnSniQL4BiAL5-._2B_Jl_LB-11B1l_*nL.dB1,1Owl(himIa2BOEDODOozaaaalB1rL1-24BI12Bj前i口Bi0懒呻K32FHa管3nd2BOC00010010Xoooo烦嗷-/iRi初iJH1衲辱浦erTmeBar。ps4|卜|P-omtef:1&4msIntoval-从图中可以看出,闹铃功能正常实现。图中实现的是调节分位的时间,其它位的时间调节方法一致。2143usIntervalNameValueafQcKojigaE14clklB142routEI汕3+|ho
10、iur1BOC铮8国1BOC仲13|jminitelBOCO143Bi_z15-.2Ei16r.1IBi0-17L.DBi|肯1日l*lminiBOC1-23ftaol13FEi1-25=2B迎ci3EI铮NT国:econdlBOC35Z0E:econdZBOCFiIMasierTirneBarCp$|JPoint创从图中可以看出整点报时功能也能实现,产生高电平使得蜂鸣器发声。调时功能测试,从图中可以看出,可以正常调节时间斗漕HrHfHrHr部分RTL图五、实验心得:本次课程设计是通过所学的ED缺口识,自主设计使用物品,将所学的知识运用到实处,感觉收获很大,以前学的时候都是学的理论上的知识,并
11、没有运用到实际做具体的功能器件上来,通过这次的课程设计使我将理论的知识联系到实际运用中来,巩固了以前学习的知识,并且有了新的收获,进一步熟悉了软件运用和实验箱的使用,增强了自我动手能力。学习EDA程已经过去一段时间,好多知识开始模糊,所以在实验过程中要经常翻阅书本查询相关知识,实验的过程也将书本的知识进一步强化,对书本的知识有了新的认识,受益匪浅。在程序设计过程中容易将各个复合语句的范围用错,从而出现意想不到的结果,逻辑出现紊乱,有时是漏掉了某些语句或者是一些语法错误,这些在编译的时候都会有相应的出错提示,顺着提示去改正相对比较容易,不过也出现过几次错误出现的地方和提示出错的地方不一致,费了很
12、大力气才解决,还有一种就是,编译可以通过,但是结果不与预想的一致,一般进程process,endprocess不会出错,原因主要是进程中的逻辑顺序或嵌套没有安排好,比如if,else,endif语句,如果if语句结束的位置用错,即endif的位置不对,不会提示出错但是不能达到想要的结果,这就需要从头认真分析各逻辑关系,重新考虑endif位置,总之课程设计虽然辛苦,但是却有其中的乐趣,尤其是解决问题后的成就感,学以致用,感觉很充实。ED牌现代信息社会里很有用的一门学科,以后一定会再次用到,现在打好基础,为以后的学习和工作奠定基础,培养兴趣。参考文献:EDA#术与VHDL(第二版).潘松黄继业.活
13、华大学出版社.2008六、程序活单libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityshuzizhongisport(clk1,set,naol,change,s1,s2,s3:instd_logic;秒分时校验-s1,s2,s3;闹铃设置naol,调时间启动键changeminite1:outstd_logic_vector(3downto0);minite2:outstd_logic_vector(3downto0);second1,second2,hour1,hour2:outstd_l
14、ogic_vector(3downto0);cout:outstd_logic);endentity;architectureoneofshuzizhongissignalclk,temp:std_logic;beginpro:process(clk1)variablen:integer:=0;beginifclk1eventandclk1=1thenifn=4thentemp=nottemp;n:=0;elsen:=n+1;endif;endif;endprocesspro;clk=temp;pro1:process(clk,set,s1,s2,s3,change,naol)variable
15、msecond1,msecond2,mminite1,mminite2,mhour11,mhour12,mhour21,mhour22:std_logic_vector(3downto0);variablemminite10,mminite20,mhour110,mhour120,mhour210,mhour220:std_logic_vector(3downto0);beginif(clkeventandclk=1)thenif(naol=1)then-qidongdinshiifs2=1thenmminite10:=mminite10+1;ifmminite10=1010thenmmini
16、te10:=0000;mminite20:=mminite20+1;ifmminite20=0110thenmminite20:=0000;endif;endif;endif;分校验ifs3=1thenmhour110:=mhour110+1;mhour210:=mhour210+1;ifmhour110=1010thenmhour110:=0000;mhour120:=mhour120+1;endif;ifmhour110=001Tandmhour120=000Tthenmhour110:=000T;mhour120:=0000;endif;ifmhour210=1010thenmhour2
17、10:=0000;mhour220:=mhour220+1;endif;ifmhour210=0100andmhour220=0010thenmhour210:=0000;mhour220:=0000;endif;endif;时校验endif;ifset=1then启动校验ifs1=1thenmsecond1:=msecond1+1;ifmsecond1=1010thenmsecond1:=0000;msecond2:=msecond2+1;ifmsecond2=0110thenmsecond2:=0000;endif;endif;endif;秒校验ifs2=1thenmminite1:=mm
18、inite1+1;ifmminite1=1010thenmminite1:=0000;mminite2:=mminite2+1;ifmminite2=0110thenmminite2:=0000;endif;endif;endif;分校验ifs3=1thenmhour11:=mhour11+1;mhour21:=mhour21+1;ifmhour11=1010thenmhour11:=0000;mhour12:=mhour12+1;endif;ifmhour11=0011andmhour12=000Tthenmhour11:=000T;mhour12:=0000;endif;ifmhour21
19、=1010thenmhour21:=0000;mhour22:=mhour22+1;endif;ifmhour21=0100andmhour22=0010thenmhour21:=0000;mhour22:=0000;endif;endif;时校验elsemsecond1:=msecond1+1;正常计时工作ifmsecond1=1010thenmsecond1:=0000;msecond2:=msecond2+1;ifmsecond2=0110thenmsecond2:=0000;mminite1:=mminite1+1;ifmminite1=1010thenmminite1:=0000;m
20、minite2:=mminite2+1;ifmminite2=0110thenmminite2:=0000;mhour11:=mhour11+1;mhour21:=mhour21+1;ifmhour11=1010thenmhour11:=0000;mhour12:=mhour12+1;endif;ifmhour11=0011andmhour12=0001thenmhour11:=0001;mhour12:=0000;endif;12小时制ifmhour21=1010thenmhour21:=0000;mhour22:=mhour22+1;endif;ifmhour21=0100andmhour
21、22=0010thenmhour21:=0000;mhour22:=0000;endif;24小时制endif;endif;endif;endif;endif;ifnaol=0thensecond1=msecond1;second2=msecond2;minite1=mminite1;minite2=mminite2;ifchange=0thenhour1=mhour11;hour2=mhour12;elsehour1=mhour21;hour2=mhour22;12/24小时制转换endif;elsesecond1=0000;second2=0000;minite1=mminite10;mi
22、nite2=mminite20;ifchange=0thenhour1=mhour110;hour2=mhour120;elsehour1=mhour210;hour2=mhour220;12/24小时制转换endif;endif;if(msecond1=0000”ormsecond1=0001)and(msecond2=0000”)and(mminite1=0000”)and(mminite2=0000)-and(msecond10010)and(msecond2=0000)thencout=1;elseifchange=0thenif(mminite1=mminite10)and(mmin
23、ite20=mminite2)and(mhour12=mhour120)and(mhour11=mhour110)and(msecond1=0100)and(msecond2=0000)thencout=1;elsecout=0;-整点报时endif;elseif(mminite1=mminite10)and(mminite20=mminite2)and(mhour22=mhour220)and(mhour21=mhour210)and(msecond1=0101)and(msecond2=0000)thencout=1;elsecout=0;endif;endif;endif;endif;e
24、ndprocess;endarchitectureone;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityshuzizhongisport(clk1,set,naol,change,s1,s2,s3:instd_logic;秒分时校验-s1,s2,s3;闹铃设置naol,调时间启动键changeminite1:outstd_logic_vector(3downto0);minite2:outstd_logic_vector(3downto0);second1,second2,hour1,ho
25、ur2:outstd_logic_vector(3downto0);cout:outstd_logic);endentity;architectureoneofshuzizhongissignalclk,temp:std_logic;beginpro:process(clk1)variablen:integer:=0;beginifclk1eventandclk1=1thenifn=4999999thentemp=nottemp;n:=0;elsen:=n+1;endif;endif;endprocesspro;clk=temp;pro1:process(clk,set,s1,s2,s3,ch
26、ange,naol)variablemsecond1,msecond2,mminite1,mminite2,mhour11,mhour12,mhour21,mhour22:std_logic_vector(3downto0);variablemminite10,mminite20,mhour110,mhour120,mhour210,mhour220:std_logic_vector(3downto0);beginif(clkeventandclk=1)thenif(naol=1)then-qidongdinshiifs2=1thenmminite10:=mminite10+1;ifmmini
27、te10=1010thenmminite10:=0000;mminite20:=mminite20+1;ifmminite20=0110thenmminite20:=0000;endif;endif;endif;分校验ifs3=1thenmhour110:=mhour110+1;mhour210:=mhour210+1;ifmhour110=1010thenmhour110:=0000;mhour120:=mhour120+1;endif;ifmhour110=001Tandmhour120=000Tthenmhour110:=000T;mhour120:=0000;endif;ifmhour
28、210=1010thenmhour210:=0000;mhour220:=mhour220+1;endif;ifmhour210=0100andmhour220=0010thenmhour210:=0000;mhour220:=0000;endif;endif;时校验endif;ifset=1then启动校验ifs1=1thenmsecond1:=0000;msecond2:=0000;endif;秒校验ifs2=1thenmminite1:=mminite1+1;ifmminite1=1010thenmminite1:=0000;mminite2:=mminite2+1;ifmminite2
29、=0110thenmminite2:=0000;endif;endif;endif;分校验ifs3=1thenmhour11:=mhour11+1;mhour21:=mhour21+1;ifmhour11=1010thenmhour11:=0000;mhour12:=mhour12+1;endif;ifmhour11=0011andmhour12=000Tthenthenmhour11:=000T;mhour12:=0000;endif;ifmhour21=1010mhour21:=0000;mhour22:=mhour22+1;endif;ifmhour21=0100andmhour22=0
30、010thenmhour21:=0000;mhour22:=0000;endif;endif;时校验elsemsecond1:=msecond1+1;正常计时工作ifmsecond1=1010thenmsecond1:=0000;msecond2:=msecond2+1;ifmsecond2=0110thenmsecond2:=0000;mminite1:=mminite1+1;ifmminite1=1010thenmminite1:=0000;mminite2:=mminite2+1;ifmminite2=0110thenmminite2:=0000;mhour11:=mhour11+1;mhour21:=mhour21+1;ifmhour11=1010thenmhour11:=0000;mhour12:=mhour12+1;endif;ifmhour11=0011andmhour12=0001thenmhour11:=0001;mhour12:=0000;end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国木麻黄栲胶项目商业计划书
- 哈尔滨市中医院心脏功能测定考核
- 通辽市中医院溶栓药物不良反应处理考核
- 中国四丁基四氟硼酸铵项目商业计划书
- 天津市中医院老年疾病影像考核
- 运城市人民医院肝静脉成形技术考核
- 邯郸市人民医院现金流量表编制与分析试题
- 唐山市人民医院文化建设在人事工作中的落地试题
- 大庆市中医院肿瘤遗传咨询与家族风险评估考核
- 中国紫外线涂料项目经营分析报告
- 预防医学考试题+答案
- 二年级上册数学北师大版课件第5课时 小熊开店
- 跌倒坠床原因分析预防措施
- 52206马工程组织行为学课件
- 我和我的祖国课件
- 各类食物营养与配餐(蛋类的营养)课件
- 公司内账管理系统
- 全国细菌耐药监测网信息系统-附件
- 妇产科产前诊断技术服务临床医师考核题(附答案)
- 校园欺凌工作台账(完整资料)
- DB33∕T 1146-2018 浙江省城市轨道交通规范
评论
0/150
提交评论