1、 计算机科学学院计算机科学学院 数字逻辑课程设计报告数字逻辑课程设计报告 数字钟的设计 班级:班级: 学号:学号: 姓名:姓名: 同组者:同组者: 日期:日期: 2010.7.2 2010.7.2 1 1 题目与要求题目与要求 1.11.1 问题的提出问题的提出 设计一个数字时钟,具有以下功能: 1、秒、分为 0059 六十进制计数器。 2、时为 0023 二十四进制计数器。 3、整点报时。 4、数码管显示。 5、校时功能。 1.21.2 设计原理设计原理 数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分为模 60 计数器,小时是模 24 计数器,分别产生 3 位 BCD 码。
2、BCD 码经译码,驱动后接数码管 显示电路。 秒模 60 计数器的进位作为分模 60 计数器的时钟,分模 60 计数器的进位作为模 24 计数器的时钟。 为了实现手动调整时间,在外部增加了 switch,add,clk 和 set 按键,在 switch 值为 1 时,正常计数; switch 值为 0 时校对时间,此时 set 为 10 时校对分, set 为 11 时校对时,校对动作是通过 clk 来实现的,clk 按下一次对应的数值加 1;同时还在外 部增加了一个清零按键 clear,当 clear 为 1 时执行清零操作。数字钟显示为 59 分 52,54,56,58 秒时,报时闹钟会
3、响起。 2 2 设计过程设计过程 2.1 2.1 逻辑描述逻辑描述 源代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clock is port(clk,switch,clear,add:in std_logic; set :in std_logic_vector(1 downto 0); second0,second1,minute0,minute1,hour0,hour1:out std_logic_vec
4、tor(3 downto 0); naozhong:out std_logic_vector(0 downto 0); end; architecture arch of clock is signal clk0,clr,m0,m1,m2,m3,m4:std_logic; signal cout0:std_logic_vector(3 downto 0); signal cout1:std_logic_vector(3 downto 0); signal cout2:std_logic_vector(3 downto 0); signal cout3:std_logic_vector(3 downto 0); signal cout4:std_logic_vector(3 downto 0); signal cout5:std_logic_vector(3 down