2022年VHDL数字时钟设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年VHDL数字时钟设计.pdf》由会员分享,可在线阅读,更多相关《2022年VHDL数字时钟设计.pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、VHDL数字时钟设计EDA 课 程 设 计设计题目 :VHDL 数字时钟设计系部:电子信息与电气工程年级:12 级班级:自动化 (1)班姓名:王廷弼学号:1205033015 VHDL数字时钟设计1、功能介绍 1) 具有时、分、秒计数显示功能, 以 24 小时循环计时。 2) 时钟计数显示时有LED灯的花样显示。 3) 具有调节小时、分钟及清零的功能。4)具有整点报时功能。2、总体方框图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - VHDL数字
2、时钟设计3、性能指标及功能设计1)时钟计数 :完成时、分、秒的正确计时并且显示所计的数字;对秒、分60 进制计数 ,即从 0 到 59循环计数 ,时钟 24 进制计数 ,即从 0 到 23 循环计数 ,并且在数码管上显示数值。2)时间设置 :手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7 与键 4 进行任意的调整,因为我们用的时钟信号均就是1HZ 的,所以每 LED 灯变化一次就来一个脉冲,即计数一次。3)清零功能 :reset 为复位键 ,低电平时实现清零功能 ,高电平时正常计数。可以根据我们自己任意时间的复位。4)蜂鸣器在整点时有
3、报时信号产生,蜂鸣器报警。产生“滴答、滴答”的报警声音。5)LED 灯在时钟显示时有花样显示信号产生。即根据进位情况 ,LED 不停的闪烁,从而产生“花样”信号。4、 方案选择根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整与一个顶层文件构成。采用自顶向下的设计方法,子模块利用 VHDL 语言设计 ,顶层文件用原理图的设计方法。显示 :小时采用 24 进制,而分钟与秒均 60进制。数字时钟控制单元使能端信号输出信号复位信号LED 显示“花样”显示CLK 信号精品资料 - - - 欢迎下载 - - - - - - - - - -
4、 - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 9 页 - - - - - - - - - - VHDL数字时钟设计5、细化框图根据自顶向下的方法以及各功能模块的的功能实现上述设计方案应系统细化框图 : 6、编写程序、仿真与分析1、秒计数器1)VHDL 语言描述程序LIBRARY IEEE; use IEEE、STD_LOGIC_1164 、ALL; USE IEEE、STD_LOGIC_UNSIGNED、ALL; ENTITY hour IS PORT(clk,reset:IN STD_LOGIC; daout:out STD_LOGIC_VECTOR(5 D
5、OWNTO 0); END ENTITY hour; ARCHITECTURE fun OF hour IS SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN daout=count; PROCESS(clk,reset) BEGIN IF(reset=0)THEN count=000000; 若 reset=0,则异步清零数字时钟控制单元时调整分调整使能端信号CLK 信号时显示分显示秒显示24 进制60 进制60 进制LED 显示整点报时花样显示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -
6、- - - - - - - - -第 3 页,共 9 页 - - - - - - - - - - VHDL数字时钟设计ELSIF(clkevent and clk=1)THEN 否则 ,若 clk 上升沿到IF(count(3 DOWNTO 0)=1001)THEN 若个位计时恰好到“1001”即 9 IF(count16#23#)THEN 23 进制count=count+7; 若到23D 则else count=000000; 复 0 END IF; ELSIF (count16#23#)THEN 若未到23D,则 count 进 1 count=count+1; ELSE 否则清零cou
7、nt=000000; END IF; END IF(count(3 DOWNTO 0)=“1001”) END IF; END IF(reset= 0) END PROCESS; END fun; 2)秒计数器的仿真波形图3)波形分析利用 60 进制计数器完成 00 到 59 的循环计数功能 , 当秒计数至 59 时, 再来一个时钟脉冲则产生进位输出, 即 enmin=1;reset作为复位信号低电平有效 , 即高电平时正常循环计数 , 低电平清零。因为这种 60 进制的 VHDL 语言就是很好写的 ,它并不复杂 , 再说我们必须要学会这些基本的硬件语言的描写。2、分钟计数器1)VHDL 语言
8、描述程序LIBRARY IEEE; USE IEEE、STD_LOGIC_1164 、ALL; USE IEEE、STD_LOGIC_UNSIGNED、ALL; ENTITY minute IS PORT(clk,clk1,reset,sethour:IN STD_LOGIC; enhour:OUT STD_LOGIC; daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 9 页 - - - - - - - - - -
9、 VHDL数字时钟设计END ENTITY minute ; ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR (6 DOWNTO 0); SIGNAL enhour_1, enhour_2: STD_LOGIC; enmin_1 为 59 分时的进位信号BEGIN enmin_2 由 clk 调制后的手动调时脉冲信号串daout=count; enhour_2= (sethour and clk1); sethour 为手动调时控制信号,高电平有效enhour= (enhour_1 or enhour_2); PROCE
10、SS(clk,reset,sethour) BEGIN IF(reset=0) THEN 若 reset 为 0,则异步清零count=0000000; ELSIF(clkevent and clk=1)THEN 否则 ,若 clk 上升沿到IF(count (3 DOWNTO 0) =1001)THEN若个位计时恰好到“1001”即 9 IF(count 16#60#) THEN 又若count 小于 16#60#,即 60 IF(count=1011001) THEN又若已到59D enhour_1=1; 则置进位为1 count=0000000; count 复 0 ELSE count
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 VHDL 数字 时钟 设计
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内