赞
踩
数字钟设计
一、实验目的:
1.熟悉和掌握基本电子计数器及数码显示的工作原理
2.能独立的完成基本电子计数器的设计,并由此设计出带一定功能的电子钟
二、实验要求
设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校准时间,每逢整点,产生报时音报时。
三、实验平台:
MAX+PLUSII10.1
四、实验过程
一)、总体思路:
这是一个电子钟,其功能如下:可以实现正常的时钟功能,可以调整时间,整点会报时(用显示灯表示),同时还可以设置闹钟,可以显示所设的闹钟值,闹钟有分响铃(用批示灯表示)。在需要校正时间时,不需要暂停时间,可以像在手机上操作一样,用三个调整键,分别对小时调整(CHANGEH),对分钟的第一位调整(CHANGETM),对分钟的第二位调整(CHANGEM)。为了更好的操作,加一个UPDOWN键,为1时,则是每次加1,为0时,则是每次减1。对闹钟进行设置时,不影响正常的计时模块,所以不分影响准确的时间。对每一部分的操作则是通过总的控制模块来实现的。
整个数字钟的系统框图如下图所示:
该数字钟的硬件系统示意图如下图所示:
二)、模块及代码和波形图:
1、正常计时模块:
★、六进制计数器COUNT6的VHDL代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COUNT6 IS
PORT( CLK,UPDOWN,CLR,P:IN STD_LOGIC;
Q:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);
COUT:OUT STD_LOGIC);
END COUNT6;
ARCHITECTURE RTL OF COUNT6 IS
BEGIN
PROCESS(CLK,CLR,P)
BEGIN
IF(CLR='0')THEN
Q<="000";
COUT<='0';
ELSIF(CLK'EVENT)AND(CLK='1')THEN
IF(P='0')THEN
IF(Q="101")THEN
Q<="000";
COUT<='1';
ELSE Q<=Q+1;
COUT<='0';
END IF;
ELSE
IF(UPDOWN='1')THEN
IF(Q="101")THEN
Q<="000";
COUT<='0';
ELSE Q<=Q+1;
COUT<='0';
END IF;
ELSE
IF(Q="000")THEN
Q<="101";
COUT<='0';
ELSE Q<=Q-1;
COUT<='0';
END IF;
END IF;
END IF;
END IF;
END PROCESS;
END RTL;
COUNT6波形仿真图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。