好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

多功能数字钟的设计与实现

学院名称: 计算机学院 专业班级: 通信工程 学生姓名: 学生学号: 指导老师: 曾 宇

2012年6月25日

一、 设计任务及要求:

(1) 拥有正常的时、分、秒计时功能。

(2) 能利用实验板上的按键实现校时、校分及秒清零功能。 (3) 能利用实验板上的扬声器做整点报时。 (4) 闹钟功能。

(5) 在QUARTUS Ⅱ中采用层次化设计方法进行设计。

(6) 完成全部电路设计后在实验板上下载,验证设计课题的正确性。

二、 多功能数字钟的总体设计方案

根据总体设计框图,可以将整个系统分成6个模块来实现,分别是计时模块、校时模块、整点报时模块,分频模块,动态显示模块,闹钟模块。

设计总图:

1. 计时模块

该模块的设计相对简单,使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制的计数器用于计时,六十进制计数器用于计分和计秒。只要给秒计数器一个1Hz的时钟脉冲,则可以进行正常计时。分计数器以秒计数器的进位作为计数脉冲,小时计数器以分计数器的进位作为计数脉冲。

1

cnt24jh[3..0]clkql[3..0]qh[3..0]tcinstVCCjh[7..4]cnt60jm[3..0]clkql[3..0]clrqh[3..0]tcjm[7..4]NOTinst15inst1

(24进制计数器构成时计数器,60进制计数器构成的秒、分计数器)

24进制的仿真图:

2

60进制的仿真图

以下是计时模块设计VHDL语言: (1)library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt24 is

port(clk:in std_logic;

ql,qh:out std_logic_vector(3 downto 0); tc:out std_logic); end cnt24;

architecture one of cnt24 is

begin

process(clk)

variable iql,iqh:std_logic_vector(3 downto 0); begin

if clk'event and clk='1' then iql:=iql+1;

if iql=\ iqh:=iqh+1; iql:=\ end if;

3

if (iqh=\ then tc<='0'; iqh:=\ end if;

end if;

ql<=iql; qh<=iqh;

end process; end one;

(2)library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt60 is

port(clk,clr:in std_logic;

ql,qh:buffer std_logic_vector(3 downto 0); tc:out std_logic ); end cnt60;

architecture behavor of cnt60 is begin

tc<='0' when(clk='1' and ql=\ process(clk,clr,ql,qh)

variable iql,iqh:std_logic_vector(3 downto 0); begin

if(clr='0'or (iql=\ iql:=\ iqh:=\

else if(clk'event and clk='1')then iql:=iql+1;

if(iql=\ iql:=\ iqh:=qh+1; end if; end if; end if;

ql<=iql;qh<=iqh; end process; END behavor;

4

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

多功能数字钟的设计与实现学院名称:计算机学院
推荐度:
点击下载文档文档为doc格式
9xv4k4slfk8az813jgo32teb88j4b1005st
领取福利

微信扫码领取福利

微信扫码分享