数字逻辑课程设计报告.doc
《数字逻辑课程设计报告.doc》由会员分享,可在线阅读,更多相关《数字逻辑课程设计报告.doc(12页珍藏版)》请在三一文库上搜索。
1、数字逻辑课程设计多功能数字钟 班级: 学号: 课程设计人: 指导老师:课题: 完成时间:1、 设计目的:学会应用数字系统设计方法进行电路设计,熟练地运用汇编语言。二、设计任务及要求:1.记时、记分、记秒2.校时、校分、秒清03.整点报时4.时间正常显示5.闹时功能三、设计思路:将整个闹钟分为以下几个模块,每个模块中都有详细的各部分的设计思路,源代码及仿真图像,生成的器件。1.计时模块计小时:24进制计数器计分、计秒:60进制计数器 计时间过程:计秒:1HZ计数脉冲,059循环计数,计数至59时产生进位信号。计分:以秒计数器进位信号作为分计数脉冲,059循环计数,59时产生进位。计时:以分计数器
2、进位信号作为时计数脉冲,023循环计数,23时清0。 二十四进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt24 is port (clk:in std_logic; qh,ql:out std_logic_vector(3 downto 0);end cnt24;architecture behave of cnt24 issignal q1,q0:std_logic_vector(3 downto 0);begin process(clk) begin if
3、(clkevent and clk=1)then if(q1=0010 and q0=0011)then q1=0000;q0=0000; elsif(q0=1001)then q0=0000;q1=q1+1; else q0=q0+1; end if; end if; qh=q1; ql=q0; end process;end behave;仿真结果:图一、cnt24仿真图像六十进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 is port (clk:i
4、n std_logic; clr:in std_logic; ql,qh:out std_logic_vector(3 downto 0); c:out std_logic);end cnt60;architecture cnt of cnt60 issignal q1,q0:std_logic_vector(3 downto 0);begin process(clk,clr) begin if(clr=1)then q1=0000;q0=0000;c=0; else if(clkevent and clk=1)then if(q1=0101 and q0=1001)then-到59 q1=0
5、000;q0=0000;c=1; elsif(q10101 and q0=1001)then q0=0000;q1=q1+1;c=0; elsif(q01001) then q0=q0+1; end if; end if; end if; qh=q1; ql=q0; end process;end cnt;仿真结果:图二、cnt60仿真图像图三、生成的计数器符号2. 校时模块:思路:按下校时键 ,时位迅速递增,满23清0 按下校分键 ,分位迅速递增,满59清0 注意:此时应屏蔽分进位。 按清0键,秒清0。 脉冲按键S1S8、拨动开关K1K12任选三个。两个问题:(1)如何实现校对时间时,计数器
6、快速递增? 按键校对时间时,将一个频率较高的计数脉冲信号作用于计数器,屏蔽正常计时的计数脉冲信号。(2)如何消除“抖动”? 电路抖动:一次按键的弹跳现象,电路产生多个计数脉冲,导致一次按键,多次计数的误动作。 抖动产生的原因:物理原因。 消除的简易方法:D触发器,同步按键脉冲。3. 整点报时模块:从59分50秒开始,每2秒一次低音报时;当达到整点时,进行一次高音报时。低音:频率可定为500HZ;高音:频率可定为1KHZ。报时效果:报时脉冲接扬声器输入,引脚号:N6。整点报时器件代码library ieee;use ieee.std_logic_1164.all;use ieee.std_log
7、ic_unsigned.all;entity alert_31 isport(m1,m0,s1,s0:in std_logic_vector(3 downto 0); siga,sigb:out std_logic);end alert_31;architecture alert of alert_31 is begin siga=1when(m1=0101 and m0=1001 and s1=0101 and (s0=0000 or s0=0010 or s0=0100 or s0=0110 or s0=1000)else0; sigb=1when(m1=0000 and m0=0000
8、and s1=0000 and s0=0000)else0;end alert;仿真结果:图四、整点报时模块,低频率报时图五、整点报时器件符号4、分频模块:设计一个进制较大的计数器,分频产生各种频率的脉冲信号。代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity freq_divider isport (clk:in std_logic; hz512,hz64,hz4,hz1:out std_logic);End freq_divider;architecture beh of fr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑 课程设计 报告
链接地址:https://www.31doc.com/p-14861102.html