具有闹铃的数字时钟设计.EDA课程设计.doc

具有闹铃的数字时钟设计.EDA课程设计

EDA课程设计报告书 课题名称 基于EDA的数字时钟设计 姓名 *** 学号 0812201-41 院系 物理与电信工程系 专业 电子信息工程 指导教师 *** 讲师 2011年 6月8日 设计任务及要求: 主要设计任务及要求如下: 1.数字显示当前的小时、分钟及秒钟; 2.可以预置为12小时计时显示或24小时计时显示; 3.时间修改功能:能进行小时、分钟以及秒钟的修改; 4.闹铃功能:能预置时间,并在相应时刻闹铃。 指导教师签名: 年 月 日 二、指导教师评语: 指导教师签名: 年 月 日 三、成绩 验收盖章 年 月 日 基于EDA的数字时钟设计 熊静平 (湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300) 1设计目的 1、学习复杂数字电路系统的设计。 2、运用VHDL设计一个多功能数字时钟。 2设计的主要内容和要求 1.数字显示当前的小时、分钟以及秒钟; 2.可以预置为12小时计时显示或24小时计时显示; 3.时间修改功能:能进行小时、分钟以及秒钟的修改; 4.闹铃功能:能预置时间,并在相应时刻闹铃。 3 整体设计方案 该设计的基本设计方案:电路由控制电路、两个60进制加法计数器、一个24进制加法计数器、译码器、显示器、闹铃电路组成。计数器对秒、分、小时进行计时,当计时到23时59分59秒(选择24小时计时方式)或11时59分59秒(选择12小时计时方式)时,来一个计数脉冲,则计数器清零,重新开始计时。译码器将计数器输出的BCD码计时结果转换成十进制送到显示器,显示器显示时、分、秒计时结果。当时间达到预置的闹铃时间时,输出高电平实现闹铃。总体设计框图如图3.1所示。 图 3.1 总体方案设计框图 4 软件电路的设计 4.1秒计时电路设计 本设计是采用VHDL语言来设计硬件电路,首先完成秒钟的计时程序,亦即完成一个60进制计时器的设计,源程序代码如下: --秒钟的计时程序 LIBRARY ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY second IS --实体,定义输入和输出端口 PORT(clk1,rst1:in std_logic; cout1:out std_logic; cq0:out std_logic_vector(3 downto 0); cq1:out std_logic_vector(3 downto 0)); END second; ARCHITECTURE behave of second is --结构体 SIGNAL d: std_logic_vector(3 downto 0);--定义信号d、g,作为中转量供进程使用 SIGNAL g: std_logic_vector(3 downto 0); BEGIN process(clk1,rst1,d,g) --进程开始 BEGIN if (rst1 =1) then --当复位rst1=1时,秒计时复位 d =0000; g =0000; elsif(clk1EVENT and clk1=1)then --时钟的上升沿有效 if(d=9 and g=5)then --当d=9 且 g=5 时产生进位 cout1=1; else cout1=0; end if; if(d=9)then --d=9 则把d清零 d=0000; if(g=5)then g=0000;--在d=9的情况下,若g=5,将g清零,否则加1 else g=g+1; end if; else d=d+1; --d小于9时,d+1 end if;

文档评论(0)

1亿VIP精品文档

相关文档