首页 理论教育 翻转与弹跳

翻转与弹跳

时间:2022-02-09 理论教育 版权反馈
【摘要】:当我刚开始学习电子学时,我疯狂地想弄明白,两个或非门或者两个与非门如何才能防止一个简单的单刀单掷按钮弹跳。假定你移动开关使其刀(极)未接触到任何一个触点。以上两种配置都属于堵塞型触发器,取这个名字的原因在于其中的开关迫使触发器立即做出响应,并将其堵塞在该状态。有一个解决办法,就是购买4490“弹跳消除器”之类的专用芯片,它里面包含数字延迟电路。

在前一个实验中我曾提到,该实验电路中的按钮的“弹跳”不会引起什么问题,因为被那些按钮激活的555定时器是接成双稳态的(即触发器模式)。一旦定时器接收到最先的那个脉冲,它就会翻转到其新的状态并保持在该状态,而忽略电路中任何后来的噪音。那么我们能不能用触发器来防止开关或按钮的弹跳呢?因为74HCxx系列中的有些芯片中包含触发器,我们能否使用它们来做这件事情呢?

以上两个问题的答案都是肯定的,但是具体做起来要比想象的复杂得多。

在这个实验中,你需要用到以下的东西。

□ 74HC02逻辑门,它包含4个或非门;74HC00逻辑门,它包含4个与非门。数量:各1个。

□ 单刀双掷开关,数量:1个。

□ LED,低电流的,数量:2个。

□ 10 kΩ 和1 kΩ 的电阻器,各2 个。

请根据图4-98的电路原理图,将各器件安装在面包板上。当你加上电源时(通过调整的5 V 电源供电),其中有一个LED 应该被点亮。

图4-98 这个简单电路用来测试两个或非门被连接成一个简单的触发器(在输入脉冲中断之后,它应该可以保持其状态)时的行为

现在我要你做一件古怪的事情。请抓住开关的刀柱与供电电源的正端之间的连接导线,将该导线的端部从面包板上拔下来,从而断开单刀双掷开关的连接。完成这件事情之后,你也许会惊讶地发现那个LED仍然亮着。

将该导线插回到面包板上,翻转开关,那么第一个LED应该熄灭,同时另一个LED应该被点亮。再次拔下该导线,你会再次看到LED仍然保持点亮状态。

以下是需要牢记的信息。

□ 触发器仅仅要求一个初始脉冲。

□ 在初始脉冲之后,它将忽略自己的输入。

工作原理

两个或非门或者两个与非门都可以起到触发器的功用。

□ 当你的信号是通过双掷开关过来的正电压输入时,请使用或非门。

□ 当你的信号是通过双掷开关过来的负电压输入时,请使用与非门。

以上无论哪种情况,你都得使用一个双掷开关。

我已经反复提及双掷开关3次了(如果将这个句子也计算在内的话,实际上是4次),这里面有一个奇怪的原因,是大多数入门性质的书籍都没有特别强调的。当我刚开始学习电子学时,我疯狂地想弄明白,两个或非门或者两个与非门如何才能防止一个简单的单刀单掷按钮弹跳。直到最后我才发现它们根本就不能做到这一点。其原因在于,当你给电路上电时,或非门(或者与非门)需要你来告诉它们应该从哪个状态开始。它们需要一个初始的取向,这个初始取向来自于处于一个状态或者另外一个状态的(两状态的)开关,因此必须是一个双掷开关(现在我已经提过5次了)。

我将使用另一个简化的、多步的电路原理图(图4-99)来说明在开关来回翻转时两个或非门中发生的变化。为了提醒你,我还附上了一个真值表来说明或非门的每一种输入组合所对应的逻辑输出。

图4-99 这一组共4 个草图说明了由两个或非门与一个来自单刀双掷开关的正电压输入相配合所构成的触发器电路对输入做出响应的过程

假定开始时开关被翻转到左侧。这会将正向电流发送到电路的左侧,并克服下拉电阻器引起的负电压作用,因此我们肯定左侧的或非门具有一个正的逻辑输入。由于任何正的逻辑输入都会导致或非门输出负电压(如真值表所示),而这个负的输出又是交叉连接到右侧或非门的,因此右侧的或非门就有了两个负的输入,这将使它的输出为正。这个正的输出又交叉连接回左侧的或非门。所以,在这个配置中一切都是稳定的。

现在到关键的部分了。假定你移动开关使其刀(极)未接触到任何一个触点(或者假定开关触点产生了弹跳,没有建立起良好的连接,或者假定你把开关完全断开了)。由于没有来自开关的正电压供电,左侧或非门的左侧输入在下拉电阻器的作用下从正变成了负。但这个门的右侧输入仍然是正的,这个正的输入使得这个或非门仍然能够维持负的输出,所以不会有什么改变。换句话说,电路已经“固定”在这个状态了。

现在若将开关完全翻转到右侧,给右边的或非门的右侧引脚供应正电压,快得就像闪电一样,这个或非门将辨识出自己目前有一个正的逻辑输入,因此它将改变自己的逻辑输出为负。这个负的输出又被交叉连接到另外一个或非门,使其有了两个负的输入,因此输出将变成正的,并会被送到右侧或非门的一个输入上。

这样一来,两个或非门的输出状态就发生了交换。它们的状态翻转了,并且会保持在新的状态之下,即使再次发生开关断开接触或连接被断开一类的情况也不会产生什么影响。图4-100所示的一组草图显示了跟图4-99完全相同的触发器逻辑,只不过这里采用的是由负电压供电的开关和两个与非门罢了。你可以使用本实验的购物清单中列出的74HC00芯片,自己去测试这个电路。

图4-100 利用两个与非门和一个输出负电压的开关来重新搭建图4-99 的电路原理图

以上两种配置都属于堵塞型触发器,取这个名字的原因在于其中的开关迫使触发器立即做出响应,并将其堵塞在该状态。在任何时候需要防止开关(只要是双掷开关就行)弹跳,你都可以使用这个电路。

时钟控制的触发器是更为复杂的版本,它要求你先设置每一个输入的状态,然后再提供一个时钟脉冲来使触发器响应。该脉冲必须是干净的、精确的,这就意味着如果你利用开关来提供这个脉冲,那么这个开关必须是防弹跳的——也许可以使用另外一个堵塞型的触发器来满足这一点!时钟控制的触发器需要考虑的东西太多,因此在本书中我不愿意使用它们。它们会使问题变得更复杂,这是在入门性质的课程中应该避免的。

若想防止单掷按钮或开关弹跳,那该怎么办呢?很好,你提出了一个问题!有一个解决办法,就是购买4490“弹跳消除器”之类的专用芯片,它里面包含数字延迟电路。以on半导体公司生产的型号为MC14490PG的这种芯片为例,它包含有6个电路,可以处理6个独立的输入,每个电路内部都有一个上拉电阻器。不过它有点贵,价格是74HC02与门芯片的10倍以上。说真的,还是使用双掷开关要简单些,按照前面的介绍,双掷开关的弹跳很容易消除。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈