1.2 数字电路
1.2.1 数字电路概述
数字电路是对数字信号进行传输、处理、存储的电子线路。电子数字计算机中使用的都是数字电路。数字电路由二极管、三极管、电阻、电容等电子元器件组成基本的逻辑单元,随着微电子技术的发展,在一块半导体芯片上可以集成大量的逻辑门电路,产生数字集成电路。根据集成度的大小,形成了小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)和超大规模集成电路(VLSI)等多种数字电路。在数字电路中,处理的是“0”和“1”表示的信号,电路中用电平的高低、电路的通断来表示二进制数据,用脉冲的编码表示数字信号,根据二进制编码进行运算处理。
数字电路根据输入与输出信号的关系可分为组合逻辑电路和时序逻辑电路两大类。
组合逻辑电路中所产生的稳定的输出信号只和当时各输入信号的组合有关,而与过去的输入值无关。组合电路具有两个特点,即:
(1)电路由逻辑门电路组成,不包含任何记忆元件,没有记忆功能;
(2)输入信号是单向传输的,电路中不存在任何反馈回路。
常用的组合逻辑电路有基本的逻辑门电路,包括与门、或门、非门(反相器)、异或门、三态门等,以及由此组合形成的与非门、或非门、与或非门等电路,还包括缓冲器、编码器、译码器、多路选择器、数值比较器等电路。
时序逻辑电路中,在任何时刻电路的稳定输出信号不仅和当时的输入信号有关,还与电路过去的输入及状态有关。因此,时序逻辑电路中必须有记忆元件,用来记录与过去的输入有关的信息。
时序逻辑电路根据工作方式的不同可分为同步时序逻辑电路和异步时序逻辑电路两种。在同步时序逻辑电路中,有统一的时钟脉冲信号。只有这个时钟脉冲信号到来时,电路的状态才能发生变化,它起着同步的作用。如果时钟脉冲没有到来,即使输入信号发生变化,也不会改变电路输出的状态。在异步时序逻辑电路中,没有统一的时钟脉冲信号,时钟脉冲信号只作为一个输入信号,电路输出状态的改变由输入信号的改变直接引起。
常用的时序逻辑电路有各种触发器,包括R⁃S触发器、D触发器、J⁃K触发器、T触发器等,还包括寄存器、计数器、存储器等电路。
1.2.2 组合逻辑电路
组合逻辑电路的输出信号只和当时的输入信号有关。组合电路的应用十分广泛,它不但能独立实现各种复杂的逻辑操作,而且是时序逻辑电路的基本组成部分。
1. 逻辑门电路
在数字系统中,基本的逻辑电路控制着系统中信息的流通,它们的作用和门的开关作用极为类似,故称为逻辑门电路。门电路是逻辑设计的最小单位,它可以由电阻、电容、二极管、三极管等分立元件组成。随着半导体技术的发展,目前使用的大都是集成逻辑门电路。根据逻辑功能的需要,把构成逻辑门电路的各个元件和它们之间的连线都集成在一块半导体芯片上,就形成了各种集成门电路。这些集成门电路具有体积小、耗电省、可靠性高、成本低、使用方便等优点,因而得到了广泛应用。这里讨论的是半导体集成逻辑电路的使用。
在讨论逻辑电路的时候,都采用正逻辑来描述。即约定高电平(如 +5V)表示逻辑“1”,低电平(如0V)表示逻辑“0”。
(1)“与”门
实现逻辑“与”功能的电路称为“与”门。
“与”门有两个以上的输入端和一个输出端,如果用An 表示输入端,Y表示输出端,“与”门的逻辑表达式为:Y=A1 ·A2 ·A3…An 或Y=A1∧A2∧A3…∧An。
“与”门的逻辑关系是:输入信号中,只要有一个输入端为“0”,输出结果就为“0”。只有所有的输入端全为“1”,输出才为“1”。
“与”门逻辑符号如图1-4所示。图中分别列出了常用的符号、国际通用的符号和国家标准使用的符号,以两输入端(A、B)的“与”门为例。
图1-4 “与”门逻辑符号
“与”门真值表见表1-4。
表1-4 “与”门真值表
(2)“或”门
实现逻辑“或”功能的电路称为“或”门。
“或”门有两个以上的输入端和一个输出端,如果用An 表示输入端,Y表示输出端,“或”门的逻辑表达式为:Y=A1 +A2 +A3…+An或Y=A1∨A2∨A3…∨An。
“或”门的逻辑关系是:输入信号中,只要有一个输入端为“1”,输出结果就为“1”。只有所有的输入端全为“0”,输出才为“0”。
“或”门逻辑符号如图1-5所示。图中分别列出了常用的符号、国际通用的符号和国家标准使用的符号,以两输入端(A、B)的“或”门为例。
图1-5 “或”门逻辑符号
“或”门真值表见表1-5。
表1-5 “或”门真值表
(3)“非”门
实现逻辑“非”功能的电路称为“非”门,又称为反相门或反相器。
“非”门有一个输入端和一个输出端,如果用A表示输入端,Y表示输出端,“非”门的逻辑表达式为:。
“非”门的逻辑关系是:输入和输出信号取值互为相反。即若输入端为“0”,输出结果就为“1”;输入端为“1”时,输出为“0”。
“非”门逻辑符号如图1-6所示。图中分别列出了常用的符号、国际通用的符号和国家标准使用的符号。
图1-6 “非”门逻辑符号
“非”门真值表见表1-6。
表1-6 “非”门真值表
(4)“异或”门
实现复合逻辑“异或”功能的电路称为“异或”门。
“异或”门有两个输入端和一个输出端,如果用A和B表示输入端,Y表示输出端,“异或”门的逻辑表达式为:Y=A⊕B,读做“Y等于A异或B”。
异或运算的法则如下:
0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0
“异或”门是一种复合逻辑,它的逻辑关系是:当两个输入信号A、B取值相异(不同)时,输出Y的值为“1”,即二者的或值;当两个输入信号A、B取值相同时,输出Y的结果就为“0”。因此,异或的表达式又可写为:
“异或”门逻辑符号如图1-7所示。图中分别列出了常用的符号、国际通用的符号和国家标准使用的符号,以两输入端(A、B)的“异或”门为例。
图1-7 “异或”门逻辑符号
“异或”门真值表见表1-7。
表1-7 “异或”门真值表
除了“异或”门外,常见的复合逻辑门电路还有“与非”门、“或非”门、“与或非”门、“异或非”门(“同或”门)等。
(5)三态门
三态门电路也是一个逻辑门电路,它除了有一个数据输入端DI和一个输出端DO外,还有一个控制端C。当控制端C为有效电平时,三态门的作用和普通的逻辑门相同。当控制端C为无效电平时,三态门处于高阻状态,即此时它的输出端与输入端之间呈现很高的阻抗,相当于断开状态。
三态门有三种输出状态:低电平(“0”)、高电平(“1”)和高阻抗状态(断开)。控制端C有两种形式:低电平有效(C=0)和高电平有效(C=1)。图1.8所示为三态门逻辑符号。
图1-8 三态门逻辑符号
计算机系统中各个部件之间的信息传递都是由一组公用的引线来进行的,这组公共引线称为总线(BUS)。总线就是连接系统各个部件之间的公共信息通道。在采用总线结构的系统中,总线上连接了多个部件,由于同一时刻总线上只能传递一组信息,因此,所有连接在总线上的部件必须通过开关与总线相连,通常采用三态门作为总线开关。三态门的控制端C由CPU根据指令发出控制信号来实现,使得总线上的各个部件有序地工作。
以上介绍了常用的逻辑门电路,以下介绍在此基础上形成的中、大规模集成电路。
2. 三态数据缓冲器
在计算机系统中,经常要使用三态缓冲器。三态缓冲器是由若干个三态门和一些控制逻辑电路组成的。
三态门有三种输出状态:低电平(“0”)、高电平(“1”)和断开(高阻抗)。当控制端为有效电平时,它就是一个普通的逻辑门,称为三态门选通,这时在电路中往往要提高其输出的驱动能力;当控制端为无效电平时,输出为高阻抗状态,相当于输入与输出断开的状态。所以,从作用上来看,三态门就像一个加了开关的驱动器。图1.9所示为三态门电路。
在总线结构的系统中,每个和总线连接的部件使用的缓冲器都具有三态输出能力,这样就可以保证总线上同一时刻只能有一组信息传递。
在计算机系统中常用的三态缓冲器有74LS244、74LS245等器件,它们不仅起缓冲作用,还能提高总线的驱动能力。
图1-9 三态门电路
(1)8路数据缓冲器74LS244
74LS244是一个8路数据缓冲器,其逻辑功能图和引脚图如图1-10所示。
图1-1 并联开关电路
图1-10 74LS244的逻辑功能图和引脚图
74LS244是一个8路单向的缓冲器。由图可见,它的内部包含8个三态缓冲门单元,被分为两组,每组4个单元,分别由三态门控制信号和控制。
当控制端1G为低电平时,输入端1A1 ~1A4 的信号将被传送到输出端1Y1 ~1Y4,当信号为高电平时,输出端1Y1 ~1Y4 为高阻态。当控制端为低电平时,输入端2A1 ~2A4的信号将被传送到输出端2Y1 ~2Y4,当信号为高电平时,输出端2Y1 ~2Y4 为高阻态。
74 LS244常用于外部设备和计算机系统的数据总线连接,如构成外设的输入数据端口,把它的输入端A和外设的数据线相连,而它的输出端Y可以连接到CPU的数据总线上,由CPU发出信号控制控制端,这样就能使CPU正确地得到外设的数据。当把74 LS244用于8位的数据总线上时,可以将控制端和连接在一起,由同一个选通或片选信号来控制。
74LS244是一个单向的数据缓冲器,数据只能从A端传送到Y端。对于要进行双向数据传送的情况,要选用双向数据缓冲器74LS245。
(2)双向数据缓冲器74LS245
双向数据缓冲器74LS245内部包含8个双向、三态的缓冲门单元,它们都有两个公共的控制端,其中一个是低电平有效的三态门控制信号,另外一个是方向控制端DIR。
门控选通信号为低电平时,数据才能在A和B之间传送,这时传送方向由DIR信号控制。由图1-11可以看出,若DIR为高电平,则数据从A端传送到B端;若DIR为低电平,则数据从B端传送到A端。
图1-11 74LS245控制逻辑图
当门控选通信号G为高电平时,A与B之间为高阻抗状态(断开),或称为隔离状态。
图1-11所示为双向传送的控制逻辑图,表1.8为74LS245功能表。
表1-8 74LS245功能表
74LS245常用于可读写的存储器、外部设备和计算机系统的数据总线连接。这时,存储器或外设和CPU之间的数据传送是双向的。应用时,可以把A端和CPU的数据总线相连,B端与可读写的存储器或外设的数据线相连。控制端可以由片选信号产生,DIR信号则由CPU的读写控制信号实现。这样就能使CPU正确地和存储器或外设进行数据交换,完成读、写或输入/输出的操作。
74LS245的逻辑功能图和引脚图如图1-12所示。
图1-12 74LS245逻辑功能图和引脚图
在微机系统中,输入设备的数据线不能和系统的数据总线直接相连,要经过三态缓冲器与总线相连。当CPU需要读取这些数据时,就输出相应的控制信号来选通三态缓冲器,将输入设备的数据放到数据总线上,这个操作是CPU根据指令在总线读周期中完成的。往往选用单向的三态缓冲器完成这项工作。
在微机系统中采用总线结构,其中数据总线是双向的,CPU可以对存储器或外设进行读写操作。往往采用双向三态缓冲器和数据总线相连,根据不同的总线周期,CPU发出不同的控制信号,选通双向缓冲器的方向信号DIR和选通信号G,完成读写操作。
3. 译码器
译码器是一个多输入端的组合逻辑电路,通常有n个输入变量,有2n 个对应输出信号。每一个输出对应一组输入n个变量的最小项。也就是说,当n个输入信号的值确定后,输出信号中总有一个输出与之对应,为其有效电平(高或低电平),而其余的输出则为无效电平(低或高电平)。因此称为译码电路。常用的译码器有二-四译码器(二输入、四输出)74LS139、三-八译码器(三输入、八输出)74LS138、四-十六译码器(四输入、十六输出)74LS154等。以下以三-八译码器74LS138为例加以介绍。
74LS138有三个输入端,分别为C、B和A,对应23 即8个输出信号,由于输出是低电平有效,因此分别称为、、…、。它还有三个控制端,分别为G1、、。只有当G1 =1、、时,才允许对输入的C、B、A的代码进行译码,根据C、B、A的状态,对应8个输出信号中的一个为低电平,其他为高电平。例如,CBA=000,则,其他7个输出为“1”;CBA=101,则,其他7个输出为“1”;CBA=111,则,其他7个输出为“1”。三个控制端G1、、中有一个无效,则不允进行译码,8个输出端都为“1”,即无效电平。
74LS138译码器的逻辑图、引脚图、真值表如图1-13所示。
图1-13 74LS138译码器的逻辑图、引脚图、真值表
译码器在计算机系统中经常用于地址译码。地址译码电路的作用是根据为存储器、输入/输出接口分配的地址,对地址信号进行译码,产生相应的芯片片选信号。一般原则是将系统中地址总线的信息分为高位地址和低位地址两部分。由高位地址和CPU的读写控制信号一起经译码电路产生存储器或输入/输出接口芯片的芯片选中(片选)信号,实现片间的寻址。系统地址总线上低位地址直接连接到各芯片的地址输入引脚上,这样来实现片内寻址。
【例1-5】 图1-14使用74LS138译码器对EPROM存储器芯片进行译码。
图1-14 存储器地址译码
可以看出,A15=0时,74LS138译码器的控制端G1 =1,=0,-=0满足条件,允许译码器工作。EPROM 2732芯片是一个容量为4K × 8位的可紫外线擦除的可改写的只读存储器,片内有4K(4096)个存储单元,片内寻址需要12条地址线,图中地址线A0~ A11连接到芯片的地址引脚上。片选信号就由连接到74LS138的C、B、A引脚上的地址信号经译码产生。
由表1.9得出:
1#芯片的地址范围为0000H ~0FFFH;
2#芯片的地址范围为1000H ~1FFFH。
表1-9 存储器芯片2732 对应的地址范围
【例1-6】 图1-15为IBM PC/XT计算机系统板中I/O接口电路的选中信号产生电路。
图1-15 系统板中I/O接口电路的选中信号产生电路
IBM PC/XT计算机主板上设置有4个可编程的接口芯片,分别是:DMA控制器8237A、中断控制器8259A、定时器/计数器8253、并行输入/输出接口芯片8255A,此外还有两个特定用途的电路:DMA页面寄存器和NMI屏蔽寄存器。
该译码电路由一片三-八译码器74LS138(U4)和两个或门74LS32(U59)组成。
当CPU控制总线时,控制信号,这时若A9 =0,A8 =0,则译码器74LS138工作。根据连接到输入端的地址信号A7(C端)、A6(B端)、A5(A端)的状态,进行译码,使得输出信号~中的一个为低电平,其余为高电平。
译码器的输出信号作为系统板的可编程接口芯片的片选信号,将它们分别接到相应接口芯片的片选引脚,或接到相应电路的控制端。该信号与CPU发出的读写命令或配合,控制相应电路进行输入/输出操作,译码电路完成芯片选择即分配地址的任务。
PC/XT计算机I/O接口译码电路输出端对应的地址范围如表1-10所示。
表1-1 “或”运算的真值表
表1-10 PC/XT计算机I/O接口译码电路输出端对应的地址范围
这里地址总线的低5位A4~ A0没有参加译码,它们作为每个接口芯片的内部寄存器的选择信号,以选择同一接口的不同端口。每个芯片最多可以占有32个端口地址。
1.2.3 时序逻辑电路
时序逻辑电路也是计算机系统和其他数字电路系统中常用的一种电路,它与组合逻辑电路有很大的不同。时序逻辑电路的特点是:在任何时刻,电路稳定的输出信号不仅与该时刻电路的输入信号有关,还与电路过去的输入及状态有关。因此,这类电路的内部必须有记忆元件,用来记忆过去的输入状态。
时序逻辑电路根据它的工作方式的不同,又可分为同步时序逻辑电路和异步时序逻辑电路两种。在同步时序逻辑电路中,有统一的时钟脉冲信号,只有在时钟脉冲到来时,电路的状态才能改变,而且只改变一次。如果没有时钟脉冲信号,即使输入发生变化,电路的输出状态也不会改变。在这里,时钟脉冲起着同步的作用。在异步时序逻辑电路中,没有统一的时钟脉冲,或者虽然有时钟脉冲,但是不起同步作用,只是作为输入信号中的一个。因此,异步时序逻辑电路状态的改变是由输入信号的变化直接引起的。
时序逻辑电路的一个最重要组成部分是存储元件,通常由触发器构成。常用的时序逻辑电路包括各种触发器,以及在其基础上形成的寄存器、锁存器、计数器等电路,也包括各种半导体存储器。以下介绍在单片机应用中常用的触发器、锁存器、寄存器、计数器等电路。
1. 触发器
触发器是具有记忆功能的基本逻辑单元,用来存储一位二值(“0”和“1”)的信号。为了实现存储一位二值信号的功能,触发器具备以下特点。
(1)触发器具有两种稳定状态,用来表示逻辑状态的“0”和“1”,或表示二进制数的“0”和“1”。在任意时刻,触发器只能处于其中一种稳定状态,在没有触发时将长期保持这一状态。
(2)当接收到触发脉冲时,触发器可以由一种稳定状态翻转到另一种稳定状态。也就是说,在一定触发条件下,触发器可以根据输入信号状态被置位“1”或“0”。
(3)在触发条件消失后,触发器能将获得的新状态保存下来,直至下一个触发脉冲出现,再根据当时输入信号的状况被置为新的状态。
基本的触发器有R⁃S触发器、J⁃K触发器、T触发器、D触发器等多种。在计算机系统的电路中,最常用的触发器是D触发器。
D触发器的电路结构如图1-16(a)所示,逻辑符号如图1-16(b)所示。其中C为触发器的时钟脉冲,D为输入信号。它有两个输出信号Q和,这两个输出端的状态是互补的,即若Q=0则;若Q=1则,通常以Q端的逻辑电平表示触发器的状态。当Q端为高电平时,称为触发器处于“1”状态,或者说触发器中存储了“1”信息;反之当Q端为低电平时,称为触发器处于“0”状态,或者说触发器存储了“0”信息。
图1-16 D触发器
图1.16(c)所示为D触发器的逻辑功能,其中Dn 代表在时钟作用时,输入端D的状态。Qn+1代表在时钟脉冲作用后输出端Q的状态,也就是触发器的状态。
D触发器的逻辑功能如下所述。
当无时钟脉冲信号,即C =0时,控制电路被封锁,无论输入端D的状态是“0”还是“1”,触发器保持原来的状态不变。
当时钟脉冲作用时,即C变为“1”时,若输入D=0,则输出Q为“0”,触发器状态被置为“0”;若输入D=1,则输出Q=1,触发器状态被置为“1”。也就是说,在时钟信号作用下,D触发器的状态完全取决于当时的输入信号D,而与触发器原先的状态无关。它的状态方程可写做:Qn+1 =Dn。
用触发器作为基本逻辑单元可以实现锁存器、寄存器、计数器等逻辑电路。
2. 锁存器
计算机系统中都采用总线结构,根据不同的总线周期,系统总线上传递不同的信息,在某一时刻,总线上只能有一组信息,任何部件或设备都不能长期占用总线。对于输入设备,它们的数据线经过三态缓冲器和数据总线相连。CPU在完成写操作或输出操作时,数据也仅在写总线周期时才放到数据总线上,而且不能长期占用总线。如果需要将这些数据保留一段时间,通常要使用锁存器将总线信息锁存起来,这样既保证总线上信息的正常传送,又可以将数据保存,供一些慢速的外设有足够时间来处理。
锁存器的工作原理和触发器的原理相同,都是具有记忆功能的逻辑电路。在触发条件作用时,输出可以根据输入信号的状态被置“1”或“0”,当触发条件消失后,无论此时输入端的状态如何,它都将保持原来的状态不变,因此,称为锁存器。
常用的锁存器往往是将若干个触发器组装在一块芯片中,并使它们共用一个时钟引脚,这样就可以同时锁存总线上的多位信号。
74LS373是一种常用的8D触发器,它的内部包含8个D触发器,使用一个公共的时钟引脚,它的输出具有三态总线驱动能力。8D触发器如图1-17所示,它可以用来锁存一个字节的数据(8位二进制数)。
图1-17 8D触发器
74LS373逻辑图如图1-18所示,是一个20引脚双列直插封装的芯片,图中括号中的数字为引脚号。
图1-18 74LS373逻辑图
如图1-18所示,74LS373 由8 个寄存器和8 个三态缓冲器构成,寄存器单元是具有记忆功能的D触发器。它的输入为1D ~8D,输出为1O ~8O。它还有两个控制端,一个是触发器的使能端G,即触发器的时钟信号,在锁存器里采用电平触发;另一个是三态缓冲器的允许输出控制端。
74LS373的工作原理是:当触发器G端为高电平时,加在各触发器的D输入端的信号被送到它的输出端Q,并记忆锁存在那里(端状态与Q端电平相反)。此时,若在三态缓冲器的允许输出控制信号端作用一个低电平,那么记忆在端的信号经三态门反相后传送到输出端O。可以看出,如果两个控制信号G与同时有效,锁存器的输出O将随输入D的变化而改变。
若G端变成低电平,而使保持低电平,则输出端O将是以前锁存的数据,此时,输入端D如何变化都不再影响输出。
如果端为高电平,则无论G的电平如何,输出端O均呈高阻态。
表1.11所示为74LS373的控制信号G、和输入D、输出O之间的关系。
表1-11 74LS373真值表
实际应用中,往往要根据具体需要来设置74LS373的控制信号。例如,如果希望先把输入数据锁存,然后在适当时刻再输出,这时可以对G和分别进行控制;如果只要使用它的记忆功能,锁存数据,不需要三态缓冲,可以直接把端接地,仅控制G端即可。
3. 寄存器
在计算机中,常常要把数据或信息暂时存放起来,这种寄存(存放)数据或信息的逻辑电路称为寄存器。寄存器也是由触发器组成的。每个触发器都有两个状态,即“0”和“1”,因此每个触发器都可以代表1个二进制数。
寄存器具有接收数据、存放数据和传送数据的功能。在实际使用中,分为完成存放数据的基本寄存器和具有移位功能(左移或右移)的移位寄存器。
基本寄存器只具有寄存数据的功能。以下是由4个D触发器构成的4位二进制数寄存器。
图1.19中所示的四位寄存器是由一组触发器及控制电路组合而成的。数据直接加到触发器输入端D端,当接收脉冲到来时,4位数据同时送入寄存器,寄存在触发器输出端Q端。只有在新的数据送入时才能自动将原有数据改变。清零脉冲加到各个触发器的直接复位端R端,可以随时清零寄存器中的数据。
图1-19 四位并行输入、并行输出寄存器
该寄存器数据的输出是由读出脉冲控制的,只有读出脉冲作用(为“1”)时,寄存器中的数据才从4个并行输出端送出。该寄存器数据是各位同时输入的,输出也是同时取出。所以它是一个并行输入、并行输出的寄存器。
移位寄存器不仅能寄存数据,还有移位功能,即在移位脉冲作用下,可以将数据从低位移到高位,或者从高位移到低位。移位寄存器有左移寄存器、右移寄存器及双向移位寄存器。它们可以方便地完成乘、除法运算,也可以实现串行数据和并行数据之间的转换。
图1-20所示为四位左移移位寄存器,它是由四个D触发器级联而成的。它将低位的输出端Q和高位的输入端D相连,最高位的Q3和最低位的D端相连,形成环型移位寄存器。输入信号从输入端D0~ D3通过与非门并行输入,由并行置入脉冲控制。每个时钟脉冲作用时,输出数据循环左移一位。
图1-2 串联开关电路
图1-20 四位左移移位寄存器
假如D3、D2、D1、D0 为0001,在输入并行置入脉冲后,Q3、Q2、Q1、Q0 的状态为0001,表1.12 中列出了时钟脉冲作用下该移位寄存器的状态。
表1-12 循环左移寄存器的状态
4. 计数器
计数器是一种对输入脉冲进行计数的时序电路,它在数字系统中广泛应用。在计算机系统中,计数器不仅可以对输入脉冲计数,而且可以进行定时操作。
计数器的种类很多,按工作方式可以分为同步计数器和异步计数器;按进位制可分为二进制计数器、十进制计数器和任意进制计数器;按功能又可分为加法计数器、减法计数器和加/减法可逆计数器;按操作又可分为通用计数器和可编程计数器等。
图1.21所示为由D触发器构成的四位二进制异步加法计数器。
二进制加法计数器的基本原理是“逢二进一”,如图1-21所示,当清零脉冲作用时,使二进制位Q3、Q2、Q1、Q0都为0,Q3Q2Q1Q0=0000。第一个脉冲到来(即脉冲数为1)时,Q0=1,其余为0,Q3Q2Q1Q0=0001。第二个脉冲到来时,Q0再加1变成0,并且产生进位,此时Q3Q2Q1Q0=0010。依此类推,计数器将计数脉冲个数记录下来。这个二进制计数器中,高位触发器的翻转是通过低位触发器的进位信号触发的,称为异步计数器。同步计数器的每个触发器的时钟端都连在一起,所以它的速度要比异步计数器的高。
图1-21 四位二进制异步加法计数器