数字逻辑课程设计报告——多功能数字钟的设计与实现

ID:13931942

大小:1.43 MB

页数:13页

时间:2018-07-25

数字逻辑课程设计报告——多功能数字钟的设计与实现_第1页
数字逻辑课程设计报告——多功能数字钟的设计与实现_第2页
数字逻辑课程设计报告——多功能数字钟的设计与实现_第3页
数字逻辑课程设计报告——多功能数字钟的设计与实现_第4页
数字逻辑课程设计报告——多功能数字钟的设计与实现_第5页
资源描述:

《数字逻辑课程设计报告——多功能数字钟的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多功能数字钟的设计与实现学院名称:计算机学院专业班级:通信工程学生姓名:学生学号:指导老师:曾宇2012年6月25日12一、设计任务及要求:(1)拥有正常的时、分、秒计时功能。(2)能利用实验板上的按键实现校时、校分及秒清零功能。(3)能利用实验板上的扬声器做整点报时。(4)闹钟功能。(5)在QUARTUSⅡ中采用层次化设计方法进行设计。(6)完成全部电路设计后在实验板上下载,验证设计课题的正确性。二、多功能数字钟的总体设计方案根据总体设计框图,可以将整个系统分成6个模块来实现,分别是计时模块、校时模块、整点报时模块,分频模块,动态显示模块,闹钟模块。

2、设计总图:1.计时模块该模块的设计相对简单,使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制的计数器用于计时,六十进制计数器用于计分和计秒。只要给秒计数器一个1Hz的时钟脉冲,则可以进行正常计时。分计数器以秒计数器的进位作为计数脉冲,小时计数器以分计数器的进位作为计数脉冲。12(24进制计数器构成时计数器,60进制计数器构成的秒、分计数器)24进制的仿真图:1260进制的仿真图以下是计时模块设计VHDL语言:(1)libraryieee;useieee.std_logic_1164.all;useieee.std_logic

3、_unsigned.all;entitycnt24isport(clk:instd_logic;ql,qh:outstd_logic_vector(3downto0);tc:outstd_logic);endcnt24;architectureoneofcnt24isbeginprocess(clk)variableiql,iqh:std_logic_vector(3downto0);beginifclk'eventandclk='1'theniql:=iql+1;ifiql="1010"theniqh:=iqh+1;iql:="0000";endif

4、;12if(iqh="0010")and(iql="0100")thentc<='0';iqh:="0000";iql:="0000";endif;endif;ql<=iql;qh<=iqh;endprocess;endone;(2)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt60isport(clk,clr:instd_logic;ql,qh:bufferstd_logic_vector(3downto0);tc:outstd_logic

5、);endcnt60;architecturebehavorofcnt60isbegintc<='0'when(clk='1'andql="0000"andqh="0110")else'1';process(clk,clr,ql,qh)variableiql,iqh:std_logic_vector(3downto0);beginif(clr='0'or(iql="0000"andiqh="0110"))theniql:="0000";iqh:="0000";elseif(clk'eventandclk='1')theniql:=iql+1;if(iq

6、l="1010")theniql:="0000";iqh:=qh+1;endif;endif;endif;ql<=iql;qh<=iqh;endprocess;ENDbehavor;121.校时模块该模块设计要求实现校时、校分及秒清零的功能。①按下校时键,小时计数器迅速递增以调至所需要的小时位。②按下校分键,分计数器迅速递增以调至所需要的分位。③按下清零键,将秒计数器清零。可以选择实验板上的3个脉冲按键进行锁定。对于此模块的设计,有3个需要注意的问题:①在校分时,分计数器的计数不应对小时位产生影响。因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数

7、。具体方法是在分计数器的进位输出时外加一个组合电路。详见下图。(二路选择器与计数器之间连了一个组合电路,以屏蔽进位信号)②按键的“抖动”的消除。所谓的“抖动”是指一次按键时的弹跳现象,通常实验板中按键所用的开关为机械性开关,由于机械触点的弹性作用,按键开关在闭合时并不能马上接通,而断开的时候也不能马上断开,使得闭合及断开的瞬间伴随一系列的电压抖动,从而导致本来一次按键,希望计数一次,结果因为抖动计数多次,且次数随机,这样严重影响了时间的校对。消除抖动较为简单的方法是利用触发器,比如可以使用D触发器进行消抖。原因在于,D触发器边沿触发,则在除去时钟边沿到

8、来前一瞬间之外的绝大部分时间都不接受输入,自然消除了抖动。详见下图(加D触发器防抖动)12①计

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《数字逻辑课程设计报告——多功能数字钟的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多功能数字钟的设计与实现学院名称:计算机学院专业班级:通信工程学生姓名:学生学号:指导老师:曾宇2012年6月25日12一、设计任务及要求:(1)拥有正常的时、分、秒计时功能。(2)能利用实验板上的按键实现校时、校分及秒清零功能。(3)能利用实验板上的扬声器做整点报时。(4)闹钟功能。(5)在QUARTUSⅡ中采用层次化设计方法进行设计。(6)完成全部电路设计后在实验板上下载,验证设计课题的正确性。二、多功能数字钟的总体设计方案根据总体设计框图,可以将整个系统分成6个模块来实现,分别是计时模块、校时模块、整点报时模块,分频模块,动态显示模块,闹钟模块。

2、设计总图:1.计时模块该模块的设计相对简单,使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制的计数器用于计时,六十进制计数器用于计分和计秒。只要给秒计数器一个1Hz的时钟脉冲,则可以进行正常计时。分计数器以秒计数器的进位作为计数脉冲,小时计数器以分计数器的进位作为计数脉冲。12(24进制计数器构成时计数器,60进制计数器构成的秒、分计数器)24进制的仿真图:1260进制的仿真图以下是计时模块设计VHDL语言:(1)libraryieee;useieee.std_logic_1164.all;useieee.std_logic

3、_unsigned.all;entitycnt24isport(clk:instd_logic;ql,qh:outstd_logic_vector(3downto0);tc:outstd_logic);endcnt24;architectureoneofcnt24isbeginprocess(clk)variableiql,iqh:std_logic_vector(3downto0);beginifclk'eventandclk='1'theniql:=iql+1;ifiql="1010"theniqh:=iqh+1;iql:="0000";endif

4、;12if(iqh="0010")and(iql="0100")thentc<='0';iqh:="0000";iql:="0000";endif;endif;ql<=iql;qh<=iqh;endprocess;endone;(2)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt60isport(clk,clr:instd_logic;ql,qh:bufferstd_logic_vector(3downto0);tc:outstd_logic

5、);endcnt60;architecturebehavorofcnt60isbegintc<='0'when(clk='1'andql="0000"andqh="0110")else'1';process(clk,clr,ql,qh)variableiql,iqh:std_logic_vector(3downto0);beginif(clr='0'or(iql="0000"andiqh="0110"))theniql:="0000";iqh:="0000";elseif(clk'eventandclk='1')theniql:=iql+1;if(iq

6、l="1010")theniql:="0000";iqh:=qh+1;endif;endif;endif;ql<=iql;qh<=iqh;endprocess;ENDbehavor;121.校时模块该模块设计要求实现校时、校分及秒清零的功能。①按下校时键,小时计数器迅速递增以调至所需要的小时位。②按下校分键,分计数器迅速递增以调至所需要的分位。③按下清零键,将秒计数器清零。可以选择实验板上的3个脉冲按键进行锁定。对于此模块的设计,有3个需要注意的问题:①在校分时,分计数器的计数不应对小时位产生影响。因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数

7、。具体方法是在分计数器的进位输出时外加一个组合电路。详见下图。(二路选择器与计数器之间连了一个组合电路,以屏蔽进位信号)②按键的“抖动”的消除。所谓的“抖动”是指一次按键时的弹跳现象,通常实验板中按键所用的开关为机械性开关,由于机械触点的弹性作用,按键开关在闭合时并不能马上接通,而断开的时候也不能马上断开,使得闭合及断开的瞬间伴随一系列的电压抖动,从而导致本来一次按键,希望计数一次,结果因为抖动计数多次,且次数随机,这样严重影响了时间的校对。消除抖动较为简单的方法是利用触发器,比如可以使用D触发器进行消抖。原因在于,D触发器边沿触发,则在除去时钟边沿到

8、来前一瞬间之外的绝大部分时间都不接受输入,自然消除了抖动。详见下图(加D触发器防抖动)12①计

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭