大连理工大学数字电路课程设计报告:多功能数字时钟设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学本科实验报告题目:多功能数字时钟设计
课程名称:数字电路与系统课程设计
学院(系):信息与通信工程学院
专业:电子信息工程
班级:
学生姓名:
学号:
完成日期:2014年7月16日
2014 年7 月16 日
题目:多功能数字时钟设计
1 设计要求
1) 具有“时”、“分”、“秒”及“模式”的十进制数字显示功能;
2) 具有手动校时、校分功能,并能快速调节、一键复位(复位时间12时00分00秒);
3) 具有整点报时功能,从00分00秒起,亮灯十秒钟;
4) 具有秒表功能(精确至百分之一秒),具有开关键,可暂停、可一键清零;
5) 具有闹钟功能,手动设置时间,并可快速调节,具有开关键,可一键复位(复位时间12时00分00秒),闹钟时间到亮灯十秒钟进行提醒;
6) 具有倒计时功能(精确至百分之一秒),可手动设置倒计时时间,若无输入,系统默认60秒倒计时,且具有开关键,计时时间到亮灯十秒钟进行提醒,可一键复位(复位时间默认60秒)。
2 设计分析及系统方案设计
2.1 模式选择模块:按键一进行模式选择,并利用数码管显示出当前模式。模式一:时钟显示功能;模式二:时钟调节功能;模式三:闹钟功能;模式四:秒表功能;模式五:倒计时功能。
2.2 数字钟的基本功能部分:包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。
具有复位按键1,在时钟模式下按下复位键后对时钟进行复位,复位时间12时00分00秒。
进入手动调时功能时,通过按键调节时间,每按下依次按键2,时钟时针加一,按下按键2一秒内未松手,时钟时针每秒钟加十;按键1对分针进行控制,原理与时针相同并通过译码器由七位数码管显示。
从00分00秒开始,数字钟进入整点报时功能(本设计中以一个LED灯代替蜂鸣器,进行报时),亮灯10秒钟进行提示。
2.3多功能数字钟的秒表功能部分:计时范围从00分00.00秒至59分59.99秒。可由复位键0异步清零,并由开关1控制计时开始与停止。
将DE2硬件中的50MHZ晶振经过分频获得周期为0.01秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示
2.4多功能数字钟的闹钟功能部分:进入闹钟功能模式后,通过按键2(设定小时)和按键1(设定分钟)设定闹钟时间,当按下按键一秒内未松手时,可进行快速设定时间。当时钟进入闹钟设定的时间(判断时钟的时信号时针,分针分别与闹钟设定的时信号时针、分针是否相等),则以LED灯连续亮10秒钟进行提示,并由开关0控制闹钟的开和关。
2.5 多功能数字钟的倒计时功能部分:可通过按键3(设定分针)和按键2(设定秒针)设定倒计时开始,当按下按键一秒内未松手时,可进行快速设定时间。当没有手动时间设定时,系统默认为60秒倒计时。倒计时的时钟与数字钟的时钟相同,每迎到一个1s时钟上升
沿,则计数器减一。计数器减至00时,分钟位、秒钟位保持为00。倒计时结束时(即00分00秒),倒计时信号灯亮10秒钟进行提示,并由开关2控制倒计时的开始于停止。
本设计通过数据选择器控制译码器,使数码管独立显示,各功能之间互不影响。 当mode=“000”时,时钟功能,则对时钟信号进行译码,数码管显示时钟数据; 当mode=“001”时,时间校准功能,则对时钟信号进行译码,数码管显示闹钟数据; 当mode=“010”时,闹钟功能,则对闹钟信号进行译码,数码管显示闹钟信号数据; 当mode=“011”时,秒表功能,则对秒表信号进行译码,数码管显示秒表信号数据。 当mode=“100”时,则倒计时功能,对倒计时钟信号进行译码,数码管显示倒计时信号数据。
系统总体结构框图如下所示:
3系统以及模块硬件电路设计
3.1分频电路参数计算:
6
6
61
5010001000150101
5010001000.150101
501000100.015010T s
T s
T s
=
⨯⨯⨯=⨯=⨯⨯⨯=⨯=⨯⨯⨯=⨯
3.2系统硬件电路设计系统硬件模拟图:
50MHZ KEY[0] KEY[1] KEY[2] KEY[3] Sw[0] Sw[1] LED[djs] LED[nz]
分
别
与
数
码
管
相
连
Sw[2]
LED[bs]
4 系统的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 std_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 is
component mode --模式循环模块元件例化