文档详情

[EDA课程设计数字时钟.doc

发布:2017-01-19约1.02万字共12页下载文档
文本预览下载声明
数字时钟的设计 一 实验目的 1)掌握VHDL语言的基本运用 2)掌握MAX+plusII的简单操作并会使用EDA实验箱 3)掌握一个基本EDA实验的操作 二 功能设计 1)有时、分、秒计数显示功能,小时为24进制,分钟和秒为60进制 2)设置复位、清零等功能 3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间 4)设置调试模式和计时两个模式,分别实现计时和调时功能,通过设置任意时间实现闹铃功能 三 系统设计方案概述及工作原理 根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。 1)首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。md2[1]可以调整时钟的小时部分, md2[2]可以调整分钟,步进为1。 2)由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。 3)用6位数码管分别显示“时”、“分”、“秒”,通过DOUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。 4)通过对md1按键高低电平的控制可以进入时钟的另一个调时模式,调试模式和计时模式是分开互不影响的。然后再通过对md2[1]和md2[2]对时钟进行时间设定。等到计时到达设置时间时,实现打铃功能。 顶层设计分析: 对于电子钟的设计,这里将采用自顶向下的设计方法进行设计,因此首先需要进行电子钟的顶层设计。本节将首先介绍电子钟的系统结构和模块划分,然后设计出顶层VHDL设计程序。 根据电子钟的设计要求、工作原理和设计方案, 整个模块的接口如下: 1 时钟分频部分 1) 复位开关信号reset:输入信号 2) 外部时钟信号clk:输入信号 3) 内部计时时钟信号clk1:输入信号 2 计时部分 1) 复位关信号reset:输入信号 3) 小时十位信号hou2:输出信号 4) 小时个位信号hou1:输出信号 5) 分十位信号min2:输出信号 6) 分个位信号min1:输出信号 7) 秒十位信号sec2:输出信号 8) 秒个位信号sec1:输出信号 3 按键部分 1) 复位开关信号reset:输入信号 2) 时调整按键md2[1]:输入信号 3) 分调整按键md2[2]:输入信号 4) 小时十位信号hou2:输出信号 5) 小时个位信号hou1:输出信号 6) 分十位信号min2:输出信号 7) 分个位信号min1:输出信号 4 显示部分 1) 外部时钟信号clk:输入信号 2) 小时十位信号hou2:输入信号 3) 小时个位信号hou1:输入信号 4) 分十位信号min2:输入信号 5) 分个位信号min1:输入信号 6) 秒十位信号sec2:输入信号 7) 秒个位信号sec1:输入信号 8) LED七段显示数码管的选通信号DOUT:输出信号 5 调时部分 1) 调时开关md1 2) 时调整按键md2[1]:输入信号 3) 分调整按键md2[2]:输入信号 四 各部分功能分析 1)计数部分由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。其VHDL源程序相差不大由于篇幅有限,这里我们以分计数的实现为例。程序如下: -----------------------------------------------分钟十位 m110:process(clk,min2,sec1,sec2,md1,md2) begin if clkevent and clk=1 then if (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then min1=0000; elsif min1=0101and min2=1001and (md1=0 and md2=00)then min1=0000; elsif (min2=1001and (sec1=0101 and sec2=1001)) or (min2=1001and md1=0 and md2=00)then min1=min1+1; end if; end if;--end if; end process m110; ----------------------------------------------分钟个位 m220:process(clk,sec1,sec2,md1,md2) begin if clkevent and clk=1 then if min
显示全部
相似文档