朋友们,看到这篇文章意味着我还活着,最近比较忙,文章差点太监了。快扶我起来,我还能继续写!
01
—
振荡器

02
—
触发器
可以看到,上面输入位的信号改变不再影响电路的输出结果,电路真的有了记忆特性,震惊不震惊,惊喜不惊喜。
怎么把电路输出重新变成0呢?这个时候下面的输入位就派上用场了,我们改下下面输入位的状态看下。
果然,下面的输入位变成1时候,电路就重新变成了0。当我们把下面的输入位重新变成0,电路输出仍然是0。
这个电路的神奇之处在于,两个输入位都是0的情况下,电路输出有两个稳定状态,有时候是0,有时候是1,这类电路被称为触发器。他赋予了电路记忆的功能,使一切都有了可能。
触发器的种类有很多,刚才介绍的是R-S(Reset-Set)触发器。上面输入位是S,下面的输入位是复位R。R-S触发器可以改造成如下图所示。
这样我们可以S用来设置Q位,而R用来复位。我们可以通过Q和Q’的值确定哪个输入端的最终状态为1。但是,我们可能还需要另外一种电路,使电路可以在我们想存储时候才会被存进去。
怎么设计这种电路呢?我们可能需要一个保持位,当设置为1时候才会存储数据,设置为0时候,就不存储数据。也就是说电路需要有两个输入位。一个保持位H,一个数据位D。当H为1时候D的数据才生效,加个与门是不是就搞定了,让我们来改造一下。
这样,当H为1时候,其实跟R-S触发器的效果是一样的,S端的数据才会被存储到Q里,H为0时候,S的输入对电路没有任何影响。但是我们只需要两个输入位,图中多了一个输入位。怎么再改造一下呢?我们发现S设置为1时候,R肯定为0(置位时候肯定不可能复位),S为0时候,复位设置为1,Q不就变成0了。这么看,他俩完全相反就好了,把S和R用一个非门连起来就搞定了。
大功告成了,这个电路的名字叫做D型触发器,也叫D型锁存器。这个电路可以锁住一位数据,在需要时候使用。我们可以用多个1位锁存器构造出8位锁存器。这样咱们的8位CPU就可以使用这个锁存器存储中间数据了。
当然,事情没有那么简单,还有一种牛逼的D型触发器,叫边沿触发D型触发器。之前的D型触发器只要H位设置为1,输入位设置的数据就会对电路结果产生影响。边沿触发D型触发器,只有在H位由0变成1时候才会触发数据的存储。电路是怎么样的呢?我们可以把两个D型触发器连起来,H为0时候,第一个D型触发器把D输入位的数据保存起来,第二个触发器不做存储。H为1时候,第二个触发器再把第一个触发器的数据存起来输出,直接看电路图吧。
我们可以看到,H为0时候前面的D型触发器的H位由于取了个反,所以会保持数据,但是后面的D型触发器不会保持数据。当H变为1时候,后面的D型触发器会把前面D型触发器的结果保持下来,显示到Q位。边沿触发D型触发器的电路简化为如下符号:
左边的时钟跳变1次,Q的值会变化一次。时钟重复震荡,Q的值在0和1之间切换,也就是说时钟的值变化4次,Q的值变化2次,他们两个频率不一样,这个电路称为分频器。如果我们把多个分频器连起来,就成了计数器。
本篇文章来源于微信公众号: 搞点儿啥
留言