- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA实习数字钟
EDA 实习
(数字钟控制器的设计)
封皮
数字钟控制器
设计任务与要求
试设计一个显示时(2位)、分(2位)、秒(2位)的多功能电子钟。具体要求如下:
(1).具有时、分、秒计数显示功能,以24小时循环计时;
(2)LED动态显示时、分、秒和分隔符;
(3)具有清零、调节小时、分钟、整点报时、整天报时功能。
二.电路连接图及工作原理描述
图1-1 电路硬件连接系统框图
工作原理描述:
根据设计要求,采用如图1-1所示的硬件连接电路,该系统共有5个输入:clk基准脉冲(1Hz)、ckdsp显示扫描脉冲(1kHz)、res清零、hrtmp调时、mintmp调分,13个输出:q0~q7是八段的显示、sel0~sel2是位选信号、ring整点蜂鸣器输出、ca是整天报时输出。
三.VHDL程
1.顶层模块划分
如图1-2所示为EPM7128SLC84-6芯片内的系统方块图. 该系统框图由八个模块组成,分别为:秒、分、时计数模块,分隔符显示模块,整点、整天报时模块,LED动态显示扫描模块,LED显示译码器模块组成。其工作原理是:基准脉冲输入信号同时加到秒、分、时、分隔符的脉冲输入端,采用并行计数的方式,秒的进位接到分的使能端上,秒的使能借到分隔符的使能上,分得接到时的使能端上,完成秒、分、时和分隔符的循环计数。整点报时是根据分的A、B输出同时为0时,整点报时模块输出高电平控制报时。整天报时是根据时、分得输出都为0时而输出高电平控制整天报时的。LED显示扫描模块根据输入的扫描信号CKDSP轮流选通秒、分、时、分隔符的8位八段数码管,LED显示译码器完成计数器输出的BCD的译码。
图1-2 数字时钟控制器系统框图
2.分模块及仿真
(1).秒计数器模块
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY seccount IS
PORT (en,res,clk:IN STD_LOGIC;
ca:OUT STD_LOGIC;
a,b:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END seccount;
ARCHITECTURE rtl OF seccount IS
SIGNAL aout,bout: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL cout:STd_logic;
BEGIN
PROCESS (en,clk,res)
BEGIN
IF (res=0)THEN
aout=0000;
bout=0000;
cout=0;
ELSIF (clkevent AND clk=1)THEN
IF en=1THEN
IF bout=0101AND aout=1000then
aout=1001;
cout=1;
ELSIF aout1001THEN
aout=aout+1;
ELSE
aout=0000;
IF bout0101THEN
bout=bout+1;
ELSE
bout=0000;
cout=0;
END IF;
END IF;
END IF;
END IF;
END PROCESS;
a=aout;
b=bout;
ca=cout;
END rtl;
图1-3 秒计数器模块仿真波形
(2).分计数器模块
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY mincount IS
PORT (en1,en2,res,clk:IN STD_LOGIC;
ca:OUT STD_LOGIC;
a,b:OUT STD_LOGI
文档评论(0)