数电课程设计--多功能时钟.doc

数电课程设计--多功能时钟

数 电 课 程 设 计 系:.电子信息与计算机科学系 . 专业:. 自动化 . 班级:. 文自112-2班 . 姓名:. 桑*超 . 学号:. 2011905192** . 数字逻辑与数字系统课程设计——24小时制时钟 一、实验目的: 1了解多功能数字电子钟的工作原理。 2 学习数字系统设计中自顶向下的设计方法。 3加深利用EDA技术实现数字系统的体会。 实验结果基本要求: 1、能够正确的连线及下载。 2、能够完成以秒为最小及时单位的时钟设计。 3、时钟能够正常调整时、分、秒的时间。 扩展部分: 能够完成整点报时的功能。 能够完成预设闹钟的功能。 二、基本功能图: 正常的计时功能 正常的调时功能 正常的显示功能 扩展功能图: ※整点报时功能 ※闹钟定时功能 3、整体上有几个模块 计时功能模块: 它是由两个60进制计数器和一个24进制计数器连接成的。构成了时钟正常的计时功能。当到达59秒钟的时候,当再来一个CP脉冲的时候,将自动进位,使分针上加一。分针也是一样。当时针到达23点59分59秒的时候,当再次来一个CP脉冲时候,又转化为0点0分0秒。 调时功能模块: 调分有效时,按动分钟调节键,分针加一;调时有效,按动小时调节键,时针加一。 整点报时与闹钟功能模块: 时间每走到一个整点,蜂鸣器发出响声;扩展部分可以按预定的时间让蜂鸣器鸣叫。在闹钟定时显示状态下,按下set键,进入闹钟的“时”设置状态,之后按下闹钟的‘k’键,进入闹钟的分设置状态,再按下‘k’键进入秒设置状态,再次按下‘k’键,又回到闹钟的定时显示状态。 三、各模块程序、符号图、仿真图 模块一:24进制 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity v_cnt24 is port(clk,en,reset : in std_logic; ql,qh : buffer std_logic_vector(3 downto 0); co : out std_logic ); end v_cnt24 ; architecture one of v_cnt24 is begin co=1 when(ql=0011and qh=0010and en=1) else 0 ; process (clk,reset) begin if(reset=0)then ql=0000; qh=0000; else if(clkevent and clk=1 ) then if( en=1)then if(ql=0011and qh=0010) then ql=0000; qh=0000; elsif(ql=1001) then ql=0000; qh=qh+1; else ql=ql+1; end if; end if; end if; end if ; end process; end one ; 模块二:60进制 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity v_cnt60 is port(clk,reset,en : in std_logic; ql,qh : buffer std_logic_vector(3 downto 0); co : out std_logic ); end v_cnt60; architecture one of v_cnt60 is begin co=1 when (ql=1001 and qh=0101 and en=1 ) else0; process(clk,reset) begin if(reset=0) then ql=0000; qh=0000; elsif (clkevent and clk=1)then if(ql=1001and qh=0101)then ql=0000; qh=0000; elsif(ql=1001)then

文档评论(0)

1亿VIP精品文档

相关文档