用同步十进制加法记数器构成的一个六进制记数器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何改进六进制记数器设计的方法
---私立华联学院电子信息工程系龙志
摘要:本文主要通过对同步十进制加法计数器74LS160实现六进制计数器的的常规设计分析,进而研究并实现对六进制计数器的改进设计,本设计主要是对74LS160的异步复位端进行分析设计,使用74LS160能克服触发器的工作速度的差异情况以及竞争冒险现象,实现了使异步复位信号能够持续足够长的时间,从而使74LS160能够从0110这一状态复位变为0000状态,成功得竞争结果,实现我的设计思想。
关键字:同步计数器、加法计数器、触发器、计数脉冲、异步复位、预置数
引言:任何一个数字系统几乎都包含计数器。计数器不仅可以用来计数,也可用来定时、分频和进行数字运算。所谓计数,就是计算输入脉冲的个数,而计数器就是实现计数功能的时序部件。计数器的种类很多。按照组成计数器各触发器的状态转换所需CP是否来自统一的计数脉冲,可以分为同步计数器和异步计数器;按照计数数值的增减情况可以分为加法计数器、减法计数器和可逆计数器;按照计数进位制不同可分为二进制计数器、十进制计数器和任意进制计数器;按照集成工艺不同可分为双极型计数器和单极型计数器。另外,计数器既有中规模集成组件,也可以用小规模集成电路组成。
正文:除了计数功能外,计数器还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。
同时我们也知道计数器是一种应用十分广泛的时序电路,除用于计数,分频外,还广泛用于数字测量,运算和控制,从小型数字仪表,到大型数字电子计算机,几乎无所不在,是任何现代数字系统中不可缺少的组成部分。
计数器可利用触发器和门电路构成.但在实际工作中,主要是利用集成计数器来构成.在用集成计数器构成N进制计数器时,需要利用置数控制端或清零端,让电路跳过某些状态来获得N进制计数器。下面我举自己设计的用同步十进制加法计数器74LS160构成一个六进制计数器。
首先,在做出设计之前,我们先来了解一下同步加法计数器74LS160主要功能,如表1:
表1 74160的功能表
由表1可知,74LS160具有以下功能:
①异步清零。当R D=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,计数器输出将被直接置零(Q3Q2Q l Q0=0000),称为异步清零。
②同步并行预置数。当R D=1、L D=0时,在输入时钟脉冲CP上升沿的作用下,并行输入端的数据d3d2d1d0被置入计数器的输出端,即Q3Q2Q l Q0=d3d2d1d0。由于这个操作要与CP上升沿同步,所以称为同步预置数。
③计数。当R D=L D=EP=ET=1时,在CP端输入计数脉冲,计数器进行二进制加法计数。
④保持。当R D=L D=1,且ET
EP =0,即两个使能端中有0时,则计数器保持原来的状态不变。这时,如EP=0、ET=1,则进位输出信号RCO保持不变;如ET=0则不管EP状态如何,进位输出信号RCO为低电平0。
有了以上的功能,我们就可以很灵活的对74LS160芯片进行应用操作
因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001图1-1。
图1-1
我保留哪六个状态呢?理论上,我保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我保留0000和1001两个状态。因为
74LS160从1001变化到0000时,将在进位输出端产生一个进位脉冲,所以我保留了0000和1001这两个状态后,我就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。而我采用0000、0001、0010、0011、0100和1001这六个状态。如何让74LS160从0100状态跳到1001状态呢?我用一个混合逻辑与非门构成一个译码器图1-2,当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于等于1001,74LS160就会预置成1001,从而实现了状态跳跃。
图1-2 用置数法将74LS160接成六进制计数器(置入1001)
另外一个方法的六进制计数器就是如图1-3,是用74LS160实现六进制计数器的参考电路。当Q3Q2Q1Q0=0111时,经过与非门所产生的零脉冲迅速使计数器清零,之后在输入CP脉冲的作用下,并很快依次输出
0000→0001→0010→0011→0100→0101→0000。当输入6个低频连续脉冲,从而可通过数码管来观察显示设计的结果。
图1-3 74LS160实现六进制计数器的设计
再者,在设计方面,我们还可采用异步方法,所以下面的设计,比以上这两个方案稍微
繁琐一点的是利用74LS160的异步复位端。下面这个电路中图1-3,也有一个由混合逻辑与非门构成的译码器。
图1-3 用置零法将74LS160接成六进制计数器
不过,这个译码器当输入为0110时才输出低电平,使74LS160异步复位,进入0000这个状态。从0000状态开始,随着时钟脉冲的不断到来,74LS160依次变为0001、0010、0011、0100、0101、和0110状态图1-4。可能有人说:“不对!这个电路总共有七个状态,应该是七进制计数器呀!”但你想,这个电路虽然要经历七个状态,但是只需六个脉冲就完成一个计数循环,因此它仍是六进制计数器,这就是我们常常所要注意的问题。
图1-4