计数器应该是比较常用的时序电路了。计数器分很多种,在国内见的比较多的应该是“沙计数器”了,就是1=1,11=2,111=3那种
这种设计一般用在小游戏中,如果用来计比较大的数,那就比较麻烦了,因为每扩展一位,计数器就要长两格,相比之下,二进制计数器的优点就显现出来了。
假如我要计127个数,那么“沙计数器”至少要254格,但是二进制才占15格左右。
可以看到,白色的部分都是一样的,单个的白色就是T触发器了,T触发器只有一个输入,一个输出,输入是接收时钟或脉冲信号的,输入会随着输入端而反转,也就是说假如原来是1,输入有信号时输出就变成了0。
上图的连接方式是最简单的,叫行波计数器(把n位的输出连接到n+1位的输入),也就是说他们4个T触发器的输入端不是同步的,你只要给第一个的输入一个信号,后面的会随第一个的状态改变而做出改变。这种计数器用的材料最少,但是速度也相对较慢,最坏的情况,要等n*T的时间才能输出最终结果(n是位数,T是T触发器自身的延时)因为n的输出连接着n+1的输入,所以要逐次运算
所以呢,要解决这个问题就要用到同步计数器了,也就是一个时钟或脉冲信号可以控制所有的T触发器的输入
我临时做了一个,没压缩,比行波那个大很多,但是速度提高不少,下面是电路图
这是带了使能端的T触发器,用D触发器改的,我先把它编辑成模块
T就是T触发器的时钟输入,EN是使能端,当使能端为0,T触发器会忽视T端的信号,Q是输出
Logisim里不能很好地模拟时序电路,所以我就不展示效果了。因为EN是控制是否忽视T端信号的,所以当EN为0时T端是无效的,那个与门是用来检测前一位是否为1的,如果少了与门,那么同步了T端的话,所有的T触发器会同时亮起。
原理和行波的一样,都是根据前一个T触发器来判断当前T触发器应该怎么变化,但是这种可以使全部T触发器同时判断是否变化,省去了逐位判断的时间
来源:游民星空
相关新闻
- 突破天际 神人在《我的世界》还原超真实世界 2013-01-05 14:49:27
- 我的世界 Minecraft1.4.5内置修改器 2012-12-19 16:33:59
- 势不可挡《我的世界》总销量达1750万 2012-12-14 11:17:26
- FPS版我的世界《精英战队》今日正式运营 2012-12-13 10:57:26
- 《最终幻想7》主城乱入《我的世界》 2012-11-21 10:59:50
- 《我的世界》PC版的销量突破800万套 2012-11-13 20:47:22
- 我的世界Minecraft 孤岛惊魂3正式MOD 2012-11-06 21:25:09