BCD 计数器状态图
bcd计数器状态图
然后,十进制计数器有四个触发器和 16 种潜在状态,其中只有 10 种被使用,如果我们将一系列计数器连接在一起,我们就可以数到 100 或 1,000,或者数到我们选择的任何终计数数字。
计数器可以计数的总计数数称为其模数。计数n 次后返回零的计数器称为模 n 计数器,例如模 8 (MOD-8) 计数器或模 16 (MOD-16) 计数器等,对于“n 位计数器”,计数的整个范围是从0到2n-1。
但是正如我们在异步计数器教程中看到的那样,如果计数器在计数十次后重置,并且采用从二进制0000(十进制“0”)到1001(十进制“9”)的 10 分频计数序列,则该计数器称为“二进制编码的十进制计数器”或简称BCD 计数器,并且可以使用至少四个触发器构建 MOD-10 计数器。
它之所以被称为 BCD 计数器,是因为它的十状态序列是 BCD 码的序列,并且没有规则模式,这与直接二进制计数器不同。然后,??单级 BCD 计数器(例如 74LS90)从十进制 0 计数到十进制 9,因此多可以计数 9 个脉冲。还请注意,数字计数器可以根据输入控制信号向上计数或向下计数或向上和向下计数(双向)。
二进制编码的十进制代码是由四个二进制数字组成的8421代码。8421 名称指的是所用四个数字或位的二进制权重。例如,2 3 = 8、2 2 = 4、2 1 = 2 和 2 0 = 1。BCD 代码的主要优点是它允许在十进制和二进制数字之间轻松转换。
74LS90 BCD计数器
74LS90 集成电路基本上是一个 MOD-10 十进制计数器,可产生 BCD 输出代码。74LS90 由四个主从 JK 触发器组成,内部连接以提供 MOD-2(计数到 2)计数器和 MOD-5(计数到 5)计数器。74LS90 有一个由 CLK A输入驱动的独立切换 JK 触发器和三个切换 JK 触发器,它们形成由CLK B输入驱动的异步计数器,如图所示。
74LS90 BCD计数器
74ls90 bcd计数器
计数器的四个输出用字母符号Q表示,其数字下标等于 BCD 计数器电路代码中相应位的二进制权重。例如,Q A、Q B、Q C和Q D。74LS90 计数序列在时钟信号的负向沿触发,即时钟信号CLK从逻辑 1(高电平)变为逻辑 0(低电平)。
附加输入引脚R 1和R 2是计数器“复位”引脚,而输入S 1和S 2是“设置”引脚。当连接到逻辑 1 时,复位输入R 1和R 2将计数器复位回零,即 0 ( 0000 ),而当设置输入S 1和S 2连接到逻辑 1 时,它们将计数器设置为值,即 9 ( 1001 ),而不管实际计数数或位置如何。
正如我们之前所说,74LS90 计数器在同一封装内包含一个 2 分频计数器和一个 5 分频计数器。然后,我们可以使用任一计数器来生成一个 2 分频频率计数器、一个 5 分频频率计数器,或者将两者结合起来生成我们所需的 10 分频 BCD 计数器。
在组成 5 分频计数器部分的四个触发器被禁用的情况下,如果将时钟信号施加到输入引脚 14 ( CLK A ) 并将输出取自引脚 12 ( Q A ),我们可以生成一个标准的 2 分频二进制计数器,用于分频电路,如图所示。
74LS90 2分频计数器
74ls90 除以2计数器
为了产生标准的 5 分频计数器,我们可以禁用上面的个触发器,并将时钟输入信号直接应用于引脚 1 ( CLK B ),输出信号取自引脚 11 ( Q D ),如图所示。
74LS90 5分频计数器
74ls90 5分频计数器
请注意,使用此 5 分频计数器配置,输出波形不对称,但具有 4:1 的标记空间比。也就是说,四个输入时钟信号产生低电平或逻辑“0”输出,第五个输入时钟信号产生高电平或逻辑“1”输出。
要生成 10 分频的 BCD 十进制计数器,需要使用两个内部计数器电路,从而得到 2 倍 5 分频值。由于触发器“A”的个输出Q A未在内部连接到后续级,因此可以通过将此Q A输出连接到CLK B输入(如图所示)来扩展计数器以形成 4 位 BCD 计数器。
74LS90 10分频计数器
74ls90 10分频计数器
然后我们可以看到,BCD 计数器是二进制计数器,计数范围从0000到1001,然后重置,因为它能够在第九次计数后清除所有触发器。如果我们将按钮开关 ( SW 1 ) 连接到时钟输入CLK A,则每次释放按钮开关时,计数器都会计数一。如果我们将发光二极管 (LED) 连接到输出端子Q A、Q B、Q C和Q D(如图所示),我们可以查看二进制编码的十进制计数。
74LS90 BCD十进制计数器
74ls90十进制计数器
连续按下按钮开关SW 1会使计数增加到 9,即 1001。按下第十次时,输出ABCD将重置为零,以开始新的计数序列。有了这样的 MOD-10 脉冲整数,我们可以使用十进制计数器来驱动数字显示器。
如果我们想使用七段显示器显示计数序列,则需要对 BCD 输出进行适当的解码才能显示。能够解码 74LS90 BCD 计数器的四个输出并点亮显示器所需段的数字电路称为解码器。
驱动显示器
幸运的是,有人已经设计并开发出BCD 到 7 段显示解码器IC,例如 74LS47,可以实现这一功能。74LS47 有四个输入端,分别用于 BCD 数字A、B、C和D,以及七段显示器的每个段的输出端。
请注意,标准 7 段 LED 显示屏通常有八个输入连接,每个 LED 段一个,一个用作所有内部显示段的公共端子或连接。某些显示屏还具有小数点 (DP) 选项。
74LS47 BCD 至 7 段驱动器
74ls47 7段驱动器
74LS47 显示解码器接收 BCD 代码并生成必要的信号以激活相应的 LED 段,这些 LED 段负责显示所施加的脉冲数。由于 74LS47 解码器设计用于驱动共阳极显示器,因此低电平(逻辑 0)输出将点亮 LED 段,而高电平(逻辑 1)输出将使其“关闭”。对于正常运行,LT (灯测试)、BI/RBO(消隐输入/纹波消隐输出)和RBI(纹波消隐输入)必须全部打开或连接到逻辑 1(高电平)。
请注意,虽然 74LS47 具有低电平有效输出,并且设计用于解码共阳极 7 段 LED 显示屏,但 74LS48 解码器/驱动器 IC 完全相同,只是它具有高电平有效输出,设计用于解码共阴极 7 段显示屏。因此,根据您拥有的 7 段 LED 显示屏的类型,您可能需要 74LS47 或 74LS48 解码器 IC。
74LS47 二进制编码十进制输入可连接到 74LS90 BCD 计数器的相应输出,以便在每次按下按钮SW1时在 7 段显示屏上显示计数序列,如所示。通过改变按钮和 1kΩ 电阻的位置,可以使计数在按钮开关SW1激活或释放时发生变化。
终的 4 位 BCD 计数器电路
74ls90电路
请注意,7 段显示器由七个单独的发光二极管组成。限制通过七段显示器的电流的方法是使用与七个 LED 串联的限流电阻器(如图所示)。但我们可以通过两种方式做到这一点。
限流电阻
单限流电阻
单电阻 ——这里使用单串联限流电阻R。如果您不是特别关心恒定的显示亮度,那么这是控制 7 段显示器简单??、便捷的选项。
LED 发出的光量随流经设备的电流而变化,流经电阻器的电流由显示段数共享。那么显示屏的亮度现在取决于同时点亮的段数。
多路限流电阻
多个电阻器 ——这里每个段都有自己的限流电阻器,如上面的简单 BCD 计数器电路所示。
通常,7 段显示器需要大约 12 到 20 毫安的电流来点亮各个段,因此选择限流电阻的电阻值(所有电阻值都相同)以将电流限制在这些值内。请注意,如果以 40mA 及以上的电流驱动,某些显示器可能会损坏。
这样做的好处是,特定 LED 段的亮度不取决于其他六个 LED 的状态,从而使显示屏亮度恒定。可以选择限流电阻的值来提供正确的亮度,因为环境光量也将决定所需的 LED 强度。
我们的电路显示了一个简单的 0 到 9 数字计数器,它使用74LS90 BCD 计数器和 74LS47 7 段显示驱动器。要计数超过 10 并产生 2 位十进制计数器和显示,我们需要将两个独立的十分频计数器级联在一起。2 位 BCD 计数器将以十进制从 00 计数到 99(0000 0000 到 1001 1001),然后重置回 00。请注意,虽然它将是一个 2 位计数器,但表示从A到F的十六进制数的值在此代码中无效。
同样,如果我们想从 0 计数到 999(0000 0000 0000 到 1001 1001 1001),则需要三个级联十进制计数器。事实上,只需将单个 BCD 计数器电路级联在一起即可构建多个十进制计数器,每个十进制一个,如图所示。
2 位 BCD 计数器,范围从 00 到 99
2位bcd计数器
BCD 计数器摘要
在本教程中,我们已经看到BCD 计数器是一种在时钟控制下经历十个状态序列并在计数到 9 后返回到 0 的设备。在上面的简单示例中,输入时钟脉冲来自按钮开关,但计数器可用于计数许多现实世界事件,例如计数移动物体。
然而,可能需要合适的电路来为每个要计数的事件生成电脉冲,因为这些事件可能以离散的时间间隔发生,或者它们可能是完全随机的。
在许多数字电子电路和应用中,数字计数器是使用切换触发器或任何其他类型的触发器来实现的,这些触发器可以连接起来提供所需的切换功能,或者使用专用计数 IC(例如 74LS90)。二进制计数器是经过二进制序列的计数器,n 位二进制计数器由“n”个触发器组成,从 0 计数到 2n-1。
BCD 计数器遵循十个状态的序列,使用从0000到1001 的BCD 数字进行计数,然后返回到0000并重复。这种计数器必须至少有四个触发器来表示每个十进制数字,因为十进制数字由二进制代码表示,其中至少有四位提供 MOD-10 计数。
我们还看到,BCD 编码输出可以使用四个 LED 或数字显示器显示。但要显示从 0 到 9 的每个数字,需要一个解码器电路,该电路将二进制编码数字表示转换为每个显示段上的适当逻辑电平。
显示解码器电路可以由组合逻辑元件构成,市场上有许多专用集成电路可以执行此功能,例如 74LS47 BCD 至 7 段解码器/驱动器 IC。
大多数 7 段显示器通常用于多位计数应用,因此通过级联更多 BCD 计数器,可以构建显示读数为 9999 的 4 位计数器。
74LS90 BCD 计数器是一种非常灵活的计数电路,可用作分频器,或通过将适当的输出反馈到 IC 的复位和置位输入来划分从 2 到 9 的任何整数计数。