EDA数字时钟课程设计.docx
《EDA数字时钟课程设计.docx》由会员分享,可在线阅读,更多相关《EDA数字时钟课程设计.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计报告学生姓名班 级专 业题 目指导教师学 号电子信息工程数字时钟设计2023年 11月课程设计报告一、任务和设计要求1. 生疏集成电路的引脚安排。2. 把握各芯片的规律功能及使用方法。3. 了解数字钟的组成及工作原理。4. 生疏数字钟的设计与制作。1. 设计指标(1) 时间以 24 小时为一个周期;(2) 显示时、分、秒;(3) 有校时功能,可以分别对时及分进展单独校时,使其校正到标准时间;(4) 计时过程具有报时功能,当时间到达整点前 5 秒进展蜂鸣报时。2. 设计要求(1) 画出电路原理图或仿真电路图;(2) 元器件及参数选择;(3) 电路仿真与调试二、设计原理设计思路依据系统设计
2、要求,系统设计承受自顶向下设计方法,由时钟分频局部、计时局部、按键局部调时局部和显示局部五个局部组成。这些模块都放在一个顶层文件中。 1时钟计数:首先下载程序进展复位清零操作,电子钟从 00:00:00 计时开头。sethour 可以调整时钟的小时局部, setmin 可以调整分钟,步进为 1。由于电子钟的最小计时单位是 1s,因此供给应系统的内部的时钟频率应当大于 1Hz,这里取 100Hz。CLK 端连接外部 10Hz 的时钟输入信号 clk。对 clk 进展计数,当 clk=10 时,秒加 1,当秒加到 60 时,分加 1;当分加到 60 时,时加 1;当时加到 24 时,全部清 0,从
3、计时。用 6 位数码管分别显示“时”、“分”、“秒”,通过 OUTPUT( 6 DOWNTO 0 ) 上的信号来点亮指定的 LED 七段显示数码管。2) 时间设置:手动调整分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过试验板上的键 7 和键 4 进展任意的调整,由于我们用的时钟信号均是1HZ 的,所以每 LED 灯变化一次就来一个脉冲,即计数一次。3) 清零功能:reset 为复位键,低电寻常实现清零功能,高电寻常正常计数。可以依据我们自己任意时间的复位。总体构造图1课程设计报告三、系统设计1) 时、分、秒计时器时计时器为一个 24 进制计数器,分、秒计时
4、器均为60 进制计数器。当秒计时器承受到一个秒脉冲时,秒计数器开头从 1 计数到 60,此时秒显示器将显示 00、01、02、.、59、00;每当秒计数器数到 00 时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有根底上加 1,其显示器将显示 00、01、02、.、59、00;每当分计数器数到 00 时, 就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有根底上加 1,其显示器将显示 00、01、02、.、23、00。即当数字钟运行到 23 点 59 分 59 秒时,当秒计时器在承受一个秒脉冲,数字钟将自动显示 00 点 00 分 00 秒。2) 校时电路当开关拨至校时档时,
5、电子钟秒计时工作,通过时、分校时开关分别对时、分进展校对,开关每按 1 次,与开关对应的时或分计数器加 1,当调至需要的时与分时,拨动 reset 开关,电子钟从设置的时间开头往后计时。四、参考程序Alert 模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY alert IS PORT(clk:IN STD_LOGIC;dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0);2课程设计报告speak:OUT STD_LOGIC;lamp:OUT STD_LOGIC
6、_VECTOR(2 DOWNTO 0);END alert;ARCHITECTURE fun OF alert ISSIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINspeaker:PROCESS(clk) BEGIN-speak=count1(1);IF(clk”event and clk=”1”)THENIF(dain=“0000000“)THENspeak=“10“)THENcount1=“00“;-count1 为三进制加法计数器ELSEcount1=co
7、unt1+1;-speak=count1(0); END IF ;END IF ; END IF ;END PROCESSspeaker; lamper:PROCESS(clk)BEGINIF(rising_edge(clk)THEN IF(count=“10“)THEN IF(count=“00“)THENlamp=“001“;-循环点亮三只灯ELSIF(count=“01“)THENlamp=“010“; ELSIF(count=“10“)THENlamp=“100“;END IF;count=count+1;ELSEcount=“00“;END IF;END IF;3课程设计报告END
8、PROCESS lamper; END fun;Hour 模块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 DOWNTO 0); END ENTITY hour;ARCHITECTURE fun OF hour ISSIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGINdaout=count;PROCESS(cl
9、k,reset)BEGINIF(reset=”0”)THENcount=“000000“; -假设 reset=0,则异步清零ELSIF(clk”event and clk=”1”)THEN-否则,假设 clk 上升沿到IF(count(3 DOWNTO 0)=“1001“)THEN -假设个位计时恰好到“1001“即 9 IF(count16#23#)THEN-23 进制count=count+7;-假设到 23D 则elsecount=“000000“;-复 0 END IF;ELSIF (count16#23#)THEN-假设未到 23D,则 count 进 1 count=count+
10、1;ELSE-否则清零count=“000000“;END IF;-END IFcount3 DOWNTO 0=“1001“ END IF;-END IFreset=”0”END PROCESS;END fun; Minute 模块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;4课程设计报告daout:OUT STD_LOGIC_VECTO
11、R(6 DOWNTO 0);END ENTITY minute ;ARCHITECTURE fun OF minute ISSIGNAL 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 数字 时钟 课程设计
限制150内