十进制同步可逆计数器 集成十进制同步计数器 集成十进制同步加法计数器74160、74162的引脚排列图、逻辑功能示意图与74161、74163相同,不同的是,74160和74162是十进制同步加法计数器,而74161和74163是4位二进制(16进制)同步加法计数器。此外,74160和74162的区别是,74160采用的是异步清零方式,而74162采用的是同步清零方式。 74190是单时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74191相同。 74192是双时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74193相同。 把前面介绍的十进制加法计数器和十进制减法计数器用与或门组合起来,并用U/D作为加减控制信号,即可获得十进制同步可逆计数器。 选用4个CP上升沿触发的D触发器,分别用FF0、FF1、FF2 、FF3表示。 2、十进制异步计数器 状态图 输出方程: 十进制异步加法计数器 时序图 时钟方程 FF0每输入一个CP翻转一次,只能选CP。 选择时钟脉冲的一个基本原则:在满足翻转要求的条件下,触发沿越少越好。 FF1在t2、t4、t6、t8时刻翻转,可选Q0。 FF2在t4、t8时刻翻转,可选Q1。 FF3在t8、t10时刻翻转,可选Q0。 状态方程 比较,得驱动方程: 电路图 将无效状态1010~1111分别代入状态方程进行计算,可以验证在CP脉冲作用下都能回到有效状态,电路能够自启动。 十进制异步减法计数器 选用4个CP上升沿触发的JK触发器,分别用FF0、FF1、FF2 、FF3表示。 状态图 输出方程: 时序图 时钟方程 FF0每输入一个CP翻转一次,只能选CP。 选择时钟脉冲的一个基本原则:在满足翻转要求的条件下,触发沿越少越好。 FF1在t2、t4、t6、t8时刻翻转,可选Q0。 FF2在t4、t8时刻翻转,可选Q1。 FF3在t8、t10时刻翻转,可选Q0。 状态方程 比较,得驱动方程: 电路图 将无效状态1010~1111分别代入状态方程进行计算,可以验证在CP脉冲作用下都能回到有效状态,电路能够自启动。 集成十进制异步计数器74LS90 N进制计数器 1、用同步清零端或置数端归零构成N进置计数器 2、用异步清零端或置数端归零构成N进置计数器 (1)写出状态SN-1的二进制代码。 (2)求归零逻辑,即求同步清零端或置数控制端信号的逻辑表达式。 (3)画连线图。 (1)写出状态SN的二进制代码。 (2)求归零逻辑,即求异步清零端或置数控制端信号的逻辑表达式。 (3)画连线图。 利用集成计数器的清零端和置数端实现归零,从而构成按自然态序进行计数的N进制计数器的方法。 在前面介绍的集成计数器中,清零、置数均采用同步方式的有74LS163;均采用异步方式的有74LS193、74LS197、74LS192;清零采用异步方式、置数采用同步方式的有74LS161、74LS160;有的只具有异步清零功能,如CC4520、74LS190、74LS191;74LS90则具有异步清零和异步置9功能。 用74LS163来构成一个十二进制计数器。 (1)写出状态SN-1的二进制代码。 (3)画连线图。 SN-1=S12-1=S11=1011 (2)求归零逻辑。 例D0~D3可随意处理 D0~D3必须都接0 例 设计一个异步时序电路,要求如右图所示状态图。 4 选触发器,求时钟、输出、状态、驱动方程 选用3个CP上升沿触发的D触发器,分别用FF0、FF1、FF2表示。 输出方程 次态卡诺图 时钟方程: FF0每输入一个CP翻转一次,只能选CP。 选择时钟脉冲的一个基本原则:在满足翻转要求的条件下,触发沿越少越好。 FF1在t2、t4时刻翻转,可选Q0。 FF2在t4、t6时刻翻转,可选Q0。 电路图 5 检查电路能否自启动 6 将无效状态110、111代入输出方程和状态方程计算: 电路能够自启动。 特性方程: 本节小结:	时序电路的特点是:在任何时刻的输出不仅和输入有关,而且还决定于电路原来的状态。为了记忆电路的状态,时序电路必须包含有存储电路。存储电路通常以触发器为基本单元电路构成。	时序电路可分为同步时序电路和异步时序电路两类。它们的主要区别是,前者的所有触发器受同一时钟脉冲控制,而后者的各触发器则受不同的脉冲源控制。	时序电路的逻辑功能可用逻辑图、状态方程、状态表、卡诺图、状态图和时序图等6种方法来描述,它们在本质上是相通的,可以互相转换。 时序电路的分析,就是由逻辑图到状态图的转换;而时序电路的设计,在画出状态图后,其余就是由状态图到逻辑图的转换。 在数字电路中,能够记忆输入脉冲个数的电路称为计数器。 计数器 二进制计数器 十进制计数器 N进制计数器 加法计数器 同步计数器 异步计数器 减法计数器 可逆计数器 加法计数器 减法计数器 可逆计数器 二进制计数器 十进制计数器 N进制计数器 ······ 二进制计数器 1、二进制同步计数器 3位二进制同步加法计数器 选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。 状态图 输出方程: 时钟方程: 时序图 FF0每输入一个时钟脉冲翻转一次 FF1在Q0=1时,在下一个CP触发沿到来时翻转。 FF2在Q0=Q1=1时,在下一个CP触发沿到来时翻转。 电路图 由于没有无效状态,电路能自启动。 推广到n位二进制同步加法计数器 驱动方程 输出方程 3位二进制同步减法计数器 选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。 状态图 输出方程: 时钟方程: 时序图 FF0每输入一个时钟脉冲翻转一次 FF1在Q0=0时,在下一个CP触发沿到来时翻转。 FF2在Q0=Q1=0时,在下一个CP触发沿到来时翻转。 电路图 由于没有无效状态,电路能自启动。 推广到n位二进制同步减法计数器 驱动方程 输出方程 3位二进制同步可逆计数器 设用U/D表示加减控制信号,且U/D=0时作加计数,U/D =1时作减计数,则把二进制同步加法计数器的驱动方程和U/D相与,把减法计数器的驱动方程和U/D相与,再把二者相加,便可得到二进制同步可逆计数器的驱动方程。 输出方程 电路图 4位集成二进制同步加法计数器74LS161/163 ①CR=0时异步清零。 ②CR=1、LD=0时同步置数。 ③CR=LD=1且CPT=CPP=1时,按照4位自然二进制码进行同步二进制计数。 ④CR=LD=1且CPT·CPP=0时,计数器状态保持不变。 74LS163的引脚排列和74LS161相同,不同之处是74LS163采用同步清零方式。 双4位集成二进制同步加法计数器CC4520 ①CR=1时,异步清零。 ②CR=0、EN=1时,在CP脉冲上升沿作用下进行加法计数。 ③CR=0、CP=0时,在EN脉冲下降沿作用下进行加法计数。 ④CR=0、EN=0或CR=0、CP=1时,计数器状态保持不变。 4位集成二进制同步可逆计数器74LS191 U/D是加减计数控制端;CT是使能端;LD是异步置数控制端;D0~D3是并行数据输入端;Q0~Q3是计数器状态输出端;CO/BO是进位借位信号输出端;RC是多个芯片级联时级间串行计数使能端,CT=0,CO/BO=1时,RC=CP,由RC端产生的输出进位脉冲的波形与输入计数脉冲的波形相同。 4位集成二进制同步可逆计数器74LS193 CR是异步清零端,高电平有效;LD是异步置数端,低电平有效;CPU是加法计数脉冲输入端;CPD是减法计数脉冲输入端; D0~D3是并行数据输入端;Q0~Q3是计数器状态输出端; CO是进位脉冲输出端;BO是借位脉冲输出端;多个74LS193级联时,只要把低位的CO端、BO端分别与高位的CPU、CPD连接起来,各个芯片的CR端连接在一起,LD端连接在一起,就可以了。 2、二进制异步计数器 3位二进制异步加法计数器 状态图 选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。 输出方程: 时钟方程: 时序图 FF0每输入一个时钟脉冲翻转一次, FF1在Q0由1变0时翻转, FF2在Q1由1变0时翻转。 3个JK触发器都是在需要翻转时就有下降沿,不需要翻转时没有下降沿,所以3个触发器都应接成T'型。 驱动方程: 电路图 3位二进制异步减法计数器 状态图 选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。 输出方程: 时钟方程: 时序图 FF0每输入一个时钟脉冲翻转一次, FF1在Q0由0变1时翻转, FF2在Q1由0变1时翻转。 3个JK触发器都是在需要翻转时就有下降沿,不需要翻转时没有下降沿,所以3个触发器都应接成T'型。 驱动方程: 电路图 二进制异步计数器级间连接规律 4位集成二进制异步加法计数器74LS197 ①CR=0时异步清零。 ②CR=1、CT/LD=0时异步置数。 ③CR=CT/LD=1时,异步加法计数。若将输入时钟脉冲CP加在CP0端、把Q0与CP1连接起来,则构成4位二进制即16进制异步加法计数器。若将CP加在CP1端,则构成3位二进制即8进制计数器,FF0不工作。如果只将CP加在CP0端,CP1接0或1,则形成1位二进制即二进制计数器。 选用4个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2 、FF3表示。 十进制计数器 1、十进制同步计数器 状态图 输出方程: 时钟方程: 十进制同步加法计数器 状态方程 电路图 比较,得驱动方程: 将无效状态1010~1111分别代入状态方程进行计算,可以验证在CP脉冲作用下都能回到有效状态,电路能够自启动。 十进制同步减法计数器 选用4个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2 、FF3表示。 状态图 输出方程: 时钟方程: 状态方程 次态卡诺图 比较,得驱动方程: 将无效状态1010~1111分别代入状态方程进行计算,可以验证在CP脉冲作用下都能回到有效状态,电路能够自启动。 电路图 * 计算机电路基础上海第二工业大学计算机与信息学院 第九章 时序逻辑电路 复习 触发器是数字电路的极其重要的基本单元。触发器有两个稳定状态,在外界信号作用下,可以从一个稳态转变为另一个稳态;无外界信号作用时状态保持不变。因此,触发器可以作为二进制存储单元使用。 触发器的逻辑功能可以用真值表、卡诺图、特性方程、状态图和波形图等5种方式来描述。触发器的特性方程是表示其逻辑功能的重要逻辑函数,在分析和设计时序电路时常用来作为判断电路状态转换的依据。 各种不同逻辑功能的触发器的特性方程为: RS触发器:Qn+1=S+RQn,其约束条件为:RS=0 JK触发器: Qn+1=JQn+KQn D触发器: Qn+1=D T触发器: Qn+1=TQn+TQn T'触发器: Qn+1=Qn 同一种功能的触发器,可以用不同的电路结构形式来实现;反过来,同一种电路结构形式,可以构成具有不同功能的各种类型触发器。 9.1时序逻辑电路概述 退出 9. 2 时序逻辑电路的分析方法 9. 3 时序逻辑电路的设计方法 9.4 寄存器、锁存器和移位寄存器 9.5 计数器 第9章 时序逻辑电路 时序逻辑电路概述 1、时序电路的特点 时序电路在任何时刻的稳定输出,不仅与该时刻的输入信号有关,而且还与电路原来的状态有关。 2、时序电路逻辑功能的表示方法 时序电路的逻辑功能可用逻辑表达式、状态表、卡诺图、状态图、时序图和逻辑图6种方式表示,这些表示方法在本质上是相同的,可以互相转换。 逻辑表达式有: 输出方程 状态方程 激励方程 3、时序电路的分类 (1) 根据时钟分类 同步时序电路中,各个触发器的时钟脉冲相同,即电路中有一个统一的时钟脉冲,每来一个时钟脉冲,电路的状态只改变一次。 异步时序电路中,各个触发器的时钟脉冲不同,即电路中没有统一的时钟脉冲来控制电路状态的变化,电路状态改变时,电路中要更新状态的触发器的翻转有先有后,是异步进行的。 (2)根据输出分类 米利型时序电路的输出不仅与现态有关,而且还决定于电路当前的输入。 穆尔型时序电路的其输出仅决定于电路的现态,与电路当前的输入无关;或者根本就不存在独立设置的输出,而以电路的状态直接作为输出。 电路图 时钟方程、驱动方程和输出方程 状态方程 状态图、状态表或时序图 判断电路逻辑功能 1 2 3 5 9.2 时序逻辑电路的分析方法 时序电路的分析步骤: 计算 4 例 时钟方程: 输出方程: 输出仅与电路现态有关,为穆尔型时序电路。 同步时序电路的时钟方程可省去不写。 驱动方程: 1 写方程式 2 求状态方程 JK触发器的特性方程: 将各触发器的驱动方程代入,即得电路的状态方程: 3 计算、列状态表 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 4 画状态图、时序图 状态图 5 电路功能 时序图 有效循环的6个状态分别是0~5这6个十进制数字的格雷码,并且在时钟脉冲CP的作用下,这6个状态是按递增规律变化的,即: 000→001→011→111→110→100→000→… 所以这是一个用格雷码表示的六进制同步加法计数器。当对第6个脉冲计数时,计数器又重新从000开始计数,并产生输出Y=1。 例 输出方程: 输出与输入有关,为米利型时序电路。 同步时序电路,时钟方程省去。 驱动方程: 1 写方程式 2 求状态方程 T触发器的特性方程: 将各触发器的驱动方程代入,即得电路的状态方程: 3 计算、列状态表 4 5 电路功能 由状态图可以看出,当输入X =0时,在时钟脉冲CP的作用下,电路的4个状态按递增规律循环变化,即: 00→01→10→11→00→… 当X=1时,在时钟脉冲CP的作用下,电路的4个状态按递减规律循环变化,即: 00→11→10→01→00→… 可见,该电路既具有递增计数功能,又具有递减计数功能,是一个2位二进制同步可逆计数器。 画状态图时序图 同步时序逻辑电路分析方法总结 分析给定的电路图,判断是同步还是异步,主要观察CP信号连接的方法。 判断出触发器的类型,马上联想到触发器的特性方程。然后根据电路图,写出输出方程,方法同第3、5章的组合逻辑电路的方法类似,并写出驱动方程。根据特性方程写出状态方程并进行相应的化简。 列出状态转换表,并画出状态转换图和时序图。需要注意的是状态图上的条件的表明。 对于逻辑功能的说明要观察特性和规律来总结。 还需注意的是在状态图中的无效状态的问题,对于无效状态能在CP作用下自动进入有效状态则称此电路有自启动能力。如果不行则没有自启动能力,如果没有自启动能力的电路是不可靠的,要进行改进。 例 电路没有单独的输出,为穆尔型时序电路。 异步时序电路,时钟方程: 驱动方程: 1 写方程式 2 求状态方程 D触发器的特性方程: 将各触发器的驱动方程代入,即得电路的状态方程: 3 计算、列状态表 4 5 电路功能 由状态图可以看出,在时钟脉冲CP的作用下,电路的8个状态按递减规律循环变化,即: 000→111→110→101→100→011→010→001→000→… 电路具有递减计数功能,是一个3位二进制异步减法计数器。 画状态图、时序图 设计要求 原始状态图 最简状态图 画电路图 检查电路能否自启动 1 2 4 6 9.3 时序逻辑电路的设计方法 时序电路的设计步骤: 选触发器,求时钟、输出、状态、驱动方程 5 状态分配 3 化简 例1建立原始状态图 设计一个按自然态序变化的7进制同步加法计数器,计数规则为逢七进一,产生一个进位输出。 状态化简 2 状态分配 3 已经最简。 已是二进制状态。 4 选触发器,求时钟、输出、状态、驱动方程 因需用3位二进制代码,选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。 由于要求采用同步方案,故时钟方程为: 输出方程: 状态方程 不化简,以便使之与JK触发器的特性方程的形式一致。 检查电路能否自启动 6 将无效状态111代入状态方程计算: 可见111的次态为有效状态000,电路能够自启动。 比较,得驱动方程: 电路图 5 设计一个串行数据检测电路,当连续输入3个或3个以上1时,电路的输出为1,其它情况下输出为0。例如: 输入X	101100111011110 输出Y	000000001000110 例1建立原始状态图 S0 S1 S2 S3 设电路开始处于初始状态为S0。 第一次输入1时,由状态S0转入状态S1,并输出0; 1/0 X/Y 若继续输入1,由状态S1转入状态S2,并输出0; 1/0 如果仍接着输入1,由状态S2转入状态S3,并输出1; 1/1 此后若继续输入1,电路仍停留在状态S3,并输出1。 1/1 电路无论处在什么状态,只要输入0,都应回到初始状态,并输出0,以便重新计数。 0/0 0/0 0/0 0/0 原始状态图中,凡是在输入相同时,输出相同、要转换到的次态也相同的状态,称为等价状态。状态化简就是将多个等价状态合并成一个状态,把多余的状态都去掉,从而得到最简的状态图。 状态化简 2 状态分配 3 所得原始状态图中,状态S2和S3等价。因为它们在输入为1时输出都为1,且都转换到次态S3;在输入为0时输出都为0,且都转换到次态S0。所以它们可以合并为一个状态,合并后的状态用S2表示。 S0=00S1=01S2=10 4 选触发器,求时钟、输出、状态、驱动方程 选用2个CP下降沿触发的JK触发器,分别用FF0、FF1表示。