数字逻辑EDA电子钟课程设计方案_第1页
数字逻辑EDA电子钟课程设计方案_第2页
数字逻辑EDA电子钟课程设计方案_第3页
数字逻辑EDA电子钟课程设计方案_第4页
数字逻辑EDA电子钟课程设计方案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、 多功能数字钟设计说明:1系统顶层框图:各模块电路功能如下:1.秒计数器、分计数器、时计数器组成最基本地数字钟,其计数输出送7段译码电路由数码管显示.2.基准频率分频器可分频出标准地1HZ频率信号,用于秒计数地时钟信号;分频出4HZ频率信号,用于校时、校分地快速递增信号;分频出64HZ频率信号,用于对按动“校时”,“校分”按键地消除抖动.b5E2RGbCAP2.多功能数字钟结构框图:一、系统功能概述已完成功能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;entity cnt_h is port(en,clk,cl

3、r:in std_logic; dout:out std_logic_vector(7 downto 0); c:out std_logic);end cnt_h;architecture rtl of cnt_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地

5、RTL描述如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt_s is port(en,clk,clr:in std_logic; dout:buffer std_logic_vector(7 downto 0); c:out std_logic);end cnt_s;architecture rtl of cnt_s isbegin process(en,clk,clr) begin if en=1 then if clr=1 then -异步清零 dout=X00; e

6、lsif clk event 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;

7、end if; end process;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

8、 range 0 to 15:=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);xHAQX74J0X m:cnt_s port map(en=sys_en,clk=clk_m,clr=sys_rst,dout=reg_m,c=c_m);LDAYtRyKfE s:cnt_s port map(en=sy

9、s_en,clk=sys_clk1,clr=SCc,dout=reg_s,c=c_s);Zzz6ZB2Ltk -sled:segmain port map(clk=clk1,reset_n=SCc,seg_data=seg_data,seg_com=seg_com,datain=dout(15 downto 0);dvzfvkwMI1 -ring0:ring port map(en=en_r,clk=clk_ring,clk500=sys_clk500,clk1k=sys_clk1k,beep=beep); rqyn14ZNXI haoin1:haoin port map( SA,sys_cl

10、k64,SAc); haoin2:haoin port map( SB,sys_clk64,SBc); haoin3:haoin port map( 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);EmxvxOtOco bee

11、p=clk_ring and mh; -led=reg_s(3 downto 0); p_sys_clk:process(clk1) variable t1,t4,t64,t500,t1k:integer range 0 to ;SixE2yXPq5 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;

12、 sys_clk4=not sys_clk4; end if; if t64=clki/128 then t64:=0; sys_clk64=not sys_clk64; 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 a

13、nd SDc=0 then clk_h=sys_clk4; else clk_h=c_m; end if; if SAc=1 and SDc=1 then sys_clk4_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

14、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;版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pict

15、ures, and design. Copyright is personal ownership.kavU42VRUs用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.y6v3ALoS89Users may use the contents or services of this article for personal study, research or appreciation, an

16、d other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.M2ub6vSTnP转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.0YujCfmUCwReproduction or quotation of the content of

温馨提示

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

评论

0/150

提交评论