ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:120.54KB ,
资源ID:4558412      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4558412.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA电子钟课程设计说明.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA电子钟课程设计说明.docx

1、EDA电子钟课程设计说明 多功能数字钟设计说明:1系统顶层框图: 各模块电路功能如下:1.秒计数器、分计数器、时计数器组成最基本的数字钟,其计数输出送7段译码电路由数码管显示。2.基准频率分频器可分频出标准的1HZ频率信号,用于秒计数的时钟信号;分频出4HZ频率信号,用于校时、校分的快速递增信号;分频出64HZ频率信号,用于对按动“校时”,“校分”按键的消除抖动。2.多功能数字钟结构框图:一、系统功能概述已完成功能1. 完成时分秒的依次显示并正确计数,利用六位数码管显示;2. 时分秒各段个位满10正确进位,秒分能做到满60向前进位,有系统时间清零功能;3. 定时器:实现整点报时,通过扬声器发出

2、高低报时声音;4. 时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分时钟进行调整;5. 闹钟:实现分/时闹钟设置,在时钟到达设定时间时通过扬声器响铃。有静音模式。 待改进功能:1. 系统没有万年历功能,正在思考设计方法。2. 应添加秒表功能。二、系统组成以及系统各部分的设计1.时计数模块时计数模块就是一个2位10进制计数器,记数到23清零。VHDL的RTL描述如下:-cnt_h.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entityt_h is port(en,clk,c

3、lr:in std_logic; dout:out std_logic_vector(7 downto 0); c:out std_logic);endt_h;architecture rtl oft_h issignal t:std_logic_vector(7 downto 0);begin process(en,clk,clr) variable t:std_logic_vector(7 downto 0); begin if en=1 then -异步使能 if clk event and clk=1 then t:=t+1; if t(3 downto 0)=XA then -个位等

4、于10则十位加1 t(7 downto 4):=t(7 downto 4)+1; t(3 downto 0):=X0; -个位清零 end if; if tX23 then -大于23清零 t:=X00; end if; end if; if clr=1 then -异步清零 t:=X00; end if; end if; dout=t; end process;end rtl;时计数器模块仿真波形如下从仿真波形可知,当计数到23时,下一个时钟上升沿到来时就清零了,符合设计要求。时计数模块框图如下2.分及秒计数模块分及秒计数模块也是一个2位10进制计数器,记数到59清零。VHDL的RTL描述如

5、下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entityt_s is port(en,clk,clr:in std_logic; dout:buffer std_logic_vector(7 downto 0); c:out std_logic);endt_s;architecture rtl oft_s isbegin process(en,clk,clr) begin if en=1 then if clr=1 then -异步清零 dout=X00; elsif clk event

6、and clk=1 then if dout(3 downto 0)9 then dout(3 downto 0)=dout(3 downto 0)+1; c=0; elsif dout(7 downto 4)5 then dout(3 downto 0)=X0; dout(7 downto 4)=dout(7 downto 4)+1; else dout=X00; c=1; end if; end if; else dout10 then dout=1;t:=t-1; else dout=0; end if; end if; else dout=0;t:=0; end if; end pro

7、cess;end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ring is port( clk: in std_logic; clk500: in std_logic; clk1k:in std_logic; beep:out std_logic);end ring;architecture rtl of ring isbegin process(clk) variable t: std_logic; variable n: integer range 0 to 15:

8、=0; begin if clk event and clk=1 then t:=not t;n:=n+1; end if; if t=1 and n11 then beep=clk500; elsif n=11 then beep=clk1k; else beepsys_en,clk=clk_h,clr=sys_rst,dout=reg_h); m:cnt_s port map(en=sys_en,clk=clk_m,clr=sys_rst,dout=reg_m,c=c_m); s:cnt_s port map(en=sys_en,clk=sys_clk1,clr=SCc,dout=reg_

9、s,c=c_s); -sled:segmain port map(clk=clk1,reset_n=SCc,seg_data=seg_data,seg_=seg_,datain=dout(15 downto 0); -ring0:ring port map(en=en_r,clk=clk_ring,clk500=sys_clk500,clk1k=sys_clk1k,beep=beep); haoin1:haoin port map( SA,sys_clk64,SAc); haoin2:haoin port map( SB,sys_clk64,SBc); haoin3:haoin port ma

10、p( SC,sys_clk64,SCc); haoin4:haoin port map( SD,sys_clk64,SDc); NL:naoling port map(beep=NL_ring,h=reg_h,m=reg_m,clk4hzh=sys_clk4_NL_h,clk4hzm=sys_clk4_NL_m,sys_en=sys_en,sys_rst=sys_rst,h_o=NL_reg_h,m_o=NL_reg_m); beep=clk_ring and mh; -led=reg_s(3 downto 0); p_sys_clk:process(clk1) variable t1,t4,

11、t64,t500,t1k:integer range 0 to 50000000; begin if clk1 event and clk1=1 then t1:=t1+1; t4:=t4+1; t64:=t64+1; t500:=t500+1; t1k:=t1k+1; if t1=clki/2 then t1:=0; sys_clk1=not sys_clk1; end if; if t4=clki/8 then t4:=0; sys_clk4=not sys_clk4; end if; if t64=clki/128 then t64:=0; sys_clk64=not sys_clk64

12、; end if; if t500=clki/1000 then t500:=0; sys_clk500=not sys_clk500; end if; if t1k=clki/2000 then t1k:=0; sys_clk1k=not sys_clk1k; end if; end if; end process p_sys_clk; p_c:process(SAc,SBc,SCc,SDc) begin if SAc=1 and SDc=0 then clk_h=sys_clk4; else clk_h=c_m; end if; if SAc=1 and SDc=1 then sys_cl

13、k4_NL_h=sys_clk4; else sys_clk4_NL_h=0; end if; if SBc=1 and SDc=0then clk_m=sys_clk4; else clk_m=c_s; end if; if SBc=1 and SDc=1then sys_clk4_NL_m=sys_clk4; else sys_clk4_NL_m=0; end if; if SDc=0 then dout(7 downto 0)=reg_s; dout(15 downto 8)=reg_m; dout(23 downto 16)=reg_h; else dout(7 downto 0)=ZZZZZZZZ; dout(15 downto 8)=NL_reg_m; dout(23 downto 16)1 then mh=1; end if; clk_ring=clk_ring_t;end process p_ring;end rtl;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1