版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章时序逻辑电路6.1时序逻辑电路的特点和表示方法6.2基于触发器的时序逻辑电路的分析6.3基于触发器的时序逻辑电路的设计6.4寄存器6.5计数器6.6顺序脉冲发生器6.7基于MSI时序逻辑电路的分析与设计6.1时序逻辑电路的特点和表示方法6.1.1
时序逻辑电路的特点逻辑功能上的特点(时序电路定义)任一时刻的稳定输出不仅决定于该时刻的输入,而且和电路原来状态有关。
结构上的特点
电路中包含存储元件─通常由触发器构成。存储元件的输出和电路输入间存在着反馈连接,这是时序电路区别于组合电路的重要特点之一。6.1.1
时序逻辑电路的特点时序逻辑电路的框图表示6.1.1
时序逻辑电路的特点逻辑方程式F(tn
)=W[X(tn
),Q(tn
)]
(6-1)输出方程Z(tn)=H[X(tn),Q(tn)](6-3)驱动方程
Q(tn+1
)=G[Z(tn),Q(tn)](6-2)状态方程时序电路分类按触发方式分两类同步时序电路:所有存储单元状态由同一个时钟信号触发,即所有存储单元的状态转换发生在同一时刻。异步时序电路:没有统一的时钟脉冲,其存储单元的状态转换不一定发生在同一时刻。时序电路分类按输出方式分两类米里型:时序电路的输出状态与输入和现态有关的电路称为米里型时序电路分类按输出方式分两类莫尔型:输出状态只与现态有关的电路,称为莫尔型。时序电路的逻辑功能表示法逻辑方程式F(tn
)=W[X(tn
),Q(tn
)]
(6-1)输出方程Z(tn)=H[X(tn),Q(tn)](6-3)驱动方程
Q(tn+1
)=G[Z(tn),Q(tn)](6-2)状态方程时序电路的逻辑功能表示法状态转换表、状态图、时序图(工作波形图)状态转换真值表是指反映时序电路中的输出F(tn)、次态Q*(tn+1)和输入X(tn)及现态Q(tn)之间对应关系的表格,简称为状态表。状态转换图是指反映时序电路状态转换规律及相应输入、输出取值情况的几何图形,状态转换图可以由状态转换表变换而成。时序图是在时钟脉冲序列作用下,电路状态、输出状态随时间变化的波形图,时序波形图也称工作波形图,它反映了输入信号、输出信号、电路状态的取值在时间上的对应关系。6.2基于触发器的时序逻辑电路的分析分析一个时序逻辑电路,就是根据给定的逻辑电路图,找出在输入信号和时钟信号作用下电路状态和电路输出的变化规律,从而了解其逻辑功能。6.2基于触发器的时序逻辑电路的分析①分析电路组成,写逻辑方程式根据给定电路,写出:时钟方程、驱动方程、输出方程②求状态方程将驱动方程代入触发器特性方程,求出状态方程。将任何一组输入变量及电路的初始状态的取值代入状态方程和输出方程,即可计算出电路的次态值和相应输出值,然后继续这个过程,直到考虑了所有可能的状态为止。将这些计算结果列成真值表的形式,就得到状态转换真值表。④概括逻辑功能③进行计算和列状态转换真值表分析过程示意图如下给定电路写时钟方程输出方程驱动方程状态方程特性方程计算CP触发沿状态表时序图状态图概括逻辑功能【例6-1】试分析下图所示的同步时序逻辑电路的逻辑功能。FF0、FF1、FF2是3个JK触发器,时钟脉冲为下降沿触发。【例6-1】解:⑴写驱动方程和输出方程J0=K0=1J1=(Q0'+Q2)'
K1=Q0
J2=Q0
Q1
K2=Q0
F=Q0
Q2
【例6-1】⑵求状态方程将各触发器的驱动方程代入到JK触发器的特性方程Q*=JQ'+K'Q中,得到相应的状态方程J0=K0=1J1=(Q0'+Q2)'
K1=Q0
J2=Q0
Q1
K2=Q0
F=Q0
Q2
Q0*=Q0'
Q1*=Q0
Q2'Q1'+Q0'Q1
Q2*=Q0
Q1
Q2'+Q0'Q2
【例6-1】⑶列状态转换真值表,画状态转换图及时序波形图01111000110111000001001010011100101000000001010011100101123456FCLK顺序表6-1例6-1的状态转换表【例6-1】由状态转换表很容易画出状态转换图Q0Q1Q2F图6-4例6-1的波形图CP12345671000110有效状态有效循环自启动000001010011100101Q2Q1Q0110111无效状态【例6-1】⑷分析逻辑功能随着时钟脉冲信号的作用,状态转换的规律是每经过6个脉冲,电路状态循环变化一次。当计到最大数时输出为1,在由101回到000时,输出F变为0。该电路为同步六进制计数器。输出F可以作为进位信号。从电路的状态看,000~101这6个状态为有效状态,构成有效循环。另外的110和111状态则是无效状态。如果在CLK脉冲作用下可以返回到有效状态,则表明电路能够自启动。【例6-2】异步时序逻辑电路的逻辑图如图6-5所示。试分析电路的逻辑功能。【例6-2】解:⑴写驱动方程和时钟方程J0=Q2'K0=1J1=K1=1J2=Q0Q1,K2=1CLK0=CLK2=CLK,CLK1=Q0【例6-2】解:J0=Q2'K0=1J1=K1=1J2=Q0Q1K2=1CLK0=CLK2=CLKCLK1=Q0将驱动方程代入JK触发器的特性方程Q*=JQ'+K'Q中,得到状态方程。
Q0*=Q2'Q0'CLK0=CLK下降沿时有效
Q1*=Q1'CLK1=Q0下降沿时有效
Q2*=Q2'Q1Q0
CLK2=CLK下降沿时有效【例6-2】解:Q0*=Q2'Q0'Q1*=Q1'Q2*=Q2'Q1Q0
表6-2例6-2状态转换表↓↓↓↓↓↓↓↓111010010000101110111↓↓↓↓↓↓↓↓↓↓↓↓0000100101001110000000000101001110012345CLK3CLK2
CLK1FCLK顺序【例6-2】解:状态转换图如图6-6所示。CPQ1Q2Q3图6-7例6-2的波形图由分析可知,是异步五进制加法计数器,能自启动。6.3基于触发器的时序逻辑电路的设计用触发器设计时序逻辑电路时,一般按如下步骤进行:⑴画出原始状态转换图。在把一个文字描述的实际逻辑关系转换为状态转换图时,一般要经过逻辑抽象。首先分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。其次定义输入、输出逻辑状态的含义,并将电路状态顺序编号。最后按照题意,画出原始状态转换图。6.3基于触发器的时序逻辑电路的设计⑵状态化简。在确定了原始状态转换图之后,若在状态转换图中出现了等价状态,就需要进行化简。等价状态是指在相同的输入条件下状态转换具有相同的次态及同样的输出。由于等价状态是重复的,因此可以合并为一项。从而达到了状态的简化。6.3基于触发器的时序逻辑电路的设计⑶选择触发器,并进行状态分配(状态编码)。每个触发器有两个状态0和1,n个触发器能表示2n个状态。若用M表示时序电路的状态数,则有2n-1<M≤2n
因此通过上式可以确定触发器的数目。由于不同类型的触发器驱动方式不同,设计出的电路也不一样。因此,在设计具体的电路时,要选定触发器的类型。状态分配也叫状态编码,是指对原始状态转换图中的每个状态进行编码。编码方案选择得当,可以使设计结果简单。6.3基于触发器的时序逻辑电路的设计⑷求状态方程、驱动方程、输出方程。由编码后的状态转换图(或状态转换表)画出次态卡诺图,从次态卡诺图可以求得状态方程。如果设计中的输出量不是触发器的直接输出,还需要写出输出方程。然后根据状态方程与选定的触发器的特性方程相比较,求出驱动方程。对于异步时序逻辑电路还要写出时钟方程。6.3基于触发器的时序逻辑电路的设计⑸画逻辑电路图。根据得到的驱动方程和输出方程,可以画出逻辑电路图。⑹检查电路能否自启动。时序电路设计完成后,一般要求上电后能自启动。所谓自启动是指上电后,经过若干CLK时钟脉冲返回到有效循环中。如果电路不能自启动,则需修改设计使之能自启动。【例6-3】试设计一个同步的八进制加法计数器。解:⑴画出原始状态转换图八进制计数器共有8个状态,设8个状态分别为S0,S1,…,S7,其原始状态转换图如图6-8所示。【例6-3】解:⑵状态化简:八进制计数器必须用8个有效状态表示输入的时钟个数,从状态图可以看出不存在等价状态,无需进行状态化简。⑶选择触发器,并进行状态分配由于八进制计数器的状态数是8,由2n-1<M≤2n
,得n=3。设计中选择3个D触发器。将000~111分别作为S0,S1,…,S7的编码,画出编码之后的状态转换图。【例6-3】解:⑷求状态方程、驱动方程、输出方程画出表示次态逻辑函数和进位输出函数的卡诺图Q2*=Q0
Q1Q2'+Q0'Q2+Q1'Q2Q1*=Q0Q1'+Q0'Q1
Q0*=Q0'F=Q0Q1Q2【例6-3】解:将状态方程和D触发器的特性方程比较,得驱动方程D2=Q0Q1(Q2)'+(Q0)'Q2+(Q1)'Q2=(Q0Q1)⊕Q2D1=Q0(Q1)'+(Q0)'Q1=Q0⊕Q1D0=
(Q0)'Q2*=Q0
Q1Q2'+Q0'Q2+Q1'Q2Q1*=Q0Q1'+Q0'Q1
Q0*=Q0'F=Q0Q1Q2⑸画逻辑电路图。【例6-4】步进电机是一种按步进旋转而不是连续转动的电机。为了能够产生步进运动,电机内的磁场线圈需要对应加电,一般情况下用数字信号来控制每一线圈的电流。图6-13给出了典型的四线圈步进电机框图。由于步进电机运转有正转和反转之分,设输入信号D控制电机的旋转方向。为了电机能正常旋转,线圈1和2必须始终处于相反状态,也就是当线圈1通电时,线圈2不通电,反之亦然。同样线圈3和4也始终处于相反状态。而4个线圈的电流可以用两位计数器电路的输出来控制。试用同步计数器设计一个步进电机控制电路。【例6-4】⑴画原始状态图两位二进制计数器有4个有效状态。用Si表示计数器的有效状态,其中i=0,1,2,3。由于存在方向控制输入信号D,令D=0为正转,D=1为反转,因此其原始状态转换图如图6-14所示。【例6-4】⑵状态化简:由于计数器有4个不同的状态,不会存在等价状态,因此不需化简。⑶选择触发器,并进行状态分配两位二进制计数器的状态数是4,表达式2n-1<M≤2n,故应选2个触发器。这里选JK触发器。选00~114组代码作为S0~S3的状态赋值。赋值后的状态转换图如图6-15所示。【例6-4】⑷求状态方程、驱动方程画出表示次态逻辑函数的卡诺图—次态卡诺图。由次态卡诺图写出触发器状态方程如下:Q1*=D'Q0+DQ0'=D⊕Q0Q0*=D'Q1'+DQ1=(D⊕Q1)'将状态方程和JK触发器的特性方程比较,求得驱动方程为J1=D⊕Q0,K1=(D⊕Q0)'J0=(D⊕Q1)',K0=D⊕Q1
【例6-4】⑸画逻辑电路图J1=D⊕Q0K1=(D⊕Q0)'J0=(D⊕Q1)'K0=D⊕Q1
⑹检查电路能否自启动由于有效循环包含二进制计数器的所有状态,所以电路能够自启动。【例6-4】【例6-4】的VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164_ALL;ENTITYct14ISPORT(q:OUTSTD_LOGIC_VECTOR(1DOWNTO0);
d,clk:INSTD_LOGIC);ENDct14;ARCHITECTUREarchcntOFct14ISSIGNALcount_2:STD_LOGIC_VECTOR(1DOWNTO0);BEGINq<=count_2;
PROCESS(clk,d)BEGINIF(clk’EVENTANDclk=‘1’ANDd=‘0’)THEN IF(count_2=“00”)THENcount_2=“01”; ELSIF(count_2=“01”)THENcount_2=“11”; ELSIF(count_2=“11”)THENcount_2=“10”;ELSEcount_2=“00”;ENDIF;ENDIF;【例6-4】【例6-4】的VHDL源程序
IF(clk’EVENTANDclk=‘1’ANDd=‘1’)THEN IF(count_2=“00”)THEN count_2=“10”; ELSIF(count_2=“10”)THEN count_2=“11”; ELSIF(count_2=“11”)THEN count_2=“01”; ELSE count_2=“00”; ENDIF;ENDIF;ENDPROCESS;ENDarchcnt;【例6-5】试设计一个串行数据11111序列检测器。当连续输入5个1时,检测器输出为1,否则输出为0。解:⑴画原始状态图。串行数据检测器有一个数据输入端X和一个数据输出端F。因此该电路的输出不仅取决于现态,还与输入有关。【例6-5】解:⑴画原始状态图。根据题意,可以写出输入序列与输出状态的关系:输入序列X0111110输出结果F0000010电路状态S
S0
S1
S2
S3
S4
S5
S0S0状态为没有输入1以前的状态;S1状态为输入一个1以后的状态;S2状态为连续输入2个1以后的状态;S3状态为连续输入3个1以后的状态;S4状态为连续输入4个1的状态,S5状态为连续输入5个1的状态。【例6-5】解:此电路共需6个不同的状态。根据题意列出状态转换表,状态转换图如6-19所示。表6-3检测器状态表XSn+1/FSnS0S1S2S3S4S0/0S1/001S0/0S2/0S0/0S3/0S0/0S4/0S0/0S5/1S5S0/0S5/1S0S1S5S2S30/00/00/00/00/01/01/01/01/11/1图6-58检测器状态图X/FS40/01/0输入相同,输出相同,次态相同,等价合并。用S4表示【例6-5】解:⑵状态化简。S0S1S4S2S30/00/00/00/00/01/01/01/01/01/1图6-20检测器状态图X/F⑶选择触发器,并进行状态分配。化简之后,状态转换图中的状态有5个,需要3个触发器。选用D触发器,令触发器的状态Q2Q1Q0的000、001、011、010、100分别代表S0、S1、S2、S3、S4。【例6-5】⑷求状态方程、输出方程和驱动方程。Q0*=XQ2'Q1'Q1*=XQ0
Q2*=XQ2+XQ1Q0'F=XQ2
【例6-5】将状态方程代入D触发器特性方程得驱动方程D0=XQ1'Q2',D1=XQ0,D2=XQ2+XQ1Q0'⑹检查电路能否自启动。将X=0及X=1分别代入状态方程,在CLK作用下电路的状态可以进入有效状态,所以电路能够自启动。6.4寄存器(register)在数字系统和计算机中,经常要把一些数据信息暂时存放起来,等待处理。寄存器就是能暂时寄存数码的逻辑器件。寄存器内部的记忆单元是触发器。一个触发器可以存储一位二进制数,N个触发器就可以存储N位二进制数。主要有数码寄存器、锁存器及移位寄存器。寄存器的作用、功能、分类及组成作用电子数字计算机:存放参与运算的数据、结果、指令、地址等。各类数字系统:存放数据、特定意义的代码功能接收数码存放数码
输出数码
组成触发器
门电路
时序逻辑电路分类数码寄存器:用来存放一组二进制代码。移位寄存器:在移位脉冲作用下,二进制代码左移或右移。6.4.1数码寄存器数码寄存器具有存储二进制代码,并可输出所存二进制代码的功能。具有双拍和单拍两种工作方式。双拍工作方式是指接收数码时,先清零,再接收数码。单拍工作方式是指只需一个接收脉冲就可以完成接收数码的工作方式。集成数码寄存器几乎都采用单拍工作方式。数码寄存器要求所存的代码与输入代码相同,故由D触发器构成。
6.4.1数码寄存器74HC17474HC174是6位并行输入、并行输出的寄存器,电路内部有6个同步的D触发器,上升沿送数,并具有异步复位功能,是一种典型的数据暂存电路。RD’6.4.1数码寄存器74HC174只要异步复位端RD'=0,6个触发器的输出均为0。当撤消复位信号即RD'=1后,在时钟信号上升沿到来时,输入端数据D0~D5并行送入6个D触发器的输出端Q0~Q5。RD’6.4.1数码寄存器74HC174当RD'=1且时钟信号无效时,寄存器处于保持状态。输出端Qi的状态与输入端Di的状态无关,因此这种寄存器具有很强的抗干扰能力。RD’6.4.1数码寄存器74HC174并行寄存器可用来构成缓冲或存储寄存器、移位寄存器和图形发生器等。图6-2474HC174的引脚图6.4.2锁存器锁存器可以对输入数据进行锁存。由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,称为锁存器,主要用于信息的暂存。74HC373是一种具有三态输出的8D锁存器,每个锁存器有一个输入和三态输出,8个锁存器共用一个锁存使能LE和输出使能OE'。6.4.2锁存器锁存器可以对输入数据进行锁存。由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,称为锁存器,主要用于信息的暂存。74HC373是一种具有三态输出的8D锁存器,每个锁存器有一个输入和三态输出,8个锁存器共用一个锁存使能LE和输出使能OE'。6.4.2锁存器74HC373的引脚功能图如图6-25所示。当LE=1时,输入数据Di进入锁存器,此时锁存器是透明的。当LE=0时,锁存器锁存LE由1变0瞬间所输入的Di状态,输出Qi不变。OE’=0锁存器的状态数输出,否则输出高阻。图6-2574HC373引脚功能图6.4.2锁存器74HC373的功能表如表图6-4所示。工作方式输入内部锁存状态输出LEOE'DnQn透明方式10000111锁存方式00L00H11高阻方式×1××Z6.4.2锁存器74HC573、74HC563及74HC533与74HC373的逻辑功能完全相同,只不过74HC533和74HC563是反相输出端Q‘输出;74HC573、74HC573和74HC533有不同的引脚排列,如图6-26、27、28所示。【例6-6】设计一个智力竞赛抢答电路,要求该电路能鉴别出4路抢答信号中的第一个到来者,通过指示灯加以指示,并对随后的其他信号不再传输和响应。解:第一路到来信号应该能够被检测并锁存,因此使用74HC373进行设计。将抢答开关的输入信号输入到74HC373的数据输入端,将输出三态使能OE’接低电平,利用第一路抢答信号来控制锁存使能输入LE,使其达到锁存的目的。具体电路如图6-29所示。【例6-6】解:具体电路如图6-29所示。图中输出三态使能OE’始终为低电平,锁存使能输入LE的状态由锁存器的输出及复位开关K共同决定。抢答开始前,复位开关K清零复位,各抢答开关断开,74HC373的各路数据输入均为低电平,所有指示灯均熄灭,此时锁存使能输入LE为高电平。【例6-6】解:具体电路如图6-29所示。抢答开始后,第一路抢答信号到来后,使能输入LE由1变为0,锁存该路抢答信号并通过指示灯进行显示,同时阻止其它抢答信号通过74HC373。6.4.3移位寄存器(shiftregister)移位寄存器是数字系统和计算机中的一个重要部件,包括串行寄存器、并/串寄存器和串/并寄存器等。移位寄存器除了具有存储代码的功能以外,还具有移位功能。在移位操作时,要求每来一个时钟脉冲(即移位命令),寄存器中存储的数据就顺次向左或向右移动一位。6.4.3移位寄存器(shiftregister)移位寄存器的输入方式有两种:串行输入和并行输入。串行输入方式是在同一个时钟脉冲作用下,每输入一个时钟脉冲,输入数据就移入一位到寄存器中,同时已存入的数据继续右移或左移。若将多位数据存入串行移位寄存器,需要多个时钟脉冲,因此串行输入方式的寄存器工作速度慢。并行输入方式是把全部数据同时输入寄存器,工作速度快。6.4.3移位寄存器(shiftregister)移位寄存器的输出方式也有两种:串行输出和并行输出。串行输出方式的移位寄存器是在时钟脉冲作用下一位一位对外输出的。并行输出方式的移位寄存器中,各位数据是通过其内的触发器输出端同时对外输出的。移位寄存器通常用来寄存数据代码、实现数据的串行—并行转换。6.4.3移位寄存器(shiftregister)⒈8位串入-并出移位寄存器74HC1648位串入-并出移位寄存器(8-bitserial-in/parallel-outshiftregister)74HC164是具有串行输入和并行输出的8位上升沿触发的移位寄存器。串行输入到内部触发器上的数据是经过2个输入端A和B的与操作得到的,在时钟脉冲CLK作用下,每输入一个时钟脉冲,数据就实现一次移位。电路具有异步清零的功能。
6.4.3移位寄存器(shiftregister)⒈8位串入-并出移位寄存器74HC1648位串入-并出移位寄存器(8-bitserial-in/parallel-outshiftregister)74HC164是具有串行输入和并行输出的8位上升沿触发的移位寄存器。串行输入到内部触发器上的数据是经过2个输入端A和B的与操作得到的,在时钟脉冲CLK作用下,每输入一个时钟脉冲,数据就实现一次移位。电路具有异步清零的功能。
⒈8位串入-并出移位寄存器74HC16474HC164的引脚排列图和功能表工作方式输入输出CLR'CLKABQ0Q1~Q7复位0×××00~0移位1111↑↑↑↑001101010001Q0~Q6Q0~Q6Q0~Q6Q0~Q6图6-3074HC164引脚功能图表6-574HC164功能表⒈8位串入-并出移位寄存器74HC16474HC164的引脚排列图和功能表表6-574HC164功能表图6-3074HC164的时序波形图⒉8位并入/串入-串出移位寄存器74HC16574HC165是8位并入/串入-串出移位寄存器,具有互补串行输出。当并行输入使能LD’=0时,并行数据从D0~D7装载到寄存器中。当LD’=1时,数据从寄存器的串行输入端Ds输入,并随时钟上升沿到来向串行输出端Q7移位。图6-32为其引脚排列图。图6-3274HC165引脚功能图⒉8位并入/串入-串出移位寄存器74HC16574HC165的逻辑图如图所示⒉8位并入/串入-串出移位寄存器74HC16574HC165的功能表如表6-6所示。工作状态输入输出LD'CE'CLKDSD0~D7Q0Q1~Q6Q7并行送数0×××a~h
a
b~gh串行移位1100↑↑DSDS××
DSQ0~Q5DSQ0~Q5Q6Q6保持11×××Q0Q1~Q6Q7⒉8位并入/串入-串出移位寄存器74HC16574HC165的时序波形图如图6-33所示。并行输入-串行输出移位寄存器4位并行输入-串行输出移位寄存器VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYpiso_4ISPORT(clk,shift,load:INBIT; data:INBIT_VECTOR(3DOWNTO0);
serial_out:OUTBIT;);ENDpiso_4;ARCHITECTUREarchOFpiso_4IS并行输入-串行输出移位寄存器4位并行输入-串行输出移位寄存器VHDL源程序
BEGIN PROCESS(clk)VARIABLEq:BIT_VECTOR(3DOWNTO0);BEGIN
serial_out<=q(0); IF(clk’EVENTANDclk=‘1’)THEN IF(load=‘1’)THENq:=data; ELSIF(shift=‘1’)THEN q:=(‘0’&q(3DOWNTO1)); ENDIF; ENDIF;ENDPROCESS;ENDarch;⒊4位双向移位寄存器74HC19474HC194由4个主从RS触发器和各自的输入控制电路组成。D0~D3为数据并行输入端,Q0~Q3为数据并行输出端,DSR为数据右移串行输入端,DSL为数据左移串行输入端,CR’为清零端,M1、M0为移位寄存器的工作方式控制信号,在移位脉冲CLK作用下可以实现移位等功能。⒊4位双向移位寄存器74HC19474HC194由4个主从RS触发器和各自的输入控制电路组成。D0~D3为数据并行输入端,Q0~Q3为数据并行输出端,DSR为数据右移串行输入端,DSL为数据左移串行输入端,CR’为清零端,M1、M0为移位寄存器的工作方式控制信号,在移位脉冲CLK作用下可以实现移位等功能。⒊4位双向移位寄存器74HC19474HC194的外引脚排列图如图6-34所示。图6-3474HC194引脚功能图⒊4位双向移位寄存器74HC19474HC194的功能表如表6-7所示。工作方式输入输出CLKCR'M1M0DSRDSLDnQ0Q1Q2Q3复位(清零)×0×××××0000保持×100×××Q0Q1Q2Q3左移↑↑111100××01××Q1Q1Q2Q2Q3Q301右移↑↑11001101××××01Q0Q0Q1Q1Q2Q2送数↑111××DnD0D1D2D3⒊4位双向移位寄存器74HC19474HC194的时序波形图如图6-35所示。⒊4位双向移位寄存器74HC19474HC194VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYbishift_4ISPORT( clk:INBIT;
din:INBIT_VECTOR(3DOWNTO0);
ser_in:INBIT; mode:ININTEGERRANGE0TO3;
q:OUTBIT_VECTOR(3DOWNTO0));ENDbishift_4;ARCHITECTUREarchOFbishift_4IS ⒊4位双向移位寄存器74HC19474HC194VHDL源程序BEGIN PROCESS(clk) VARIABLEff:BIT_VECTOR(3DOWNTO0);BEGINIF(clk=‘1’ANDclk’EVENT)THEN CASEmodeISWHEN0=>ff:=ff; WHEN1=>ff(2DOWNTO0):=ff(3DOWNTO1);ff(3):=ser_in; WHEN2=>ff(3DOWNTO1):=ff(2DOWNTO0);ff(0):=ser_in; WHEN3=>ff:=din; ENDCASE;ENDIF;q<=ff; ENDPROCESS;ENDarch;【例6-7】试分析图示电路的逻辑功能。演示解:两片74194组成八位右移移位寄存器。练习题分析如图所示由4位双向移位寄存器74LS194构成的电路功能,列出状态转换表,画出时序波形图。6.5计数器(Counter)计数:具有记忆输入脉冲个数的作用称为计数。计数器:具有记忆输入脉冲个数功能的电路称为计数器。用途:计数器是现代数字系统中不可缺少的组成部分。主要用于计数、定时、分频和进行数字计算等。如各种数字仪表(万用表、测温表),各种数字表、钟等。6.5.1计数器分类按照计数器中的各个触发器触发方式来分,可以分为:(1)同步计数器(SynchronousCounter):各触发器受同一时钟脉冲即输入计数脉冲控制,同步更新各触发器的状态。(2)异步计数器(AsynchronousCounter):有的触发器受计数脉冲控制,有的是以其它触发器输出为时钟脉冲,触发器的翻转不是同时发生的,状态更新有先有后。6.5.1计数器分类按计数过程中计数器输出数码的规律来分类,可以把计数器分为(1)加法计数器(UpCounter):计数器随计数脉冲的不断输入递增计数。(2)减法计数器(DownCounter):计数器随计数脉冲的不断输入递减计数。(3)可逆计数器:计数器在外加控制端的作用下,随计数脉冲的不断输入可增可减地计数。可逆计数器也称作加/减计数器(Up/DownCounter)。6.5.1计数器分类计数器在循环中的状态个数N叫做计数器的模(Modulus)或计数容量(计数状态的个数,或计数长度)。在循环中有M个状态的计数器称为模M计数器。按照计数器的计数容量来区分,又可以分为(1)模2n计数器:该计数器的计数状态有N=2n个。对于计数器的一位而言,若电路有8个状态,即N=23,则该计数器称为八进制计数器;若电路有2个状态,此时N=2,该计数器称为二进制计数器。而n位二进制计数器,则共有2n(2、4、8、16、32…)个状态。6.5.1计数器分类按照计数器的计数容量(计数状态的个数)来区分,又可以分为(2)模非2n计数器:该计数器的计数容量N≠2n。十进制计数器是模非2n计数器的特例,此时,N=10。1位十进制计数器应有10个状态,2位十进制计数器应有100个状态。n位十进制计数器应有10n个状态。常用的集成计数器CLK时钟触发方式型号计数模式清零方式预置数方式同步74HC160(74160)74HC161(74161)74HC162(74162)74HC163(74163)74HC192(74192)74HC193(74193)十进制加法4位二进制加法十进制加法4位二进制加法可逆十进制可逆4位二进制异步(低有效)异步(低有效)同步(低有效)同步(低有效)异步(低有效)异步(低有效)同步(低有效)同步(低有效)同步(低有效)同步(低有效)异步(低有效)异步(低有效)异步74HC290(74290)74HC293(74293)二-五-十进制加法二-八-十六进制加法异步(高有效)异步(高有效)无无表6-8几种常用的集成计数器6.5.2同步集成计数器同步计数器即可用T触发器构成,也可用T’触发器构成。如果用T触发器构成,则每次计数脉冲CP信号到达时应使该翻转的那些触发器输入控制端Ti=1,不该翻转的Ti=0。如果用T’触发器构成,则每次计数脉冲到达时只能加到该翻转的那些触发器的CP输入端上,而不能加给那些不该翻转的触发器。6.5.2同步集成计数器由此可知当计数器用T触发器构成时,第i位触发器输入端的逻辑式为:只有最低位例外,按照计数规则,每次输入计数脉冲时它都要翻转,故T0=1。6.5.2同步集成计数器74LS161就是按照这种方式接成的同步4位二进制加法计数器。1.二进制集成计数器74HC16174HC161是异步清零、同步预置数的4位同步二进制计数器。74HC161除了具有二进制加法计数功能外,还具有预置数、保持和异步清零等附加功能。如图6-37为74HC161的引脚功能图。图6-3774HC161的引脚功能图1.二进制集成计数器74HC16174HC161是异步清零、同步预置数的4位同步二进制计数器。CR’LD’1.二进制集成计数器74HC16174HC161的功能表如表6-9所示。工作方式输入输出CR'CLKPTLD'DiQi清零0×××××0预置数11↑↑××××000101计数1↑111×计数保持11××0××011××QiQi1.二进制集成计数器74HC16174HC161的工作原理波形图1.二进制集成计数器74HC161计数器74HC161VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYv_74hc161ISPORT(clk,clr_l,ld_l,enp,ent:INSTD_LOGIC;d:INUNSIGNED(3DOWNTO0);q:OUTUNSIGNED(3DOWNTO0);
rco:OUTSTD_LOGIC);ENDv_74hc161;ARCHITECTURE74HC161_archOFv_74hc161ISSIGNALiq:UNSIGNED(3DOWNTO0);1.二进制集成计数器74HC161计数器74HC161VHDL源程序BEGINPROCESS(clk,ent,iq)BEGINIFclr_l=‘0’THENiq<=(OTHERS=>‘0’);--iq的所有位赋值0ELSIFclk’EVENTANDclk=‘1’THENIFld_l=‘0’THENiq<=d;ELSIF(entANDenp)=‘1’THENiq<=iq+1;ENDIF;ENDIF;IF(iq=15)AND(ent=‘1’)THENrco<=‘1’;ELSErco<=‘0’;ENDIF;q<=iq;ENDPROCESS;END74HC161_arch;1.二进制集成计数器74HC161将74HC161级联可以构造容量大于16的二进制计数器。如图是两片74HC161实现256计数器。同步连接方式1.二进制集成计数器74HC161将74HC161级联可以构造容量大于16的二进制计数器。如图是两片74HC161实现256计数器。2.十进制集成计数器74HC16074HC160是可预置数的同步BCD十进制集成计数器。在计数时,在LD'=CR'=1,P=T=1条件下,随着时钟脉冲CLK的上升沿到来,计数值加1。当计数值Q3Q2Q1Q0=1001时,进位输出信号CO=1。再输入一个计数脉冲,计数值输出由1001返回到0000状态,并且CO由1变为0。2.十进制集成计数器74HC16074HC160是可预置数的同步BCD十进制集成计数器。CR’LD’2.十进制集成计数器74HC16074HC160的功能表工作方式输入输出CR'CLKPTLD'DiQi清零0×××××0预置数11↑↑××××000101计数1↑111×计数保持11××0××011××QiQi2.十进制集成计数器74HC16074HC160的波形图2.十进制集成计数器74HC160100进制计数器的VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYmod100ISPORT(clk,en,clr:INBIT; ones:OUTINTEGERRANGE0TO15; tens:OUTINTEGERRANGE0TO15; max:OUTBIT);ENDmod100;ARCHITECTUREMOD100_archOFmod100ISCOMPONENTMOD10 PORT( clock,enable,clear:INBIT; q:OUTINTEGERRANGE0TO15;
tc:OUTBIT);ENDCOMPONENT;2.十进制集成计数器74HC160100进制计数器的VHDL源程序SIGNALrco:BIT;BEGINdigit1:MOD10PORTMAP(clock=>clk,enable=>en,clear=>clr,q=>ones,tc=>rco);digit2:MOD10PORTMAP(clock=>clk,enable=>rco,clear=>clr,q=>tens,tc=>max);ENDMOD100_archENTITYMOD10ISPORT(clock,enable,clear:INBIT; q:OUTINTEGERRANGE0TO15;
tc:OUTBIT);ENDMOD10;2.十进制集成计数器74HC160100进制计数器的VHDL源程序ARCHITECTUREMOD10_archOFMOD10ISBEGIN PROCESS(clock,enable) VARIABLEcounter:INTEGERRANGE0TO15; BEGIN IF((counter=9)AND(enable=‘1’))THENtc<=‘1’; ELSEtc<=‘0’; ENDIF; IF(clock’EVENTANDclock=‘1’)THEN IF(clear=‘1’)THENcounter:=0; ELSIF(enable=‘1’)THEN IF(counter=9)THENcounter:=0; ELSEcounter:=counter+1; ENDIF; ENDIF; ENDIF; q<=counter; ENDPROCESS;ENDMOD10_arch;3.可逆集成计数器74HC193可逆计数器也称加/减计数器。在可逆计数器中有两个计数脉冲输入端就是双时钟结构,其中一个为加法计数脉冲输入端,另一个为减法计数脉冲输入端。可逆计数器中只有一个计数脉冲输入端就是单时钟结构,它是靠加/减控制端的控制来实现加法计数和减法计数的。3.可逆集成计数器74HC1934位同步二进制加/减计数器中的74HC191、74HC169采用单时钟结构,而74HC193采用双时钟结构。同步十进制加/减计数器中的74HC190,74HC168采用单时钟结构,而74HC192则采用双时钟结构。3.可逆集成计数器74HC19374HC193是双时钟输入4位二进制同步可逆计数器。CLKU是加法计数时钟信号,CLKD是减法计数时钟信号,CR是清零信号,LD’是预置数控制信号,CO是加法进位信号,BO为减法借位信号。如图6-41为逻辑符号。3.可逆集成计数器74HC19374HC193是双时钟输入4位二进制同步可逆计数器。CLKU是加法计数时钟信号,CLKD是减法计数时钟信号,CR是清零信号,LD‘是预置数控制信号,CO是加法进位信号,BO为减法借位信号。如图6-41为逻辑符号。LD’CRBO’CO’3.可逆集成计数器74HC19374HC193的功能表工作方式输入输出CLKUCLKDCRLD'DnQnCO’BO’清0××0111××××001101预置数××0101××000000000011001111010111加法计数↑101×加计数H(1)H减计数1↑01×减计数HH(2)(1)CO’=CLKUatterminalcountup(HHHH)(2)BO’=CLKDatterminalcountdown(LLLL)3.可逆集成计数器74HC19374HC193的波形图6.5.3异步集成计数器74HC293是由4个T触发器连接而成的二-八-十六进制异步集成计数器,构成了两个计数器。6.5.3异步集成计数器二—五—十进制异步加法计数器二—五—十进制异步加法计数器74290(T1290)的逻辑图如图所示。二进制计数五进制计数器8421码十进制计数器5421码十进制计数器复位置位二—五—十进制异步加法计数器如表是74290的功能表。↓↓↓↓××××CPCP00CPCPQ0Q3
CP
××
××
××
××CP0
CP1有0
11
11
×0
0×S0(1)S0(1)二进制计数五进制计数8421码十进制计数5421码十进制计数
1001
1001
0000
0000Q3Q2Q1Q0输出有0
×0
0×
11
11R0(1)
R0(1)输入74290功能表二—五—十进制异步加法计数器如图是74290的外引脚排列图。6.5.4用中规模集成计数器构成
任意进制计数器假设用M表示现有的中规模集成计数器的进制(或模数),用N表示待实现的计数器长度,若M≥N,只需一片集成计数器,反之需要多片集成计数器。利用中规模集成计数器构成的任意进制计数器的方法,归纳起来主要有反馈复位法和反馈置数法。⒈反馈复位法几乎所有的集成计数器都设有清零端,有的是同步清零,有的是异步清零。反馈复位法是用译码电路来检测计数器的状态,当计数器到达被检测的状态时,译码电路输出低电平(或高电平),该信号反馈到MSI计数器的清零端,使清零端出现有效电平,强迫计数器进入全0状态,从而实现预定模数的计数。⒈反馈复位法若为异步清零,一旦清零端出现有效电平,计数器就立即全部复位为0,译码电路所检测的状态,只在很短暂的时间内存在,应属无效状态;若是同步清零,清零端出现有效电平后,计数器并不立即复位为0,而必须等待下一个有效时钟脉冲到来时,计数器才全部复位为0,因而译码电路所检测的状态存在的时间长达一个时钟周期,属于计数器的有效状态。用异步清零设计N进制计数器的
具体步骤:(1)写出N进制计数器的第SN状态的编码。若使用的是多位二进制集成计数器,则SN状态的编码应该取二进制编码;若使用的是十进制集成计数器,则SN状态的编码应该取8421BCD码。(2)求反馈逻辑。其中若清零信号为低电平有效,则反馈逻辑是由第SN状态编码中值为1的各位Q的与非操作构成;若清零信号为高电平有效,则反馈逻辑是由第SN状态编码中值为1的各位Q的与操作构成。用异步清零设计N进制计数器的
具体步骤:(3)画逻辑图。需要考虑时钟信号CLK的连接、反馈控制逻辑的连接、计数器正常工作所需的相关控制端的设定等。【例6-8】试用74HC163采用反馈复位方法构成十三进制计数器。1CLK1【例6-9】试用74HC293构成十进制计数器。解:74HC293是二-八-十六进制计数器,且采用异步清零方式,高电平有效。若用74HC293构成十进制计数器,应首先根据74HC293的功能表把计数器接成十六进制计数器形式,即CLK0=CLK,CLK1=Q0。再利用反馈复位法构成十进制计数器。【例6-9】试用74HC293构成十进制计数器。解:十进制计数器的N=10,其第S10状态的编码为1010,即Q3Q2Q1Q0=1010时,反馈输出为Q3Q1,即R01=Q1,R02=Q3。【例6-11】试用74HC161采用反馈复位法构成十二进制计数器。解:由于十二进制计数器的第S12状态的编码为1100,即Q3Q2Q1Q0=1100,反馈输出为(Q3Q2)',即CR'=(Q3Q2)'。2反馈置数法反馈置数法适合于具有预置数输入功能的集成计数器,也有同步置数和异步置数之分。反馈预置数法是用译码电路检测计数器的状态,当计数器到达被检测的状态时,译码电路输出低电平(或高电平),把译码电路的输出反馈到MSI计数器的预置数端,使预置数端出现有效电平。利用预置数端的异步/同步预置功能,将数据输入端所加的预置数装入计数器,从而实现预定模数的计数。2反馈置数法若MSI计数器的预置数端是异步预置功能,译码电路所检测的状态存在的时间很短暂,是计数器的无效状态;若MSI计数器的预置数端是同步预置功能,当预置数端出现有效电平后,必须等待下一个时钟脉冲有效时,才能将数据输入端所加的预置数装入计数器,所以,译码电路所检测的状态的存在时间长达一个时钟周期,属计数器的有效状态。2反馈置数法若采用异步置数,其设计步骤与反馈异步清零相同,只是状态S0不一定是0态。若采用同步置数,则其设计步骤为:写出N进制计数器的第SN-1状态的编码。同样,状态编码分为二进制编码和8421BCD编码。求反馈逻辑。其中若置数信号为低电平有效,则反馈逻辑是由第SN-1状态编码中各位Q的与非操作构成;若置数信号为高电平有效,则反馈逻辑是由第SN-1状态编码中各位Q的与操作构成。画逻辑图。【例6-10】试用74HC160实现六十进制计数器。解:由于单片74HC160最大能实现十进制计数器,因此若实现六十进制计数器,则需要采用2片74HC160分别作为个位和十位进行计数,要采取级联的方法实现。个位完成十进制计数,不需要进行译码,只需将其进位输出信号取反连接十位计数器的时钟输入端,作为十位的时钟脉冲信号,十位计数器连成六进制计数器。2片74HC160都是8421BCD编码。由于N=60,所以有8421BCD码的状态S60=01100000,因此十位计数器的反馈输出为(Q2Q0)'。【例6-10】试用74HC160实现六十进制计数器。解:电路如图6-47所示。【例6-11】试用74HC161采用反馈置数法构成十二进制计数器。解:对于采用反馈置数法实现十二进制计数器,可以采用置0方式也可以采用置任意数方式实现。(1)置0方式。001000010011011101000101101110101001100000000110十二进制计数器状态转换图【例6-11】用74HC161采用反馈置数法构成十二进制计数器。解:(1)置0方式。逻辑图如图6-49所示。【例6-11】解:置任意数方式包括置最小数方式、置最大数方式和置中间数方式等。置最小数方式:74HC161的计数长度为十六。十二进制计数器的计数长度等于十二。预置数应是(16-12)=4,即D3D2D1D0=0100。即计数器计到最大数1111之后,应使计数器处于预置数工作状态。【例6-11】解:电路如图6-51所示。【例6-11】解:置最大数方式和置中间数方式置最大数须跳过1110、1101、1100、1011四个状态,因此令LD'=(Q3Q2'Q1Q0')'【例6-11】解:置中间数:若跳过的四个状态取0110、0111、1000、1001,则Q3Q2Q1Q0=0101时,即LD'=(Q3'Q2Q1'Q0)'【例6-12】试用74HC193设计十进制加法计数器,假设计数器的起始状态为0100。解:用可逆4位二进制计数器74HC193实现加法计数时,需要将计数脉冲加到CLKU端,而减法计数脉冲输入端CLKD应接高电平。由于74HC193置数信号为异步的,且为低电平有效。因此反馈逻辑是在S10态(1110)时LD'为低电平有效,即LD'=(Q3Q2Q1)'。【例6-12】试用74HC193设计十进制加法计数器,假设计数器的起始状态为0100。解:【例6-13】试用2片74HC163实现二十四进制计数器。例用一片74LS161和必要的门电路构成一可控计数器。当控制端C=1时,实现八进制计数;C=0,实现四进制计数。方法一:采用复位法和状态译码置数法构成可控计数器。C=18进制计数状态图00000001001000110100010101100111例方法一:采用复位法和状态译码置数法构成可控计数器。C=04进制计数状态图00010011000000100100例方法二:采用进位输出置数法实现1100110111111110100010011010101111001101111011116.5.5移位寄存器型计数器将移位寄存器的输出以一定的方式反馈到串行输入端,便可以构成移位寄存器型计数器(ShiftRegisterCounter),这种计数器可以应用到许多控制领域。⒈环型计数器一个4位环型计数器是将左移移位寄存器的串行输出端直接反馈到串行输入端构成的环型移位寄存器。⒈环型计数器0001001001001000有效循环00001111无效循环(Q3Q2Q1Q0)0101101000111100100101100111110110111110⒉扭环形计数器如果将环形计数器的反馈函数D0=Q3改成D0=(Q3)',即构成扭环形计数器。扭环形计数器亦称约翰逊(Johnson)计数器。⒉扭环形计数器扭环型计数器状态转换图如图示。01011011011011010010101001001001无效循环11000000000100110111111111101000有效循环Q3Q2Q1Q0⒉扭环形计数器扭环型计数器可以用MSI寄存器实现。用74HC194实现的扭环型计数器如图所示。6.6顺序脉冲发生器顺序脉冲发生器:产生一组在时间上有先后顺序的脉冲。用途:如在计算机中,机器执行指令时,是将一条指令分成一些基本动作,控制器发生一系列节拍脉冲,有顺序地控制这些基本动作的完成,实现一系列的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医师资格证考试医学统计学考点巩固习题及答案
- 2026年四川省内江市中考道德与法治试卷真题(含答案详解)
- 吉林成考高升专理化综合核心论述题
- 高级美容师资格考试题库及答案通关秘籍题库
- 2026年10月厦门市集美区敦尚实验幼儿园非在编教职工招聘3人笔试备考题库及答案解析
- 2027广西定向中国农业大学招录选调生考试参考题库及答案解析
- 2026加格达奇区交通运输局公益性岗位招聘4人笔试参考题库及答案解析
- 2026贵州黔南州惠水县银龄讲学计划教师招募2人笔试模拟试题及答案解析
- 2027中国光大银行石家庄分行校园招聘考试备考题库及答案解析
- 2026福建泉州市金融消费者权益保护协会招聘3人笔试参考题库及答案解析
- 2026年秋新版道德与法治(道法)五年级上册全册分课时作业附答案
- 2026年水利系统职称考试题库及答案
- 2026年部编版四年级语文上册期中检测题及答案
- 新版小学道德与法治新部编版四年级上册全册教案(2026秋新版)合集
- 2026语文新教材 统编版语文六年级上册第四单元 语文园地四 教学课件
- 急性上消化道大出血失血性休克急救护理个案
- 2026年甘肃省机关事业单位选调工作人员考试(公共基础知识)仿真试题及答案
- 2026年共青团入团考试测试题库(含答案)
- 青春健康师资考试历年真题
- 2026年4月自考00023高等数学(工本)试题
- 小区消防维修改造工程施工方案投标文件(技术标)
评论
0/150
提交评论