当前位置:首页 > 合工大EDA课程实验报告
主控电路的各种特殊功能的实现是这个设计问题的关键,我们通过一个NZXZ的闹钟开关信号,来实现时钟和闹钟显示界面的切换,在两种模式的情况下,时钟系统始终保持计数状态。在模式1,系统计时状态下,通过ts_h和ts_m两个调节开关,可以进行时间的校准;在模式2,系统闹钟状态下,还是ts_h和ts_m这两个调节开关进行闹钟时间的选择,此时通过与非门的组合,可以使调节开关不会干扰到系统时间,进而实现闹钟和时钟功能的实现。 设计内容:
用一个电平信号NZXZ(闹钟选择)开关进行模式切换,其中,NZXZ=0为模式1,系统为计时状态,也可以进行手动校时;NZXZ=1为模式2,系统为闹钟设置状态,后台系统依旧维持计时状态。
设置一个RESET信号,当RESET=0时,整个系统复位;当RESET=1时,系统进行计时或其它特殊功能操作。
设置一个ENP/ENT信号,当ENP/ENT=0时,系统停止计时,可以作为手动校准时间,也可以作为计时器计时使用。
设置一个关闭闹铃信号FM,当FM=0时,关闭闹铃信号;FM=1时,可对闹铃进行设置。
当闹铃功能设置后,系统应启动一比较电路,当计时与预设闹铃时间相等时,启动闹铃声,直到关闭闹铃信号或持续一分钟有效。 整点报时由分针计数器Z60想时针计数器Z24产生进位信号时启动,与闹铃声共用一个扬声器驱动信号。
系统计时时钟为CLK1=1Hz,选择另一时钟CLKD=1024Hz作为产生扫描时钟信号。
13
仿真图:
a.时钟进位模块
利用前面学过的60进制原理,设计成时针、分针、秒针和星期进位。秒针每走60下,就给分针进一位,分针每走60下,就给时针进一位,时针每走24下,就为星期进一位。这样就实现了显示时间和星期的基本时钟功能。
原理图:
14
b.校准、定时输入 校准时间:
当NZXZ=0为模式1,系统为计时状态,此时可以进行手动校时;通过给ts_h和ts_m两个开关脉冲信号,经过或非门和与非门,就可以手动调节时钟时间。
闹钟定时:
当NZXZ=1为模式2,系统为闹钟设置状态,系统利用CLK1的时钟脉冲依旧维持计时状态,给ts_h和ts_m两个开关脉冲信号,经过或非门和与非门,就可以手动调节时钟时间。这必须保证在调节闹钟信号时,不会产生系统时钟的干扰信号,以免改变系统时间。为了解决这个问题,我设计了以下闹钟选择模块,
c. 闹钟选择模块
通过闹钟选择开关NZXZ的高低电压,可以实现在闹钟功能和时钟功能之间切换。一来切换显示时钟和闹钟数字,二来使ts_h和ts_m进行调解时互不干扰,将NZXZ给A信号,则对应的y0和y1会输出不同信号,进而在调节闹钟信号时,不会产生系统时钟的干扰信号,不会改变系统时间。
15
d. 显示切换模块
将NZXZ信号和闹钟输出信号相与,将NZXZ新号通过非门的传递,和时钟输出相与。
这样,当NZXZ=0信号时,闹钟输出信号和NZXZ相与为0,不显示,时钟输出信号和NZXZ的非信号相与,即可显示系统时钟的界面。当NZXZ=1信号时,同理可以知道,数码管将显示闹钟信号的界面。
e. 数据比较器
将闹钟的时针输出信号Q1h[7..4]、 Q1h[3..0],以及分针输出信号Q1m[7..4]、Q1m[3..0],将和系统时钟的时针输出信号Q2h[7..4]、 Q2h[3..0],以及分针输出信号Q2m[7..4]、Q2m[3..0]相互比较,当这两个8位比较器都相等时,两个AEBO的输出信号都是1,这样相与,即可满足二者都为1时,就还满足闹钟响铃信号。
f.数码管扫描显示模块
这在之前的数码管显示实验中已经使用过了,通过3-8译码器控制八个位信号,当给MS1信号时,对应的那一个八位数码管就被选中了,再利用CLKD的高频扫描信号,依次对MS1、MS2、MS3、MS4、MS5、MS6、MS7进行三秒,就可以实现数码管的动态显示。
16
共分享92篇相关文档