1、第五章第五章 常用时序集成电路及其应用常用时序集成电路及其应用 第一节第一节 计数器计数器 第二节第二节 寄存器寄存器 第三节第三节 序列码发生器序列码发生器 第四节第四节 时序模块的应用时序模块的应用 小结小结第一节第一节 计数器计数器按进位方式,分为同步和异步计数器。按进位方式,分为同步和异步计数器。按进位制,分为模按进位制,分为模2、模、模10和任意模计数器。和任意模计数器。按逻辑功能,分为加法、减法和可逆计数器。按逻辑功能,分为加法、减法和可逆计数器。按集成度,分为小规模与中规模集成计数器。按集成度,分为小规模与中规模集成计数器。用来计算输入脉冲数目用来计算输入脉冲数目计数器的分类计数
2、器的分类动画计数器动画计数器部分常用集成计数器部分常用集成计数器 第一节第一节 计数器计数器 四位二进制同步计数器四位二进制同步计数器第一节第一节 计数器计数器 四位二进制可逆计数器四位二进制可逆计数器 中规模异步计数器中规模异步计数器一、四位二进制同步计数器一、四位二进制同步计数器(二)(二) 四位二进制同步计数器四位二进制同步计数器74163(一)(一) 四位二进制同步计数器四位二进制同步计数器74161(三)(三) 74161/74163功能扩展功能扩展(一)四位二进制同步计数器(一)四位二进制同步计数器74161 内部由四个主从内部由四个主从JK触触发器和控制电路构成。发器和控制电路构
3、成。逻辑符号逻辑符号 符号输入中符号输入中R端有效,在端有效,在此输入为低电平时,输出为此输入为低电平时,输出为0,称之为异步清零。端子输入称之为异步清零。端子输入端用端用R说明。说明。CORLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3 符号中符号中LD端为有效时,此端引端为有效时,此端引入线为低时,且时钟入线为低时,且时钟CP上升沿时,将上升沿时,将输入端数字送到输出端。同步预置。输入端数字送到输出端。同步预置。D0D1D2D3此端输入信号用此端输入信号用LD表示。表示。时钟输入信号用时钟输入信号用CP表示。表示。 当当CP上升沿上升沿, 并且并且CTT和和CTP 有效时,计数器加有
4、效时,计数器加1计数。计数。CTP、CTT:可作为使能端和多:可作为使能端和多片级联使用片级联使用。 当当Q3 Q2 Q1 Q0=1111 时,且时,且CTT等于等于1时时, 控制输出端控制输出端CO输出输出有效高电平。有效高电平。CO74161RLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3CO74161外引线功能端排列图外引线功能端排列图 (一)四位二进制同步计数器(一)四位二进制同步计数器74161 741611R2CP3D04D15D26D37CTT8GNDUCC 16CO 15Q0 14Q1 13Q2 12Q3 11CTP 10LD 974161功能表功能表 Q3 Q2 Q1
5、Q0输输 入入输输 出出CPRLDCTPCTTD3 D2 D1 D0 0 0 0 0 0 D3 D2 D1 D0 10 D3 D2 D1 D0 保持保持 11 0 保持保持 11 0 计数计数 11 1 1 1)1)异步清除:当异步清除:当R=0=0,输出,输出“0000”0000”状态,状态,与与CP无关。无关。2)2)同步预置:当同步预置:当C=1=1,LD=0=0,在在CP上升沿时上升沿时,输出,输出端反映输入数据的状态。端反映输入数据的状态。3)3)保持:当保持:当R= =LD=1=1时,时,CTP或或CTT有一个无效,各有一个无效,各触发器均处于保持状态。触发器均处于保持状态。 4)
6、计数:当计数:当LD = R = CPT= CTT =1时,按时,按二进制自然二进制自然码码计数。计数。 若初态为若初态为0000,15个个CP后,输出为后,输出为“1111”,进位进位CO = CTTQ3Q2Q1Q0 =1。第。第16个个CP作用后,输出作用后,输出恢复到恢复到0000状态,状态,CO = 0。 用用VHDL实现实现74161 LIBRARY IEEEUSE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;ENTITY v74LS161 IS PORT (CP,CR_L,LD_L,CTP,CTT:IN STD_LOGI
7、C; D:IN UNSIGNED (3 DOWNTO 0); Q:OUT UNSIGNED (3 DOWNTO 0); CO:OUT STD_LOGIC);END v74LS161;ARCHITECTURE v74LS161_arch OF v74LS161 IS SIGNAL IQ: UNSIGNED (3 DOWNTO 0);BEGIN PROCESS (CP,CTT,CR_L) 中间信号中间信号IQ是为了交换中间是为了交换中间数据。如果直接数据。如果直接用输出用输出Q,那么,那么定义的输出必须定义的输出必须为缓冲而不是输为缓冲而不是输出。出。 (一)四位二进制同步计数器(一)四位二进制同
8、步计数器74161 BEGIN IF CR_L=0 THEN IQ 0); END IF; IF (CPEVENT AND CP=1) THEN IF LD_L=0 THEN IQ = D; ELSIF (CTT AND CTP)=1 THEN IQ = IQ+1 END IF; IF (IQ=15) AND (CTT=1) THEN CO = 1; ELSE CO = 0; END IF; END IF; Q =IQ; END PROCESS;END v74LS161_arch; CR_L表示清表示清零信号且为低电零信号且为低电平有效。平有效。 CP上升沿有上升沿有效。效。 (二)四位二进制
9、同步计数器(二)四位二进制同步计数器74163 74163功能表功能表74161功能表功能表Q3 Q2 Q1 Q0输输 入入输输 出出CPRLDCTPCTTD3 D2 D1 D0 0 0 0 0 0 D3 D2 D1 D0 10 D3 D2 D1 D0 保持保持 11 0 保持保持 11 0 计数计数 11 1 1 (1)(1)外引线排列和外引线排列和 74161相同。相同。(2)(2)置数,计数,置数,计数,保持功能与保持功能与74161相同。相同。(3)(3)清零功能与清零功能与74161不同。不同。特点:特点: 74163采用采用同步清零同步清零方式方式:当当R =0=0时,且当时,且当
10、 CP 的的上升沿上升沿来到时来到时, ,输出输出Q0Q1Q2Q3 才全被清零。才全被清零。CORLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3CO74163RLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3CO比较比较四位二进制同步计数器四位二进制同步计数器同步预置同步预置保持保持计数计数7416374161同步预置同步预置保持保持计数计数异步清零异步清零 同步清零同步清零连接成任意模连接成任意模M 的计数器的计数器(1) 同步预置法同步预置法(2) 反馈清零法反馈清零法(3) 多次预置法多次预置法( (三)三)74161/ 7416374161/ 74163功能扩展功能扩展Q0Q
11、1Q2Q301101 态序表态序表 计数计数 输输 出出 N Q3 Q2 Q1 Q0 0 0 1 1 0 1 0 1 1 1 2 1 0 0 0 3 1 0 0 1 4 1 0 1 0 5 1 0 1 1 6 1 1 0 0 7 1 1 0 1 8 1 1 1 0 9 1 1 1 1例例1:1:设计一个设计一个M=10的计数器。的计数器。方法一方法一: : 采用后十种状态采用后十种状态CO=10(1) (1) 同步预置法同步预置法1CO74163RLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3COCORLDCTTCTPCPf1101100110f/10例例2: 2: 同步预置法设计同步预
12、置法设计 M=24 计数器。计数器。00011000010000000(24)10=(11000)2需需 两两 片片初态为:初态为:0000 0001终态:终态:0001100000001000连接成任意模连接成任意模M 的计数器的计数器(1) 同步预置法同步预置法(2) 反馈清零法反馈清零法(3) 多次预置法多次预置法( (三)三)74161/ 7416374161/ 74163功能扩展功能扩展例例3: 3: 分析图示电路的功能。分析图示电路的功能。0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 1
13、8 1 0 0 09 1 0 0 110 1 0 1 011 1 0 1 112 1 1 0 0 采用采用741610000011(2 2)反馈清零法)反馈清零法 态序表态序表 N Q3 Q2 Q1 Q0连接成任意模连接成任意模M 的计数器的计数器(1)同步预置法)同步预置法(2)反馈清零法)反馈清零法(3)多次预置法)多次预置法(三)(三)74161/7416374161/74163功能扩展功能扩展 M=10 计数器计数器 态序表态序表 N Q3 Q2 Q1 Q00 0 0 0 0(3)(3)多次预置法多次预置法例例4: 分析电路功能。分析电路功能。2 0 1 0 13 0 1 1 04 0
14、 1 1 15 1 0 0 07 1 1 0 18 1 1 1 09 1 1 1 11 0 1 0 06 1 1 0 000100011例例5:用:用VHDL语言设计多次预置的十进制电路。语言设计多次预置的十进制电路。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT10 IS; PORT(CLK:IN STD_LOGIC; DATE_OUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COUNT10;DATE_OUTCOUNT10CLKARCH
15、ITECTURE COUNT10_ARC OF COUNT10 IS;BEGIN PROCESS VARIABLE TEMP:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN END PROCESS;END COUNT10_ARC;主程序主程序中间变量中间变量TEMP(3)到到TEMP(0)对应输出对应输出Q Q3 3Q Q2 2Q Q1 1Q Q0 0例例5:用:用VHDL语言设计多次预置的十进制电路。语言设计多次预置的十进制电路。WAIT UNTIL CLKEVENT AND CLK=1 ; IF TEMP=“1111” THEN TEMP=“0000” ELSIF
16、TEMP(2)=0 THEN TEMP(2 DOWNTO 0):=“100”; ELSE TEMP:=TEMP+1; END IF;DATE_OUT=TEMP; 计数到计数到Q Q2 2=0=0状态时,则呈置状态时,则呈置数状态,下一个脉冲到来后,置数状态,下一个脉冲到来后,置Q Q2 2Q Q1 1Q Q0 0=“100”=“100”,Q Q3 3维持不变。维持不变。其它情况按照其它情况按照84218421码计数。码计数。 计数到计数到1111状态时,下一状态时,下一个脉冲回到个脉冲回到0000状态。状态。 若干片同步计数器组成同步计数链时,就要利用计数控若干片同步计数器组成同步计数链时,就
17、要利用计数控制端制端CTT、CTP传递进位信号。传递进位信号。 (4 4)同步计数器的级联)同步计数器的级联 高位片计数的条件是:只有等低位片输出为全高位片计数的条件是:只有等低位片输出为全1,其进位,其进位输出输出CO=1时才能使高位片在输入下一个计数脉冲后接收进位时才能使高位片在输入下一个计数脉冲后接收进位信号开始计数,否则只能为保持状态。信号开始计数,否则只能为保持状态。 三、中规模异步计数器三、中规模异步计数器二、四位二进制可逆计数器二、四位二进制可逆计数器一、四位二进制同步计数器一、四位二进制同步计数器第二节第二节 计数器计数器3和和G3相关联。相关联。D A:数据输入,从数据输入,
18、从高位高位低位低位。QD QA :数据输出,数据输出, 从从高高位位低位低位。1. 逻辑符号逻辑符号二、四位二进制可逆计数器二、四位二进制可逆计数器74193 R=1时时,高电平有效,高电平有效,输出清零。输出清零。 只要只要DN为高电平有效,为高电平有效,UP上升沿到时,加上升沿到时,加1计数。计数。反之,反之, 只要只要UP 高电平有效,高电平有效, DN上升沿到时,减上升沿到时,减1计数。计数。 即双时钟输入。即双时钟输入。 LD当低电平时,数据从当低电平时,数据从输入到输出,且输入到输出,且异异步预置。步预置。DCBACCQQQQUPQ 减到最小减到最小值时产生借位值时产生借位信号信号
19、QCB=0 加到最大加到最大值时产生进位值时产生进位信号信号QCC=0CO=0DCBAQQQQDNQCBBO=074LS193RCPUQCCLDABCDCORLDUPDNQAQBQCQDABCDCPDBOQCBQAQBQCQD74193功能表功能表二、四位二进制可逆计数器二、四位二进制可逆计数器74193 0 0 0 0 1 A B C D 0 0A B C D 加法计数加法计数1 0 1 减法计数减法计数1 0 1 保持保持11 0 1 QA QB QC QD输输 入入UPDN RLDA B C D输输 出出 连接成任意模连接成任意模M 的计数器的计数器(1) 接成接成M16的计数器的计数器
20、2. 74193功能扩展功能扩展二、四位二进制可逆计数器二、四位二进制可逆计数器74193 74LS193RCPUQCCLDABCDCORLDUPDNQAQBQCQDABCDCPDBOQCBQAQBQCQD0 0 1 1 01 0 1 1 12 1 0 0 03 1 0 0 14 1 0 1 05 1 0 1 16 1 1 0 07 1 1 0 18 1 1 1 09 1 1 1 1例例6:用:用74193设计设计M=9 计数器。计数器。方法一方法一:采用采用异步预置、异步预置、加法计数加法计数(1)接成)接成M16的计数器的计数器 态序表态序表 N QD QC QB QA0110CO=001
21、f011074LS193RCPUQCCLDABCDCORLDUPDNQAQBQCQDABCDCPDBOQCBQAQBQCQD方法二方法二:采用采用异步预置、异步预置、减减法计数法计数01 0 0 111 0 0 020 1 1 130 1 1 040 1 0 150 1 0 060 0 1 170 0 1 080 0 0 190 0 0 0例例7 7:用:用7419374193设计设计M=9 计数器。计数器。 态序表态序表N QD QC QB QA(1)接成)接成M16的计数器的计数器1001BO=00f 11001 连接成任意模连接成任意模M 的计数器的计数器(1) 接成接成M16的计数器的
22、计数器2. 741932. 74193功能扩展功能扩展二、四位二进制可逆计数器二、四位二进制可逆计数器74193 例例8: 8: 用用74193设计设计M=147 计数器。计数器。方法一方法一:采用采用异步清零、异步清零、加加法计数。法计数。M = (147)10 =(10010011)2需要两片需要两片74193(2)接成)接成M16的计数器的计数器1100100100000000M = (147)10 =(10010011)21001110011001001例例9:9:用用7419374193设计设计M=147 计数器计数器(2)接成)接成M16的计数器的计数器方法二方法二:采用采用减法减
23、法计数、计数、异步预置、异步预置、 利用利用BO端。端。三、中规模异步计数器三、中规模异步计数器二、四位二进制可逆计数器二、四位二进制可逆计数器一、四位二进制同步计数器一、四位二进制同步计数器第二节第二节 计数器计数器(1) 触发器触发器A:模:模2 CPA入入QA出出(2) 触发器触发器B、C、D:模:模5异步计异步计数器。数器。 CPB 入入QD QB出出1 . 逻辑符号逻辑符号三、异步计数器三、异步计数器74290QD74LS290R0(1)CPAR0(1)QAQBQCR0(2)S9(1)S9(2)CPBR0(2)S9(1)S9(2)QDQAQBQCCPACPB S9(1)、S9(2)有
24、效。有效。 不管不管R0(1)、R0(2)是否有效,数是否有效,数据输出端为据输出端为1001。 S9(1)、S9(2)有一个无效。有一个无效。 R0(1)、R0(2)输入高电平,输入高电平,数据输出端清零。数据输出端清零。0000(3(3)计数:当计数:当R0(1)、)、R0(2)及及S9(1)、)、S9(2)有低电平时有低电平时,且当有且当有CP下降沿下降沿时,即可以时,即可以实现计数。实现计数。 在外部将在外部将QA和和CPB连接构成连接构成8421BCD码计码计数。数。 f 从从CPA入,输出从入,输出从QD QA出。出。f 在外部将在外部将QD和和CPA连接构成连接构成5421BCD
25、码计码计数。数。 f 从从CPB入,输出从入,输出从QAQD QC QB出。出。f 0 0 计计 数数 0 0 0 0 0 0 三、异步计数器三、异步计数器74290输输 入入 输输 出出CP R0(1) R0(2) S9(1) S9(2) QA QB QC QD 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1QD74LS290R0(1)CPAR0(1)QAQBQCR0(2)S9(1)S9(2)CPBR0(2)S9(1)S9(2)QDQAQBQCCPACPB例例 1:采用:采用74290 设计设计M=6计数器。计数器。方法一:利用方法一:利用R端端00 0 0
26、011 0 0 020 1 0 031 1 0 040 0 1 051 0 1 060 1 1 001100000 M=6 =6 态序表态序表N QA QB QC QDQD74LS290R0(1)CPAR0(1)QAQBQCR0(2)S9(1)S9(2)CPBR0(2)S9(1)S9(2)QDQAQBQC例例 2:采用:采用74290 设计设计M=7计数器。计数器。 M=7 态序表态序表 N QA QB QC QD00 0 0 011 0 0 020 1 0 031 1 0 040 0 1 051 0 1 060 1 1 071 0 0 1方法二:利用方法二:利用S 端端01101001CPA
27、CPB例例 3:用:用74290 设计设计M=10计数器。计数器。 M=10 =10 态序表态序表 NQAQDQC QB00 0 0 010 0 0 120 0 1 030 0 1 140 1 0 051 0 0 061 0 0 171 0 1 081 0 1 191 1 0 0要求:采用要求:采用5421码计数码计数fQD74LS290R0(1)CPAR0(1)QAQBQCR0(2)S9(1)S9(2)CPBR0(2)S9(1)S9(2)QDQAQBQCCPACPBCPA74LS290(2)R0(1)CPACPBR0(2)S9(1)S9(2)QDQAQBQCCPBCPA74LS290(1)R
28、0(1)CPACPBR0(2)S9(1)S9(2)QDQAQBQCCPBQ0Q1Q2Q3Q4Q5Q6Q7例例 4:用:用74290 设计设计M=88计数器。计数器。方法三:采用两片方法三:采用两片74290级联级联01寄存器寄存器移位寄存器移位寄存器单向移位寄存器单向移位寄存器双向移位寄存器双向移位寄存器第三节第三节 寄存器寄存器用来存放数据用来存放数据一、一、寄存器的分类寄存器的分类 R=0=0时,表示此信号时,表示此信号为低电平时,四个触发器为低电平时,四个触发器的输出为零,是异步清除的输出为零,是异步清除。(一)中规模寄存器(一)中规模寄存器74175 四个触发器构成的四个触发器构成的寄
29、存器。寄存器。 CP信号是时钟,且信号是时钟,且上升沿有效。上升沿有效。1.1.逻辑符号逻辑符号 2.功能功能二、寄存器二、寄存器 假设假设4是低位寄存器,是低位寄存器,1是是高位寄存器。高位寄存器。由由D触发器的特性方程可知:触发器的特性方程可知:DQn14nnQQ413nnQQ312nnQQ211 在移位脉冲的作用下,低在移位脉冲的作用下,低位触发器的状态送给高位,作位触发器的状态送给高位,作为高位的次态输出。为高位的次态输出。左移寄存器左移寄存器欲存入数码欲存入数码1011:1011采用串行输入采用串行输入 只有一个数据输入端只有一个数据输入端?解决的办法:解决的办法: 在在 4个移位脉
30、冲的作用下个移位脉冲的作用下 ,依次送入数码。,依次送入数码。左移寄存器:左移寄存器: 先送高位,后送低位。先送高位,后送低位。右移寄存器:右移寄存器: 先送低位,后送高位。先送低位,后送高位。由于该电路为一左移寄存器,数码输入顺序为:由于该电路为一左移寄存器,数码输入顺序为:1011欲存入数码欲存入数码1011,即即D1D2D3D4= 1011101174LS195RJLDKRLOADCPQ0Q1Q2Q3D0CP Q3JD1D2D3KQ0Q1Q2Q3Q3D0D1D2D32. 2. 功能功能1. 1. 逻辑符号逻辑符号(二)(二)四位单向移位寄存器四位单向移位寄存器7419574195(1)
31、清零:信号清零:信号R=0时时,将输出将输出寄存器置寄存器置“0000” (当低电平当低电平时。时。(2) 送数:送数: LOAD=0时(低时(低电平),电平),CP的上升沿到,的上升沿到,将输入端数据送到输出,即将输入端数据送到输出,即当当R=1,当,当CP 时,执时,执行并行送数行并行送数。(3) 右移:即当右移:即当R=1,LOAD=1时,时, CP上升沿时,将输出端上升沿时,将输出端数据向高位移一次,即当数据向高位移一次,即当CP 时,执行时,执行右移:右移: 输出输出Q0由由J、K决定决定, Q0Q1, Q1Q2 ,Q2Q3。Q3溢出溢出74195功能表功能表(二)(二)四位单向移位
32、寄存器四位单向移位寄存器74195输输 入入 输输 出出0 X X X X X X 0 0 0 0 11 1 0 d0 d3 X X d0 d1 d2 d3 d31 0 0 1 X X X X Q0n Q1n Q2n Q3n Q3n1 1 X X 0 1 Q0n Q0n Q1n Q2n Q2n 1 1 1 X X 0 0 Q0n Q1n Q2n Q2n1 1 X X 1 1 Q0n Q1n Q2n Q2n1 1 X X 1 0 Q0n Q1n Q2n Q2n R CP LOAD D0 D3 J K Q0n+1 Q1n+1 Q2n+1 Q3n+1 Q3n+101Q02. 2. 功能功能1. 1.
33、 逻辑符号逻辑符号(三)(三)四位双向移位寄存器四位双向移位寄存器74194(1) 清零:清零: 信号信号R =0时时(当低电当低电平时平时),将输出寄存器置将输出寄存器置“0000”, 优先级最高。优先级最高。(2) 送数:当送数:当R=1,MA=MB=1时时,当,当CP 时,时,即即CP的上升沿,的上升沿,将输入端数据送到输出,将输入端数据送到输出,执行并执行并行送数行送数。(3) 保持:保持:MA和和MB为低电平时,为低电平时,保持输出状态不变。保持输出状态不变。(4)右移右移: MA为高为高, MB为低电平为低电平时,且时,且CP的上升沿,将输出端的上升沿,将输出端数据向右位移一次,即
34、当数据向右位移一次,即当R=1,MA=1,MB=0时,当时,当CP 时,执时,执行行右移:右移:输出输出Q0由由DSR决定决定, Q0Q1,Q1Q2 ,Q2Q3。(5)左移左移: MA为低为低,MB为高电平时,为高电平时,且且CP的上升沿,将输出端数据的上升沿,将输出端数据向左位移一次,即当向左位移一次,即当R=1,MA=0,MB=1时,当时,当CP 时,执时,执行行左移:左移:输出输出Q3由由DSL决定决定, Q3Q2,Q2Q1 ,Q1Q0。 Q0溢出。溢出。CPMB74LS194RCP RMAQ0Q1Q2Q3AMAADSRDSRBCDBDSLCDDSLMBQ0Q1Q2Q3(三)(三)四位四
35、位双向移位寄存器双向移位寄存器7419474194功能表功能表 输输 入入 输输 出出0 X X X X X X X 0 0 0 0 1 1 X d0 d3 1 1 X d0 d1 d2 d3 1 0 0 X X X X X X Q0n Q1n Q2n Q3n 1 1 X X 0 1 X Q0n Q1n Q2n 1 1 0 X X 0 1 X Q0n Q1n Q2n 1 X X X 1 0 1 Q1n Q2n Q3n 2 2 X X X 1 0 0 Q1n Q2n Q3n 1 X X X X 0 0 X Q0n Q1n Q2n Q2n R CP DSR D0 D3 MB MA DSL Q0n+
36、1 Q1n+1 Q2n+1 Q3n+11010LIBRARY IEEE USE IEEE.std_logic_1164.all; ENTITY vshiftreg IS PORT (CP,R,DSR,DSL:IN STD_LOGIC; S: STD_LOGIC_VECTOR (2 DOWNTO 0); -FUNCTION SELECT D: STD_LOGIC_VECTOR (7 DOWNTO 0); -DATA IN Q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); -DATA OUTEND vshiftreg; ARCHITECTURE vshiftreg_ar
37、ch OF vshiftreg IS SIGNAL IQ: STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN 用用VHDLVHDL程序实现程序实现8 8位移位寄存器位移位寄存器 定义一个中间信号定义一个中间信号IQ (三)(三)四位四位双向移位寄存器双向移位寄存器74194 PROCESS(CP,R,IQ) BEGIN IF ( R=1) THEN IQ 0); -异步清除 ELSIF (CPEVENT AND CP=1) THEN CASE CONV_INTEGER(S) IS WHEN 0 = NULL; -保持 WHEN 1 = IQ IQ IQ IQ IQ IQ
38、 IQ NULL; END CASE; END IF; Q = IQ; END PROCESS; END vshiftreg_arch; R信号为异步清信号为异步清零,不考虑零,不考虑CP信号。信号。 用用CONV_INTEGER将将S所属数所属数据类型据类型STD_LOGIC_VECTOR转换转换到整数类型。到整数类型。 根据根据MA、MB、MC的值,用的值,用CASE语语句描述了句描述了8种移位操作。种移位操作。 在在CASE语句中,用语句中,用WHEN OTHERS覆盖没有考虑到的值域覆盖没有考虑到的值域 。 “NULL”语句语句描述无任何操作,即保持原状态。描述无任何操作,即保持原状态
39、。 2. 环形计数器环形计数器1. 数据转换数据转换3. 扭环形计数器扭环形计数器4. 分频器分频器(四)寄存器的应用(四)寄存器的应用1.1.七位串行七位串行并行转换并行转换CPR CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 MA MB= Q7 操作操作 0 0 0 0 0 0 0 0 0 100000000111并行送数并行送数清零清零1 D0 0 1 1 1 1 1 1 1串行输入串行输入1111D001100右移右移2 D1 D0 0 1 1 1 1 1 11111D1D0110右移右移串行串行并行并行1Q0Q1Q2Q3DSR011MB1Q4Q5Q6Q71111MAMBMA7
40、4LS194(1)RCP MAADSRBCDDSLMB74LS194(2)RCP MAADSRBCDDSLMBQ0Q1Q2Q3Q0Q1Q2Q374LS194(2)RCP MAADSRBCDDSLMBCP1Q0Q1Q2Q3DSR10MB1Q4Q5Q6Q7MAMBMA串行串行输出输出11D0D1D2D3D4D5D674LS194(1)RCP MAADSRBCDDSLMB七位七位并行并行串行串行 CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 MA MB 操作操作 1 0 D0 D1 D2 D3 D4 D5 D6 101并行送数并行送数启动启动2 1 0 D0 D1 D2 D3 D4 D5 1
41、0右移右移3 1 1 0 D0 D1 D2 D3 D4 10右移右移&D6D00D4D2D5D1D3D501D3D1D4D0D2直到直到Q5Q4 Q3Q2 Q1Q0=111111D01111011重新重新预置预置1例例1:用:用74195构成构成M=4的环形计数器。的环形计数器。2.2.环形计数器环形计数器K1LOADCPQ0Q1Q2Q31Q3J000启动启动 态序表态序表 Q0 Q1 Q2 Q3注意:注意:(1 1)电路除了有效计数循环)电路除了有效计数循环外,还有五个无效循环。外,还有五个无效循环。(2 2)不能自启动,)不能自启动,工作时首工作时首先在先在LOAD加启动信号进行预加启动信
42、号进行预置。置。74LS195RJLDCP KQ0Q1Q2Q3Q3D0D1D2D3环形计数器设计环形计数器设计(2)判断触发器个数:)判断触发器个数: 计数器的模计数器的模 n(n为移位寄存器为移位寄存器的个数的个数)。(1)连接方法:)连接方法: 将移位寄存器的输出将移位寄存器的输出Q3反馈到反馈到、K输入端。输入端。1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1例例2 2:设计一:设计一M=8=8的扭环形计数器。的扭环形计数器。KCPQ0Q1Q2Q3Q3J0000启动启动 态序表态序表 Q0 Q1 Q2 Q3 0 注意:注
43、意:(1 1)电路除了有效计数循环外,)电路除了有效计数循环外,还有一个无效循环。还有一个无效循环。(2 2)不能自启动,)不能自启动, 工作时首先在工作时首先在R端加启动脉冲信号清零。端加启动脉冲信号清零。74LS195RJLDCP KQ0Q1Q2Q3Q3D0D1D2D3扭环形计数器设计扭环形计数器设计(2)判断触发器个数:)判断触发器个数: 计数器的模计数器的模2 n (n为移位寄存器的为移位寄存器的位数位数)。(1)连接方法:)连接方法: 将移位寄存器的输出将移位寄存器的输出Q3经反相器后经反相器后反馈到反馈到、K输入端。输入端。分频器分频器第四节第四节 序列码发生器序列码发生器一、反馈
44、型序列码发生器一、反馈型序列码发生器二、计数器型序列码发生器二、计数器型序列码发生器 按一定规则按一定规则排列的周期性串排列的周期性串行二进制码。行二进制码。任意长度的序列码任意长度的序列码1CP0Q0Q1Q2Q3ADSRBCDDSL1&1&CP74LS194RCP MAADSRBCDDSLMBQ0Q1Q2Q3一、反馈型最长线性序列码发生器一、反馈型最长线性序列码发生器 反馈移位型序列码发生器是由反馈移位型序列码发生器是由移位寄存器和组合反馈电路组成。移位寄存器和组合反馈电路组成。 230SL QQQD 工作在工作在左移操作状左移操作状态态 。态序表态序表N Q0 Q1 Q2 Q3 DSL0
45、0 1 1 1 11 1 1 1 1 02 1 1 1 0 03 1 1 0 0 14 1 0 0 1 15 0 0 1 1 1 在时钟脉冲在时钟脉冲作用下,作用下,Q3输出输出11001111001110011110011 1。 在上述序列信号中,在上述序列信号中,110011是一个是一个循环周期,其循环长度循环周期,其循环长度S=6。如果由。如果由不不同的同的Q端端输出,其输出,其序列中序列中1和和0的排列相的排列相同,仅是初始相位不同。同,仅是初始相位不同。 二、计数器型序列码发生器二、计数器型序列码发生器2.2.按要求设计组合输出电路。按要求设计组合输出电路。计数器计数器+ +组合输出
46、电路组合输出电路(一)电路组成(一)电路组成(二)设计过程(二)设计过程 1. 根据序列码的长度根据序列码的长度S设计模设计模S计计数器,状态可以自定。数器,状态可以自定。例例3:设计一产生:设计一产生110001001110序列码发生器。序列码发生器。第一步:设计计数器第一步:设计计数器 (1)序列长度)序列长度S=12,可以,可以设计模设计模12计数器。计数器。(2)选用)选用74161。(3)采用同步预置法。)采用同步预置法。( 4 ) 设 定 有 效 状 态 为) 设 定 有 效 状 态 为 QDQCQBQA=01001111。二、计数器型序列码发生器二、计数器型序列码发生器1CO11
47、CPQAQBQCQD00101CO74161RLDCTTCTPCPQ0Q1Q2Q3D0D1D2D3CO第二步:设计组合电路第二步:设计组合电路 (1)列出真值表列出真值表(2)卡诺图化简卡诺图化简(3)采用采用8输入输入数据选择器实现数据选择器实现逻辑函数逻辑函数:二、计数器型序列码发生器二、计数器型序列码发生器QD QC QB QA Z 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0QBQAQDQC00
48、01111000011110111100011101XXXXZ 若对应的方格内若对应的方格内 有有0也有也有1,则应为,则应为1格格对应的对应的输入输入变量的积之和变量的积之和(此积之和式中(此积之和式中只能含余下的变量只能含余下的变量)。)。 若对应于选择器卡诺图的方格内若对应于选择器卡诺图的方格内全为全为1,则此,则此Di= 1;反之,若方格内;反之,若方格内全为全为0,则,则Di = 0。与函数的卡诺图比较,可确定相应的数据输入与函数的卡诺图比较,可确定相应的数据输入Di。二、计数器型序列码发生器二、计数器型序列码发生器八选一选择器实现函数:地址逻辑变量八选一选择器实现函数:地址逻辑变量
49、A2A1A0DQBQAQDQC0001111000011110111100010100XXXXZA0DA2A10001111000011110D2D6D2D6D3D7D3D7D4D4D5D5D0D0D1D1QDQCQB A2A1A0 QA - D确定确定Di方法:对于函数卡诺图中方法:对于函数卡诺图中D0=D1=D3=D5=0D2=D6=1D4 = QAD7 = QA第三步:第三步:画电路图画电路图 二、计数器型序列码发生器二、计数器型序列码发生器D0=D1=D3=D5=0D2=D6=1D4 = QAD7 = QA11100001CO11CPQAQBQCQD00101CO74161RLDCTT
50、CTPCPQ0Q1Q2Q3D0D1D2D3COZZD7D6D5D4D3D2D1D0A2A1A0S0S74LS151A2A0D2D0A1D7D4D3D1D6D5FF三、反馈型最长线性序列码发生器三、反馈型最长线性序列码发生器 ( (m序列码发生器序列码发生器)2. 电路组成:电路组成:移位寄存器移位寄存器 + 异或反馈电路异或反馈电路1. 最长线性序列码长度:最长线性序列码长度: S=2n-13. 设计过程设计过程:(1) 根据根据S=2n-1,确定,确定n (2) 再查表再查表5.4.3可得反馈函数可得反馈函数 f(Q)(3) 画电路图画电路图(4) 加防全加防全0装置装置例例4:设计:设计S
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。