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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

大连理工大学数字电路课程设计报告多功能数字时钟设计说明.docx

1、大连理工大学数字电路课程设计报告多功能数字时钟设计说明大连理工大学本科实验报告题目:多功能数字时钟设计 课程名称: 数字电路与系统课程设计 学院(系): 信息与通信工程学院 专 业: 电子信息工程 班 级: 学生姓名: 学 号: 完成日期: 2014年7月16日 2014 年 7 月 16 日题目:多功能数字时钟设计1 设计要求1) 具有“时”、“分”、“秒”及“模式”的十进制数字显示功能;2) 具有手动校时、校分功能,并能快速调节、一键复位(复位时间12时00分00秒);3) 具有整点报时功能,从00分00秒起,亮灯十秒钟;4) 具有秒表功能(精确至百分之一秒),具有开关键,可暂停、可一键清

2、零;5) 具有闹钟功能,手动设置时间,并可快速调节,具有开关键,可一键复位(复位时间12时00分00秒),闹钟时间到亮灯十秒钟进行提醒;6) 具有倒计时功能(精确至百分之一秒),可手动设置倒计时时间,若无输入,系统默认60秒倒计时,且具有开关键,计时时间到亮灯十秒钟进行提醒,可一键复位(复位时间默认60秒)。2 设计分析及系统方案设计2.1 模式选择模块:按键一进行模式选择,并利用数码管显示出当前模式。模式一:时钟显示功能;模式二:时钟调节功能;模式三:闹钟功能;模式四:秒表功能;模式五:倒计时功能。2.2 数字钟的基本功能部分:包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振

3、荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。具有复位按键1,在时钟模式下按下复位键后对时钟进行复位,复位时间12时00分00秒。进入手动调时功能时,通过按键调节时间,每按下依次按键2,时钟时针加一,按下按键2一秒内未松手,时钟时针每秒钟加十;按键1对分针进行控制,原理与时针相同并通过译码器由七位数码管显示。从00分00秒开始,数字钟进入整点报时功能(本设计中以一个LED灯代替蜂鸣器,进行报时),亮灯10秒钟进行提示。2.3

4、多功能数字钟的秒表功能部分:计时范围从00分00.00秒至59分59.99秒。可由复位键0异步清零,并由开关1控制计时开始与停止。将DE2硬件中的50MHZ晶振经过分频获得周期为0.01秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示2.4 多功能数字钟的闹钟功能部分:进入闹钟功能模式后,通过按键2(设定小时)和按键1(设定分钟)设定闹钟时间,当按下按键一秒内未松手时,可进行快速设定时间。当时钟进入闹钟设定的时间(判断时钟的时信号时针,分针分别与闹钟设定的时信号时针、分针是否相等),则以LED灯连续亮10秒钟进行提示,并由开关0控制闹钟的开和关。2.5 多功能数字

5、钟的倒计时功能部分:可通过按键3(设定分针)和按键2(设定秒针)设定倒计时开始,当按下按键一秒内未松手时,可进行快速设定时间。当没有手动时间设定时,系统默认为60秒倒计时。倒计时的时钟与数字钟的时钟相同,每迎到一个1s时钟上升沿,则计数器减一。计数器减至00时,分钟位、秒钟位保持为00。倒计时结束时(即00分00秒),倒计时信号灯亮10秒钟进行提示,并由开关2控制倒计时的开始于停止。本设计通过数据选择器控制译码器,使数码管独立显示,各功能之间互不影响。当mode=“000”时,时钟功能,则对时钟信号进行译码,数码管显示时钟数据;当mode=“001”时,时间校准功能,则对时钟信号进行译码,数码

6、管显示闹钟数据;当mode=“010”时,闹钟功能,则对闹钟信号进行译码,数码管显示闹钟信号数据;当mode=“011”时,秒表功能,则对秒表信号进行译码,数码管显示秒表信号数据。当mode=“100”时,则倒计时功能,对倒计时钟信号进行译码,数码管显示倒计时信号数据。系统总体结构框图如下所示: 3系统以及模块硬件电路设计3.1分频电路参数计算:3.2系统硬件电路设计系统硬件模拟图:Sw1 Sw0Sw0KEY3KEY2KEY0KEY13.3系统与引脚分配接口名称类型(输入/输出)引脚号说明clkINPIN_N2晶振50MHz时钟输入selectmodeINPIN_W26模式选择按键rstINP

7、IN_G26复位按键addINPIN_P23高位设置键decINPIN_N23地位设置键startnzINPIN_N25闹钟开关startmbINPIN_N26秒表开关startdjsINPIN_P25倒计时开关lednzOUTPIN_AE23闹钟提示灯leddjsOUTPIN_AE22倒计时提示灯ledbsOUTPIN_Y18整点报时提示灯qss6OUTPIN_N9时针高位数码管显示qss5OUTPIN_P9qss4OUTPIN_L7qss3OUTPIN_L6qss2OUTPIN_L9qss1OUTPIN_L2qss0OUTPIN_L3qsg6OUTPIN_M4时针低位数码管显示qsg5OU

8、TPIN_M5qsg4OUTPIN_M3qsg3OUTPIN_M2qsg2OUTPIN_P3qsg1OUTPIN_P4qsg0OUTPIN_R2qms6OUTPIN_W24秒针高位数码管显示qms5OUTPIN_U22qms4OUTPIN_Y25qms3OUTPIN_Y26qms2OUTPIN_AA26qms1OUTPIN_AA25qms0OUTPIN_Y23qmg6OUTPIN_Y24秒针低位数码管显示qmg5OUTPIN_AB25qmg4OUTPIN_AB26qmg3OUTPIN_AC26qmg2OUTPIN_AC25qmg1OUTPIN_V22qmg0OUTPIN_AB23qgs6OUT

9、PIN_AB24模式显示高位(默认全灭)qgs5OUTPIN_AA23qgs4OUTPIN_AA24qgs3OUTPIN_Y22qgs2OUTPIN_W21qgs1OUTPIN_V21qgs0OUTPIN_V20模式显示低位qgg6OUTPIN_V13qgg5OUTPIN_V14qgg4OUTPIN_AE11qgg3OUTPIN_AD11qgg2OUTPIN_AC12qgg1OUTPIN_AB12qgg0OUTPIN_AF10qfs6OUTPIN_R3分针高位数码管显示qfs5OUTPIN_R4qfs4OUTPIN_R5qfs3OUTPIN_T9qfs2OUTPIN_P7qfs1OUTPIN_

10、P6qfs0OUTPIN_T2qfg6OUTPIN_T3分针低位数码管显示qfg5OUTPIN_R6qfg4OUTPIN_R7qfg3OUTPIN_T4qfg2OUTPIN_U2qfg1OUTPIN_U1qfg0OUTPIN_U94 系统的VHDL设计4.1顶层设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity liyabin is -实体声明,及系统输入与输出port(clk,rst,add,dec,selectmode,startmb,startnz,startdjs:in st

11、d_logic; qgs,qgg,qss,qsg,qfs,qfg,qms,qmg:buffer std_logic_vector(6 downto 0); ledbs,lednz,leddjs:out std_logic);end;architecture data of liyabin iscomponent mode -模式循环模块元件例化port(selectmode:in std_logic;mode:buffer std_logic_vector(2 downto 0);end component;component gnxz -功能选择模块元件例化 port(zt:in std_l

12、ogic_vector(2 downto 0); sz1,sz2,sz3,sz4,sz5,sz6:in std_logic_vector(3 downto 0);-时钟显示信号 mb1,mb2,mb3,mb4,mb5,mb6:in std_logic_vector(3 downto 0);-秒表显示信号 nz3,nz4,nz5,nz6:in std_logic_vector(3 downto 0);-闹钟显示信号 djs1,djs2,djs3,djs4,djs5,djs6:in std_logic_vector(3 downto 0);-倒计时显示信号 s1,s2,s3,s4,s5,s6,s7

13、,s8:out std_logic_vector(3 downto 0)-输出,送入显示模块用数码管进行显示);end component;component fp -分频模块元件例化port(clk,rst:in std_logic; clk10ms,clk100ms,clk1s:out std_logic); end component;component sz -时钟模块元件例化port(zt:in std_logic_vector(2 downto 0); clk,clk100ms,rst,add,dec:in std_logic; sz1,sz2,sz3,sz4,sz5,sz6:bu

14、ffer std_logic_vector(3 downto 0); ledbs: out std_logic);end component;component nz -闹钟模块元件例化port(startnz,add,dec,rst,clk,clk100ms:in std_logic; zt:in std_logic_vector(2 downto 0); sz2,sz3,sz4,sz5,sz6:in std_logic_vector(3 downto 0);-时钟显示信号 nz3,nz4,nz5,nz6:buffer std_logic_vector(3 downto 0);-闹钟显示信号

15、 lednz:out std_logic -闹钟提示灯输出);end component;component mb -秒表模块元件例化port(zt:in std_logic_vector(2 downto 0); clk,rst,startmb:in std_logic; mb1,mb2,mb3,mb4,mb5,mb6:buffer std_logic_vector(3 downto 0);end component;component djs -倒计时模块元件例化port(rst,startdjs,add,dec,clk,clk100ms:in std_logic; zt:in std_l

16、ogic_vector(2 downto 0); djs1,djs2,djs3,djs4,djs5,djs6:buffer std_logic_vector(3 downto 0); leddjs:out std_logic);end component;component xs -显示模块元件例化port(xsin:in std_logic_vector(3 downto 0);- xsout:out std_logic_vector(6 downto 0);end component;signal clk10ms,clk100ms,clk1s,clk1m,clk1h :std_logic;

17、 -分频脉冲信号级进位脉冲信号signal sz1,sz2,sz3,sz4,sz5,sz6,sz33,sz55:std_logic_vector(3 downto 0);-时钟显示信号signal nz3,nz4,nz5,nz6:std_logic_vector(3 downto 0);-闹钟显示信号signal mb1,mb2,mb3,mb4,mb5,mb6:std_logic_vector(3 downto 0);-秒表显示信号signal djs1,djs2,djs3,djs4,djs5,djs6:std_logic_vector(3 downto 0);-倒计时显示信号signal s

18、1,s2,s3,s4,s5,s6,s7,s8:std_logic_vector(3 downto 0);-显示信号signal zt:std_logic_vector(2 downto 0);begin -结构体-模式循环模块-u1:mode port map(selectmode,zt);-功能选择模块-u2:gnxz port map(zt,sz1,sz2,sz3,sz4,sz5,sz6, mb1,mb2,mb3,mb4,mb5,mb6, nz3,nz4,nz5,nz6, djs1,djs2,djs3,djs4, s1,s2,s3,s4,s5,s6,s7,s8);-分频模块-u3:fp p

19、ort map(clk,rst,clk10ms,clk100ms,clk1s);-时钟模块-u4:sz port map(zt,clk1s,clk100ms,rst,add,dec,sz1,sz2,sz3,sz4,sz5,sz6,ledbs);-闹钟模块-u5:nz port map(startnz,add,dec,rst,clk1s,clk100ms,zt,sz2,sz3,sz4,sz5,sz6,nz3,nz4,nz5,nz6,lednz);-秒表模块-u6:mb port map(zt,clk10ms,rst,startmb,mb1,mb2,mb3,mb4,mb5,mb6);-倒计时模块-

20、u7:djs port map(rst,startdjs,add,dec,clk10ms,clk100ms,zt,djs1,djs2,djs3,djs4,djs5,djs6,leddjs);-显示模块-show1: xs port map(s1,qmg);show2: xs port map(s2,qms);show3: xs port map(s3,qfg);show4: xs port map(s4,qfs);show5: xs port map(s5,qsg);show6: xs port map(s6,qss);show7: xs port map(s7,qgg);show8: xs

21、port map(s8,qgs);end; -结束4.2 分频模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fp isport(clk,rst:in std_logic; clk10ms,clk100ms,clk1s:out std_logic); end;architecture data of fp isbegin-50兆分频,产生clk1s,作为始时钟的秒计时脉冲 process(clk,rst) variable num:integer range 0 to 49999

22、999; begin if rst=0 then num:=0; elsif rising_edge(clk) then if num=49999999 then num:=0; clk1s=1; else num:=num+1; clk1s=0; end if; end if; end process; -5兆分频,产生clk100ms(即clk0.1s),作为快速调整时间的脉冲信号process(clk,rst)variable num:integer range 0 to 4999999; begin if rst=0 then num:=0; elsif rising_edge(clk

23、) then if num=4999999 then num:=0; clk100ms=1; else num:=num+1; clk100ms=0; end if; end if; end process;-5兆分频,产生clk10ms(即clk0.01s)作为秒表计时脉冲process(clk,rst)variable num:integer range 0 to 499999; begin if rst=0 then num:=0; elsif rising_edge(clk) then if num=499999 then num:=0; clk10ms=1; else num:=nu

24、m+1; clk10ms=0; end if; end if; end process;end;4.3模式循环模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mode is -实体声明port(selectmode:in std_logic;mode:buffer std_logic_vector(2 downto 0);end;architecture data of mode isbeginprocess(selectmode)beginif rising_edge(sele

25、ctmode) then -模式循环计数器 if mode=100 then mode=000; else mode=mode+1; end if;end if;end process;end;4.4功能选择模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity gnxz is -实体声明port(zt:in std_logic_vector(2 downto 0); sz1,sz2,sz3,sz4,sz5,sz6:in std_logic_vector(3 downto 0);-时钟显

26、示信号 mb1,mb2,mb3,mb4,mb5,mb6:in std_logic_vector(3 downto 0);-秒表显示信号 nz1,nz2,nz3,nz4,nz5,nz6:in std_logic_vector(3 downto 0);-闹钟显示信号 djs1,djs2,djs3,djs4,djs5,djs6:in std_logic_vector(3 downto 0);-倒计时显示信号 s1,s2,s3,s4,s5,s6,s7,s8:out std_logic_vector(3 downto 0)-输出,送入显示模块用数码管进行显示);end;architecture data

27、 of gnxz isbeginprocess(zt,sz1,sz2,sz3,sz4,sz5,sz6, -选择译码器数日信号 nz3,nz4,nz5,nz6, mb1,mb2,mb3,mb4,mb5,mb6, djs1,djs2,djs3,djs4,djs5,djs6)begin if zt=000 then-1时钟显示 s1=sz1;s2=sz2;s3=sz3;s4=sz4;s5=sz5;s6=sz6;s7=0001;s8=1111; elsif zt=001 then-2调整 s1=sz1;s2=sz2;s3=sz3;s4=sz4;s5=sz5;s6=sz6;s7=0010;s8=1111; elsif zt=010 then-3闹钟 s1=0000;s2=0000

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2