多功能数字钟设计实验报告
(4)报时电路
a.基本原理
要实现从59分53秒开始报时,每隔一秒发一声,共发三声低音,一声高音;即59分53秒、59分55秒、59分57秒发低音(512Hz),59分59秒发高音(1kHz),
即:
H=59'53''f3+59'55''f3+59'57''f3+59'59''f4
=59'51''(2''f3+4''f3+6''f3+8''f4)
=59'51''(2''f3?4''f3?8''f4)
依次用m8m7m6m5m4m3m2m1s8s7s6s5s4s3s2s1表示分秒的十位个位,那么上面的表达式即可表示为:
H=m7m5m4m1s7s5s1(s2f3?s3f3?s4f4)
则该部分的结构框图如下:
12
多功能数字钟设计实验报告
b.实现方式
该部分全部用逻辑门电路实现。 c.电路图
报时电路图如下:
(5)校分电路
a.基本原理
校分电路包含校分、校时、校星期,其原理大致相同,都是通过开关控制时钟端接1Hz的同时使能端接上一位进位端,或者时钟端接2Hz的同时使能端置1,即通过开关控制某位计数器是否受上一位的影响。
同时,校分、校时时都应保持不进位,使校正位不影响正确位,则控制使能端是否连接进位信号。 b.实现方式
该部分电路全部由逻辑门实现。
13
多功能数字钟设计实验报告
c.校分电路图
校分、校时、校星期电路图逻辑关系相似,如下图:
控制计数器时钟端
控制计数器使能端
d.仿真波形图
校分时仿真波形图如下:
校时时仿真波形图如下:
(6)清零电路
a.基本原理
计时电路中各计数器均具备清零端,只要把它们同时用一开关控制,则可实现一键清零的功能。 b.实现方式
14
多功能数字钟设计实验报告
用一个开关输入信号同时控制三个清零端即可。 c.仿真波形图
输入清零信号后的仿真波形图如下:
(7)闹钟电路
a.基本原理
闹钟电路基本由设置电路、比较器两部分组成:
设置电路用两个计数器实现, 分别设置分和小时(闹钟与秒位无关)。与计时电路中的计数器类似,分采用模六十计数器,小时采用模二十四计数器,简单之处在于,设置闹钟的过程并不需要分向小时进位,只要单独设置分和小时即可,于是两个计数器独立工作,而设置的过程为节省时间均采用2Hz的时钟。
比较器的功能是比较正常走时电路与设置的闹钟时间,使得当二者相等时输出一个信号到蜂鸣器端使之发出报警。 b.实现方式
用前述计时电路的计数器实现设置电路,比较器通过VHDL语言编程,设定比较条件从而实现比较功能。彩铃的实现仍旧通过VHDL语言编程,此实验中彩铃音乐的整体框架程序来源于网络,其中的乐谱为自己编写。 c.程序与电路图
计数器程序如前,不再赘述。 比较器VHDL程序如下: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY comparator IS
PORT(a1,a2,a3,a4,b1,b2,b3,b4:in std_logic_vector(3 downto 0); c:buffer bit); END comparator;
ARCHITECTURE beh OF comparator IS
SIGNAL a,b: std_logic_vector(15 downto 0); BEGIN
a<=a4&a3&a2&a1;b<=b4&b3&b2&b1; PROCESS(a,b) BEGIN
IF (a=b and (a/=\ ----两组数相等时输出闹铃信号 c<='1';
15
相关推荐: