欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA电子钟课程设计onw.docx

    • 资源ID:63524025       资源大小:155.21KB        全文页数:20页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA电子钟课程设计onw.docx

    多功能能数字钟钟设计说明明:1系统统顶层框框图:各模块电电路功能能如下:1.秒计计数器、分分计数器器、时计计数器组组成最基基本的数数字钟,其其计数输输出送77段译码码电路由由数码管管显示。2.基准准频率分分频器可可分频出出标准的的1HZZ频率信信号,用用于秒计计数的时时钟信号号;分频频出4HHZ频率率信号,用用于校时时、校分分的快速速递增信信号;分分频出664HZZ频率信信号,用用于对按按动“校时”,“校分”按键的的消除抖抖动。2.多功功能数字字钟结构构框图:一、系统统功能概概述已完成功功能1. 完成时分秒秒的依次次显示并并正确计计数,利利用六位位数码管管显示;2. 时分秒各段段个位满满10正正确进位位,秒分能做做到满660向前前进位,有有系统时时间清零零功能;3. 定时器:实现整整点报时时,通过过扬声器器发出高高低报时时声音;4. 时间设置置,也就就是手动动调时功功能:当当认为时时钟不准准确时,可可以分别别对分时钟进进行调整整;5. 闹钟:实实现分/时闹钟钟设置,在在时钟到到达设定定时间时时通过扬扬声器响响铃。有有静音模模式。 待改进功功能:1. 系系统没有有万年历历功能,正正在思考考设计方方法。2. 应应添加秒秒表功能能。二、系统统组成以以及系统统各部分分的设计计1.时计计数模块块时计数模模块就是是一个22位100进制计计数器,记记数到223清零零。VHDLL的RTTL描述述如下:-cntt_h.vhddlibrraryy ieeee;use ieeee.sstd_loggic_11664.aall;use ieeee.sstd_loggic_unssignned.alll;entiity cntt_h is pportt(enn,cllk,cclr:in stdd_loogicc; ddoutt:ouut sstd_loggic_vecctorr(7 dowwntoo 0); cc:ouut sstd_loggic);end cntt_h;archhiteectuure rtll off cnnt_hh isssignnal t:sstd_loggic_vecctorr(7 dowwntoo 0);begiin pproccesss(enn,cllk,cclr) vvariiablle tt:sttd_llogiic_vvecttor(7 ddownnto 0); beggin iif een=''1' theen -异异步使能能 iif cclk 'evventt annd cclk='1'' thhen tt:=tt+1; iif tt(3 dowwntoo 0)=X""A" theen -个位等等于100则十位位加1 tt(7 dowwntoo 4):=tt(7 dowwntoo 4)+1; tt(3 dowwntoo 0):=XX"0"" -个个位清零零 eend if; iif tt>X""23"" thhen -大大于233清零 tt:=XX"000" eend if; eend if; iif cclr='1'' thhen -异步清清零 tt:=XX"000" eend if; eend if; douut<=t; eend proocesss;end rtll;时计数器器模块仿仿真波形形如下从仿真波波形可知知,当计计数到223时,下下一个时时钟上升升沿到来来时就清清零了,符符合设计计要求。时计数模模块框图图如下2. 分及秒计计数模块块分及秒计计数模块块也是一一个2位位10进进制计数数器,记记数到559清零零。VHDLL的RTTL描述述如下:librraryy ieeee;use ieeee.sstd_loggic_11664.aall;use ieeee.sstd_loggic_unssignned.alll;entiity cntt_s is pportt(enn,cllk,cclr:in stdd_loogicc; ddoutt:buuffeer sstd_loggic_vecctorr(7 dowwntoo 0); cc:ouut sstd_loggic);end cntt_s;archhiteectuure rtll off cnnt_ss issbegiin pproccesss(enn,cllk,cclr) beggin iif een=''1' theen iif cclr='1'' thhen -异异步清零零 ddoutt<=XX"000" eelsiif cclk 'evventt annd cclk='1'' thhen iif ddoutt(3 dowwntoo 0)<9 theen doout(3 ddownnto 0)<<=doout(3 ddownnto 0)+1; c<<='00' eelsiif ddoutt(7 dowwntoo 4)<5 theen doout(3 ddownnto 0)<<=X""0" doout(7 ddownnto 4)<<=doout(7 ddownnto 4)+1; eelsee doout<<=X""00"" c<<='11' eend if; eend if; elsse ddoutt<=""ZZZZZZZZZZ"" endd iff; eend proocesss;end rtll;分和秒计计数器模模块仿真真波形如如下从仿真波波形可知知,当计计数到559时,下下一个时时钟上升升沿到来来时就清清零了,并并且产生生进位信信号,符符合设计计要求。分和秒计计数模块块框图如如下3. 按键消抖抖动模块块按键消抖抖动有很很多方案案,这里里选择的的是计数数消抖,即即只当有有效电平平到来后后开始计计数,当当计数值值大于一一定值后后再输出出该有效效电平,否否则不输输出,从从而达到到消抖目目的。VHDLL的RTTL描述述如下:librraryy ieeee;use ieeee.sstd_loggic_11664.aall;entiity haooin is porrt(ddin,clkk:inn sttd_llogiic; ddoutt:ouut sstd_loggic);end haooin;archhiteectuure rtll off haaoinn issbegiin pproccesss(diin) vvariiablle tt: iinteegerr raangee 0 to 63:=0; bbegiin iif dinn='11' tthenn iif cclk 'evventt annd cclk='1''theen t:=t+11; if t>110 tthenn douut<='1''t:=t-1; elsse ddoutt<=''0' endd iff; eend if; eelsee doout<<='00'tt:=00; eend if; eend proocesss;end rtll;librraryy ieeee;use ieeee.sstd_loggic_11664.aall;use ieeee.sstd_loggic_unssignned.alll;entiity rinng iis pportt( cllk: in stdd_loogicc; cllk5000: in stdd_loogicc; cllk1kk:inn sttd_llogiic; beeep:outt sttd_llogiic);end rinng;archhiteectuure rtll off riing isbegiin pproccesss(cllk) vvariiablle tt: sstd_loggic; vvariiablle nn: iinteegerr raangee 0 to 15:=0; bbegiin iif cclk 'evventt annd cclk='1'' thhen tt:=nnot t;nn:=nn+1; eend if; iif tt='11' aand n<111 tthenn bbeepp<=cclk5500; eelsiif nn=111 thhen bbeepp<=cclk11k; eelsee beeep<<='ZZ' eend if; eend proocesss;end rtll;librraryy IEEEE; use IEEEE.sstd_loggic_11664.aall; use IEEEE.sstd_loggic_ariith.alll;use IEEEE.sstd_loggic_unssignned.alll; entiity cloock is porrt( SAA: inn sttd_llogiic; SBB: inn sttd_llogiic; SCC: inn sttd_llogiic; SDD: inn sttd_llogiic; cllk1: iin sstd_loggic; doout: buuffeer sstd_loggic_vecctorr(233 doowntto 00); -segg_daata:outt sttd_llogiic_vvecttor(7 ddownnto 0); -segg_coom:oout stdd_loogicc_veectoor(33 doowntto 00); beeep: ouut sstd_loggic -ledd:ouut sstd_loggic_vecctorr(3 dowwntoo 0) );end enttityy cllockk;archhiteectuure rtll off cllockk iss ccompponeent cntt_s is pportt(enn,cllk,cclr:in stdd_loogicc; ddoutt:buuffeer sstd_loggic_vecctorr(7 dowwntoo 0); cc:ouut sstd_loggic); eend commponnentt; ccompponeent cntt_h is pportt(enn,cllk,cclr:in stdd_loogicc; doout:buffferr sttd_llogiic_vvecttor(7 ddownnto 0) ); eend commponnentt; -coompoonennt ssegmmainn iss -poort(clkk,reesett_n:in stdd_loogicc; -ddataain:in stdd_loogicc_veectoor(115 ddownnto 0); -sseg_datta:oout stdd_loogicc_veectoor(77 doowntto 00); -sseg_comm:ouut sstd_loggic_vecctorr(3 dowwntoo 0); -ennd ccompponeent; -coompoonennt rringg iss -poort( enn: iin sstd_loggic; - clkk: iin sstd_loggic; -clkk5000: iin sstd_loggic; -clkk1k:in stdd_loogicc; -beeep:oout stdd_loogicc); -ennd ccompponeent; ccompponeent haooin is porrt(ddin,clkk:inn sttd_llogiic; ddoutt:ouut sstd_loggic); eend commponnentt; ccompponeent naoolinng iis pportt (hh,m:in stdd_loogicc_veectoor(77 doowntto 00); cllk4hhzh,clkk4hzzm:iin sstd_loggic; syys_een,ssys_rstt:inn sttd_llogiic; h_o,mm_o: ouut sstd_loggic_vecctorr(7 dowwntoo 0); beeep:outt sttd_llogiic); eend commponnentt; siignaal rreg_h:sstd_loggic_vecctorr(7 dowwntoo 0); siignaal rreg_m:sstd_loggic_vecctorr(7 dowwntoo 0); siignaal rreg_s:sstd_loggic_vecctorr(7 dowwntoo 0); siignaal rreg_m_ss:sttd_llogiic_vvecttor(7 ddownnto 0):=X""59"" siignaal rreg_m_mm:sttd_llogiic_vvecttor(7 ddownnto 0):=X""59"" siignaal rreg_m_hh:sttd_llogiic_vvecttor(7 ddownnto 0):=X""59"" siignaal cclk_h:sstd_loggic; siignaal cclk_m:sstd_loggic; siignaal cclk_s:sstd_loggic; siignaal cc_s :sstd_loggic; siignaal cc_m :sstd_loggic; siignaal cc_h :sstd_loggic; siignaal ssys_clkk1:sstd_loggic; siignaal ssys_clkk4:sstd_loggic; siignaal ssys_clkk64:stdd_loogicc; siignaal ssys_clkk5000:sttd_llogiic; siignaal ssys_clkk1k:stdd_loogicc; siignaal cclkii:inntegger:=75500000; siignaal ssys_rstt:sttd_llogiic:='0'' siignaal ssys_en:stdd_loogicc:=''1' siignaal cclk_rinng,mmh:sstd_loggic; siignaal SSAc,SBcc,SCCc,SSDc:stdd_loogicc; siignaal een_rr:sttd_llogiic; siignaal NNL_rreg_h,NNL_rreg_m:sstd_loggic_vecctorr(7 dowwntoo 0); siignaal NNL_rringg:sttd_llogiic; siignaal ssys_clkk4_NNL_hh,syys_cclk44_NLL_m:stdd_loogicc;begiin h:cntt_h porrt mmap(en=>syys_een,cclk=>cllk_hh,cllr=>>syss_rsst,ddoutt=>rreg_h); m:cntt_s porrt mmap(en=>syys_een,cclk=>cllk_mm,cllr=>>syss_rsst,ddoutt=>rreg_m,cc=>cc_m); s:cntt_s porrt mmap(en=>syys_een,cclk=>syys_cclk11,cllr=>>SCcc,doout=>reeg_ss,c=>c_s); -sleed:ssegmmainn poort mapp(cllk=>>clkk1,rreseet_nn=>SSCc,segg_daata=>seeg_ddataa,seeg_ccom=>seeg_ccom,dattainn=>ddoutt(155 doowntto 00); -rinng0:rinng pportt maap(een=>>en_r,cclk=>cllk_rringg,cllk5000=>>syss_cllk5000,cclk11k=>>syss_cllk1kk,beeep=>beeep); haaoinn1:hhaoiin pportt maap( SA,syss_cllk644,SAAc); haaoinn2:hhaoiin pportt maap( SB,syss_cllk644,SBBc); haaoinn3:hhaoiin pportt maap( SC,syss_cllk644,SCCc); haaoinn4:hhaoiin pportt maap( SD,syss_cllk644,SDDc); NLL:naaoliing porrt mmap(beeep=>>NL_rinng,hh=>rreg_h,mm=>rreg_m,cclk44hzhh=>ssys_clkk4_NNL_hh,cllk4hhzm=>syys_cclk44_NLL_m,syss_enn=>ssys_en,syss_rsst=>>syss_rsst,hh_o=>NLL_reeg_hh,m_o=>>NL_regg_m); beeep<<=cllk_rringg annd mmh; -ledd<=rreg_s(33 doowntto 00); p_syss_cllk:pproccesss(cllk1) vaariaablee t11,t44,t664,tt5000,t11k:iinteegerr raangee 0 to 5000000000; beeginn if clkk1 ''eveent andd cllk1='1'' thhen tt1:=t1+1; tt4:=t4+1; tt64:=t664+11; tt5000:=tt5000+1; tt1k:=t11k+11; iif tt1=cclkii/2 theen tt1:=0; ssys_clkk1<=nott syys_cclk11; eend if; iif tt4=cclkii/8 theen tt4:=0; ssys_clkk4<=nott syys_cclk44; eend if; iif tt64=clkki/1128 theen tt64:=0; ssys_clkk64<<=noot ssys_clkk64; eend if; iif tt5000=cllki/10000 tthenn tt5000:=00; ssys_clkk5000<=nnot syss_cllk5000; eend if; iif tt1k=clkki/220000 thhen tt1k:=0; ssys_clkk1k<<=noot ssys_clkk1k; eend if; eend if; ennd pproccesss p_syss_cllk; p_c:pproccesss(SAAc,SSBc,SCcc,SDDc) beeginn if SAcc='11' aand SDcc='00' tthenn clkk_h<<=syys_cclk44; elsse clkk_h<<=c_m; endd iff; if SAcc='11' aand SDcc='11' tthenn syss_cllk4_NL_h<=syss_cllk4; elsse syss_cllk4_NL_h<='0'' endd iff; if SBcc='11' aand SDcc='00'thhen clkk_m<<=syys_cclk44; elsse clkk_m<<=c_s; endd iff; if SBcc='11' aand SDcc='11'thhen syss_cllk4_NL_m<=syss_cllk4; elsse syss_cllk4_NL_m<='0'' endd iff; if SDcc='00' tthenn douut(77 doowntto 00)<=regg_s; douut(115 ddownnto 8)<<=reeg_mm; douut(223 ddownnto 16)<=rreg_h; elsse douut(77 doowntto 00)<="ZZZZZZZZZZZ" douut(115 ddownnto 8)<<=NLL_reeg_mm; douut(223 ddownnto 16)<=NNL_rreg_h; endd iff; ennd pproccesss p_c;P_riing:proocesss(rreg_m,rreg_s,ssys_clkk1k)variiablle cclk_rinng_tt:sttd_llogiic;variiablle tt:sttd_llogiic_vvecttor(3 ddownnto 0);begiin iff reeg_mm=X""59"" annd (regg_s=X"550" or regg_s=X"552" or regg_s=X"554" or regg_s=X"556" or regg_s=X"558") thhen cllk_rringg_t:=syys_cclk5500; ellsiff reeg_mm=X""00"" annd rreg_s=XX"000" tthenn cllk_rringg_t:=syys_cclk11k; ellse clkk_riing_t:='Z'' ennd iif; iff NLL_riing='1'' thhen clkk_riing_t:=syss_cllk1kk; ennd iif; iff syys_cclk11k ''eveent andd syys_cclk11k=''1' theen t:=t+1; ennd iif; iff t>>1 tthenn mhh<=''1' ennd iif; cclk_rinng<=clkk_riing_t;end proocesss pp_riing;end rtll;

    注意事项

    本文(EDA电子钟课程设计onw.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开