- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大连理工大学本科实验报告
题目:多功能数字时钟设计
课程名称: 数字电路课程设计
学院(系): 电子信息与电气工程学部
专 业: 电子信息工程(英强)
班 级: 电英0802
学生姓名: 刘丽娜
学 号: 200881537
完成日期: 2011-7-18
成 绩:
2011 年 7 月 18 日
题目:多功能数字时钟设计
1 设计要求
(1)具有时、分、秒计数显示功能,并以24小时循环计时,用00小时表示24小时;
(2)具有异步清零复位功能,高电平有效;
(3)具有调时、调分功能,高电平有效,且调时、调分时,秒暂停计数;
(4)具有整点报时功能,并发出四低一高的声音;
(5)具有闹钟功能,并且可以手动设置闹铃时间,可以设置报时的小时和分钟,且设置闹钟时,秒计数暂停,但是时钟模块仍在运行,当闹铃时间到时,发出30秒的报警声。
2 设计分析及系统方案设计
本设计根据日常生活习惯,设计了具有上述功能的时钟。采用多层次结构,分模块设计电路。使得电路可读性强,模块化,易于改进增加功能。
如上图所示,本电路基本由上述6个模块所示,其中输入控制端包括异步清零端:reset键,闹钟设置按键:alert键,调时按键:sethour,调分按键:setmin,输入信号有clk:1Hz时钟信号,clk256:256Hz时钟信号,clk1000:1024Hz时钟信号;小时模块、分钟模块、秒模块实现基本的计时功能,其中秒模块、分模块输出进位位,作为下一级分模块、小时模块的输入时钟信号;输出显示模块用来显示当前时间或已设定的闹铃时间;整点报时及闹铃模块用来控制蜂鸣器产生高低不同的声音。
3系统以及模块硬件电路设计
实验箱电路模式选择:
基于上述电路,共需要4个按键:reset,alert,setmin,sethour;6个数码管,分别显示小时,分钟,秒,为了显示方便,采用带有译码器的模式0,其硬件电路图如下图所示
表1 GW48-CK开发系统工作模式:
接口
名称 类型
(输入/输出) 结构图上
的信号名 引脚号 说明 Reset In Pio8 16 异步清零键,高电平有效 Setmin In Pio7 11 调分按键,高电平有效 Sethour In Pio6 10 调时按键,高电平有效 Alert In Pio5 9 闹铃设置按键 Clk In Clk1 42 1Hz输入时钟信号 Clk256 In Clk0 2 256Hz输入时钟信号 Clk1000 In Clk5 83 1024Hz输入时钟信号 Speaker Out Spker 3 蜂鸣器驱动信号 H1[3..0] Out PIO[47..44] 79
78
73
72 小时的十位BCD码 H0[3..0] Out PIO[43..40] 71
70
67
66 小时的个位BCD码 M1[3..0] Out PIO[39..36] 65
64
62
61 分钟十位的BCD码 M0[3..0] Out PIO[35..32] 60
59
58
54 分钟个位的BCD码 S1[3..0] Out PIO[31..28] 53
52
51
50 秒的个位BCD码 S0[3..0] out PIO[27..24] 49
48
47
39 秒的十位BCD码
4 系统的VHDL设计
秒模块设计
a.电路设计
秒计数模块,其中CLK信号为输入1Hz的秒信号,reset键为异步清零键,高电平有效,pause键为暂停键,高电平有效;FLAG_SECOND是秒计数模块的进位位,当计数到59时,FLAG_SECOND置1,作为分的时钟信号,x,y分别是秒的十位与个位的BCD码。
b.秒模块程序
--作者:LLN
--共34行
--秒模块程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
---------------------------------------------------
entity second is
port( clk:in std_logic;
reset:in std_logic;
pause:in std_logic;
flag_second:ou
文档评论(0)