数字逻辑课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字逻辑课程设计报告
数字逻辑课程设计
多功能数字钟
班级:
学号:
课程设计人:
指导老师:
课题:
完成时间:
一、设计目的:
学会应用数字系统设计方法进行电路设计,熟练地运用汇编语言。
二、设计任务及要求:
1.记时、记分、记秒
2.校时、校分、秒清0
3.整点报时
4.时间正常显示
5.闹时功能
三、设计思路:
将整个闹钟分为以下几个模块,每个模块中都有详细的各部分的设计思路,源代码及仿真图像,生成的器件。
1.计时模块
计小时:24进制计数器
计分、计秒:60进制计数器
计时间过程:
计秒:1HZ计数脉冲,0~59循环计数,计数至59时产生进位信号。
计分:以秒计数器进位信号作为分计数脉冲,0~59循环计数,59时产生进位。
计时:以分计数器进位信号作为时计数脉冲,0~23循环计数,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 is
signal q1,q0:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if(clk'event 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 behave;
仿真结果:
图一、cnt24仿真图像
六十进制计数器代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt60 is
port (clk:in 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 is
signal 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(clk'event and clk='1')then
if(q1="0101" and q0="1001")then-----到59 q1<="0000";q0<="0000";c<='1';
elsif(q1<"0101" and q0="1001")then
q0<="0000";q1<=q1+'1';c<='0';
elsif(q0<"1001") then
q0<=q0+'1';
end if;
end if;
end if;
qh<=q1;
ql<=q0;
end cnt;
仿真结果:
图二、cnt60仿真图像
clk qh[3..0]
ql[3..0] cnt24
inst
clk
clr
ql[3..0]
qh[3..0]
c cnt60
inst1
图三、生成的计数器符号
2.校时模块:
思路:按下校时键,时位迅速递增,满23清0
按下校分键,分位迅速递增,满59清0
注意:此时应屏蔽分进位。
按清0键,秒清0。
脉冲按键S1~S8、拨动开关K1~K12任选三个。
两个问题:
(1)如何实现校对时间时,计数器快速递增?
按键校对时间时,将一个频率较高的计数脉冲信号作用于计数器,屏蔽正常计时的计数脉冲信号。
(2)如何消除“抖动”?
电路抖动:一次按键的弹跳现象,电路产生多个计数脉冲,导致一次按键,多次计数的误动作。
抖动产生的原因:物理原因。
消除的简易方法:D触发器,同步按键脉冲。
3.整点报时模块:
从59分50秒开始,每2秒一次低音报时;当达到整点时,进行一次高音报时。
低音:频率可定为500HZ;高音:频率可定为1KHZ。
报时效果:报时脉冲接扬声器输入,引脚号:N6。
整点报时器件代码