云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于VHDL的数字闹钟设计 - 图文

基于VHDL的数字闹钟设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 15:24:35

第三章 数字闹钟整体方案设计

第三章 数字闹钟整体方案设计

3.1 数字闹钟整体设计

1)各个输入输出端口

1、CLK为外部时钟信号,RESET为复位信号。

2、KEYPAD 若其中某一位为高电平,则表示用户按下了相应的数字键

3、当KEYDOWN为高电平,表示用户按下某一数字键。 4、当ALAR-BUTTON为高电平时,表示用户按下ALARM键。 5、当TIME-BUTTON为高电平时表示用户按下TIME键 6、DISPLAY实际上表示了4个7段数码管,用于显示时间。 7、SOUND-ALARM用于控制扬声器发声,当SOUND-ALARM=’1’时,扬声器发出蜂鸣,表示到了设定时间。

2)各部分的组成

根据系统的设计要求,整个系统分为7个模块:闹钟控制器,译码器,键盘缓冲器,闹钟寄存器,时间计数器,显示驱动器,分频器。

3.1.1数字闹钟各部分作用

1、 闹钟控制器:整个系统正常有序工作的核心,按设计要求产生相应的控制逻辑以控制其他部分工作。

2、 译码器:可将KEYPAD信号转换为0~9的整形数,以直观地表示和处理用户输入的数字。

3、 键盘缓冲器:是一个移位寄存器,暂存用户键入的数字,并且实现用户键入数字在显示器上从左到右依次显示。

4、 分频器:将较高的外部时钟频率分成每分钟一次的时钟频率,以便进行时钟计数。

5、 时间计数器:实际上是一个异步复位、异步置数的累加器,通常情况下进行时钟累加计数,必要时可置入新的时钟值,然后从该值开始新的计数。

6、 闹钟寄存器:用于保存用户设置的闹钟时间,是一个异步复位寄存器。 7、 显示驱动器:根据需要显示当前时间、用户设置的闹钟时间或用户通过键盘输入新的时间,同时判断当前时间是否已到了闹钟时间,实际上是一个多路选择器加比较器。

3.2 数字钟的工作原理

数字闹钟电路的基本结构由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉

5

选题背景

冲,则计数器清零,重新开始计时。秒计数器的计数时钟CLK为1Hz的标准信号。当数字闹钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过4个数码管来动态显示。数字闹钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号KEY1、KEY2控制数字钟的工作状态,即控制数字钟,使其分别工作于正常计时,调整分、时和设定闹钟分、时5个状态。当数字闹钟处于计时状态时,3个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位, 分的进位;当数字闹钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于闹钟定时状态时,可以设定小时和分;当计时到所设定的时刻时,speak将会被赋予梁祝音乐信号用于驱动扬声器,持续1分钟。

6

第四章 模块电路设计

第四章 模块电路设计

4.1模块电路图设计

图4.1-1 模块电路图

4.2各模块电路设计

1) 时钟控制模块: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity shizhong is

port( clk: in std_logic; md1:in std_logic;

md2:in std_logic_vector(1 downto 0); clken:out std_logic;

h1,h2,m1,m2,s1,s2:out std_logic_vector(3 downto 0)); end shizhong;

architecture one of shizhong is

signal hou1:std_logic_vector(3 downto 0); signal hou2:std_logic_vector(3 downto 0); signal min1:std_logic_vector(3 downto 0); signal min2:std_logic_vector(3 downto 0); signal seth1:std_logic_vector(3 downto 0); signal seth2:std_logic_vector(3 downto 0); signal setm1:std_logic_vector(3 downto 0); signal setm2:std_logic_vector(3 downto 0); signal sec1:std_logic_vector(3 downto 0); signal sec2:std_logic_vector(3 downto 0);

7

选题背景

begin

-----------------------------------------------小时十位

h110:process(clk,hou2,min1,min2,sec1,sec2,md1,md2) begin

if clk'event and clk='1' then

if (hou1=\ and (sec1=\ then hou1<=\

elsif hou1=\

and md2=\当时间为23点且处于校时状态时 hou1<=\

elsif (hou2=\

and (sec1=\ then

hou1<=hou1+1; end if; end if;

end process h110;

-----------------------------------------------小时个位

h220:process(clk,min1,min2,sec1,sec2,md1,md2,hou1) begin

if clk'event and clk='1' then

if (hou1=\ and (sec1=\hou2<=\

elsif hou2=\ and (sec1=\ then hou2<=\

elsif (hou2=\or (hou1=\hou2<=\

elsif ((min1=\or (md1='0' and md2=\hou2<=hou2+1;--speak<=clk;-- end if; end if;

end process h220;

-----------------------------------------------分钟十位 m110:process(clk,min2,sec1,sec2,md1,md2) begin

if clk'event and clk='1' then

if (min1=\ min1<=\

elsif min1=\min1<=\

elsif (min2=\ or (min2=\min1<=min1+1; end if;

end if;--end if;

8

搜索更多关于: 基于VHDL的数字闹钟设计 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第三章 数字闹钟整体方案设计 第三章 数字闹钟整体方案设计 3.1 数字闹钟整体设计 1)各个输入输出端口 1、CLK为外部时钟信号,RESET为复位信号。 2、KEYPAD 若其中某一位为高电平,则表示用户按下了相应的数字键 3、当KEYDOWN为高电平,表示用户按下某一数字键。 4、当ALAR-BUTTON为高电平时,表示用户按下ALARM键。 5、当TIME-BUTTON为高电平时表示用户按下TIME键 6、DISPLAY实际上表示了4个7段数码管,用于显示时间。 7、SOUND-ALARM用于控制扬声器发声,当SOUND-ALARM=’1’时

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com