设计要求:
1. 4位数码管显示, 2位显示分钟,2位显示秒钟;
2. 有4个操作按键:“选择按键”,“+按键”,“-按键”,“开始按键”;
3. 初始状态为:数值设定状态,通过“选择按键”来切换,调整分钟或秒钟,然后再通过“+按键”和“-按键”来设定数值的加减,秒钟的设定范围为0~59,分钟的范围为0~99,因此总的数值的设定范围为00:00~99:59;
4. 启动倒计时到数值为零后停止,并点亮一个红灯表示计时结束;
5. 在计时过程中再次按下《开始按键》则进入暂停状态,计数暂停,按下《开始按键》继续
设计思路
需要设计一个脉冲发生器、4进制加法计数器、60和99进制计数器、60和100进制可逆计数器
可用分位的借位输出端连接小灯实现要求4,通过控制时钟来实现要求5
脉冲发生器(maich)的作用:
每当按下加(inc)或减(dec)便会产生一个脉冲,该脉冲作为可逆计数器的时钟信号,同时还需要设立一个输出x来判断让可逆计数器施行加法还是减法。例如:按下inc后产生一个脉冲作为时钟信号,此时x为0让后面的可逆计数器做加法;按下dec后同样产生一个脉冲作为可逆计数器的时钟信号,此时x为1,可逆计数器做减法。
4进制加法计数器的作用:
用来控制和判断当前的工作状态。前面的脉冲发生器每产生一个脉冲遍传给计数器一个时钟,当始终有效,使能端sel有效时该计数器将会加1.
初始状态为0,此时输出端的分使能端(enm)、秒使能端(ens)有效为1,分置数端(ldm)、秒置数端(lds)无效,让两计数器倒数计数
状态1,输出端的分使能端(enm)、秒使能端(ens)无效为0,分置数端(ldm)有效、秒置数端(lds)无效,将分预置数传入分计数器
状态2,输出端的分使能端(enm)、秒使能端(ens)无效为0,分置数端(ldm)无效、秒置数端(lds)有效,将秒预置数传入分计数器
状态3,为空状态,所以显示的结果会与状态2相同
60和100进制可逆计数器(coun_60x1和coun_99x1)的作用:
可逆计数器主要是用于对计数器进行预置数,将设置的开始倒数时间在计时器置数端有效的情况下传给计数器,从设置的时间开始倒数计时。输入x为0做加法,x为1做减法,所以每按一次加(inc)可逆计数器的值就加一;按一次(dec)可逆计数器的值就减