设计要求
设计一个篮球竞赛24秒计数器,要求实现以下功能:1、24秒递减计数,到零后停止并且指示灯亮报警。2、有置数、暂停和清零功能。
单元电路的设计
这次实验中用到的芯片是74ls192,它是十进制双向计数器先来看一下它的管脚图以及功能
上图是74ls192的管脚图(我亲自用CAD画的,好幸苦)。其中P0、P1、P2、P3都是置数的,Q0、Q1、Q2、Q3是输出。它有两个CP,其中CPU是加计数,CPD是减计数,需要注意的是无论是先加计数还是减计数,除了接CLK的管脚外,另一个要借高电平。~CO为加计数的进位信号。~BO为减计数的进位信号。~PL为置数管脚。
参考电路图
对于原理图的分析
画原理图的时候一步步的来。
1.首先实现基本的置数然后24秒递减的功能。置数功能的实现并不难。将~LOAD置低电平就可以实现。
2.实现计数到零之后停止计数并且报警。
①首先搞清楚计数到零的标志是什么。当然是十位的借位端出现借位信号(到达00后个位向十位借位,十位不够,向跟高位借位,因此十位的借位端出现低电平)。
设计的时候需要考虑,十位的~BO平时是高电平,clk能够作用。到零后~BO是低电平,clk不能够作用。这个太简单了,不用分析。应该想到将十位的~BO和CLK相与之后送给个位的CPD。
②实现暂停功能的原理其实和到零后自动停止是差不多的。应该想到到零后自动停止是十位的~BO给信号,暂停时开关给信号而已。所以这样就很简单了。只需要将此开关的输出和十位的~BO还有CLK相与就可以实现了。
实际实验中容易出现问题的地方
其他的倒没有什么,本人做实验的时候因为开关是拨动的那种。所以往往暂停,开始,暂停,开始这样重复拨动的时候就会出现抖动情况,也就是在这样拨动的过程中会出现数字乱跳的情况。通过紧固连线还有小心的拨动开关不能从根本上解决问题,只是减小几率。
解决的办法是可以用硬件的方法消除抖动。如下图所示
D锁存器来实现对开关的防抖处理。原理是D置1的时候输出为1,置0的时候输出为0,而为空的时候不变。
常用的D锁存器是74ls373还有74ls573,(373在我的软件里见到过,573倒是没有)。
其他的思路
不一定用数字芯片这样复杂的做,单片机的话很简单,但时候再说吧。