内部是同步计数工作,两片之间是串联工作,所以这是一个并串行加法计数器。
假若要得到减法计数器,则根据M= N10=176,即置数10110000。电路图请见参考文献[2]。
习题5.8 试用74290采用8421BCD码形式构成M=7计数器,并写出态序表。 解:用74290芯片采用8421BCD码,将QA接CPB,CPA接外部CP,并将QAQBQC
信号经与门反馈到清零端,电路如习题5.8图所示。态序表如习题5.8表所示。
&
CTR 习题5.8表 习题5.8图态序表 1 & 3CT=0 N QD QC QB QA
0 & Z3 0 0 0 0 0 0 1 0 0 0 1
2 0 0 1 0 A DIV2 QA CP CP + [1] 3 0 0 1 1 3D 3CT=1 4 0 1 0 0 QB DIV5 CPB 0 Q5 0 1 0 1 C + CT QD 6 0 1 1 0 2 3CT=4 7 0 1 1 1
习题5.8图
习题5.9 试分析习题5.9图所示计数器功能,并写出态序表。 & 习题5.9表 习题5.9图态序表 N QD QC QB QA 1 1J CTR C1 0 0 0 0 0 1 & 3CT=0 Q 1K 1 0 0 0 1 2 0 0 1 0 0 & Z3 0 3 0 0 1 1 4 0 1 0 0 DIV2 QA 5 0 1 0 1 CP + [1] 3D 6 0 1 1 0 3CT=1 1 QB 7 0 1 1 1 DIV5 0 QC + CT QD 2 3CT=4 习题5.9图
解:J=QCQB,K=QCQB,清零的一个输入端接在触发器的反相输出端Q。
若计数器从0000~0101状态计数,这时J=1,K=0,因而每来一个计数脉冲,触发器置1,而74290清零端接在触发器的Q=0,对计数工作无影响,计数器加1计数。当计数器状态变到QDQCQBQA=0110时,QB=QC=1,则J=0,K=1,下一个时钟脉冲到来后触发器被置0, Q=1,故74290的输出状态变为0000,实现了七进制计数器。态序表如习题5.9表所示。可见,这种计数器的模与反馈状态数的关系为M=N+1,即反馈状态N =M-1。例如,要构成九进制计数器,则N=9-1=8,故用QD反馈到触发器的J、K端。
习题5.10 试用74290构成M=48计数器,并用VHDL语言实现。
解:因为10<M=48<100,应选用2片74290串联工作。若设计数器按8421BCD码计数,则将Q0端和CPB端连接在一起。将计数脉冲送到第(1)片(低位片)的CPA端,第(1)片的Q3连到第(2)片(高位片)的CPA端。由于M=48,与它相应的计数器状态为Q7Q6Q5Q4(第2片)=0100,Q3Q2Q1Q0(第1片)=1000,把第(2)片的Q6和第(1)片的
11
Q3分别连到两个清零端,同时为使计数器计数工作,使置9端为低电平。电路连接如习题5.10图所示。
实现习题5.10的VHDL程序如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; ENTITY m48 IS
PORT(cp:IN std_logic;
q:OUT std_logic_vector(7 DOWNTO 0));
END m48;
ARCHITECTURE m48_arc OF m48 IS
CTR SIGNAL iq:integer:=0;
& 3CT=0 BEGIN
PROCESS(cp)
(1) 0 & BEGIN Z3 0 IF(cp'EVENT AND cp='0') THEN IF(iq=47) THEN
DIV2 CP iq<=0; CP A+ 3D [1]
3CT=1 ELSE
DIV5 0 CPB iq<=iq+1;
+ CT END IF; 2 3CT=4 END IF;
q<=conv_std_logic_vector(iq,8); END PROCESS; END m48_arc;
CTR & 3CT=0 0 0 Q0 & (2) Z3 Q1 Q2 Q3 DIV2 Q4 + 3D [1] 3CT=1 Q5 DIV5 0 Q6 + CT Q7 2 3CT=4 习题5.10图
习题5.11 设习题5.11图(a)和(b)中移位寄存器保存的原始信息为1111。试问
下一个时钟脉冲后,它保存什么样的信息?多少个时钟脉冲作用后,信息循环一周。
解:对电路习题5.11图(a)和(b),下一个时钟脉冲后保存的信息均为Q0Q1Q2Q3=0111。(a)图为扭循环计数器,8个时钟脉冲作用后信息循环一周。查主教材表5.4.3可知,(b)图是最长线性移位寄存器,15个时钟脉冲作用后信息循环一周。
习题5.12 在74194构成串行-并行转换器中,如果要实现8位转换,则增加1位触发器后,线路应作何变化?
解:8位串行—并行转换器电路连接图如习题5.12图所示。它是由四片74194和附加的触发器来实现,第(3)片和第(4)片是作为数据寄存器用的。当MA=MB=1时,电路执
Q0 Q1 Q2 Q3
FF0 FF1 FF2 FF3
1D 1D 1D 1D
C1 C1 C1 C1 CP (a)
Q0 Q1 Q2 Q3
=1 FF0 FF1 FF2 FF3 1D 1D 1D 1D C1 C1 C1 C1
CP
(b)
习题5.11图
12
行并行输入数据操作。电路工作原理与7位串行—并行转换电路相同。当第(2)片74194的Q3=1时,“与非”门关闭,第(3)片和第(4)片74194处于保持状态,第(1)片和第(2)片74194执行右移操作。
SRG4 SRG4 M M 1 A0 0 1 A0 0 M M— M M— (3) (4) 1 B1 3 1 B1 3
C4 C4 CP & 1→/2← 1→/2←
RD RD CT=0 CT=0 1,4D 1,4D Q0` Q4 3,4D 3,4D
Q1 Q5 3,4D 3,4D
Q2 Q6 3,4D 3,4D 3,4D 3,4D Q3 Q7 2,4D 2,4D
SRG4 SRG4 MA MA 1 0 0 1 0 0 M— M— (1) (2) 1 3 1 3 C4 C4 1
RD 串行输入 RD 1D C1 1R Q 0 1 1 1 1→/2← CT=0 RD 1→/2← CT=0 1,4D 3,4D 3,4D 3,4D 3,4D 2,4D 1 DSR 1,4D A 3,4D B 3,4D C 3,4D D 3,4D DSL 2,4D 1 1 1 1 习题5.12图
习题5.13 在74194构成并行-串行转换器中,如果要实现8位转换,则增加1位触发器后,线路应作何变化?
G1 &
CP
G2 & SRG4 MA 0 0 M— 1 启动 1 1 1D C1 Q (1) 3 C4 1→/2← CT=0 1 SRG4 M A 0 0 M—1 1 (2) 3 C4 1→/2← CT=0 1,4D 3,4D 3,4D 3,4D 3,4D 2,4D D0 D1 D2 D3 DSR 1,4D A 3,4D B 3,4D C 3,4D D 3,4D DSL 2,4D D4 D5 D6 D7 串行输出
习题5.13图
13
解:8位并行-串行转换器电路连接图如习题5.13图所示。其中D触发器的Q端产生的标志码加到74194第(1)片的右移串行输入端DSR和与非门G1的输入端。当启动负脉冲出现时,在第一个时钟脉冲CP作用下, D触发器的Q为0, 并且8位并行输入数据被74194接收, D触发器的Q为0,使与非门G2输出为0 (当启动负脉冲消失后)。当第二个时钟脉冲CP来到时, D触发器的Q变成1, 同时74194执行右移操作, 标志码被移至74194第(1)片的Q0端, 输入代码D7被移至串行输出端。直到第八个CP脉冲到来后, 标志码移入74194第(2)片的Q2端, 74194又执行并行输入数据操作。
习题5.14 习题5.14图中为由74195构成的分频器,试分析分频比N为多少? 解:习题5.14图(a):J=K=Q1,作态序表如习题5.14表(a)所示,由态序表看出是4分频器。图(b):J=K(第(1)片)=Q4Q5, J=K(第(2)片)=Q3,作态序表如习题5.14表(b)所示,由态序表看出是11分频器。 SRG4 SRG4 SRG4 CT=0 CT=0 1 CT=0 1 1 M1[SHIFT] M1[SHIFT] 1 M1[SHIFT]
M2[LOAD]M2[LOAD]M2[LOAD] CP CP C3/1→ C3/1→ C3/1→ CP
J J ÷? 1,3J 1,3J 1,3J K 1,3K K 1,3K 1,3K 2,3D 2,3D 2,3D & ÷? Q1 1 2,3D 2,3D 2,3D
Q3
(a) (b)
习题5.14图
习题5.14表(b) 序号 Q0 Q1 Q2 Q3 Q4 Q5 习题5.14表(a) 0 0 0 0 0 0 0 序号 Q0 Q1 1 1 0 0 0 0 0 0 0 0 2 1 1 0 0 0 0 1 1 0 3 1 1 1 0 0 0 2 1 1 4 1 1 1 1 0 0 3 0 1 5 1 1 1 1 1 0 6 1 1 1 1 1 1 7 0 1 1 1 1 1 8 0 0 1 1 1 1
9 0 0 0 1 1 1
10 0 0 0 0 1 1 11 0 0 0 0 0 1 习题5.15 试画出由74195电路构成的13分频(?13)、7分频(?7),并用VHDL语言实现上述功能。
解:用74195集成芯片构成奇数分频器,需在反馈与非门输入端接Qi和Qi+1,将与非门的输出端反馈到低位的74195的JK端, 则可构成M=2i+1的计数器。若与非门改为非门接Qi,则可构成M=2i的偶数分频器。÷13、÷7分频器如习题5.15图所示。
VHDL程序实现13分频电路如下。若将程序改为7分频,只将程序中的cnt =13改为cnt =7即可。
14
LIBRARY ieee; 习题5.15图 USE ieee.std_logic_1164.ALL; ENTITY f13 IS
PORT(cp:IN std_logic;
q:OUT std_logic);
END f13;
ARCHITECTURE f13_arc OF f13 IS BEGIN
PROCESS(cp)
VARIABLE cnt:integer RANGE 0 TO 16; BEGIN
IF(cp'EVENT AND cp='1') THEN cnt:=cnt+1; END IF;
IF cnt=13 THEN cnt:=0; q<='1'; ELSE q<='0'; END IF;
END PROCESS; END f13_arc;
1 CP
J K SRG4 CT=0 M1[SHIFT] M2[LOAD]C3/1→ 1,3J 1,3K 2,3D 2,3D 1 CP SRG4 CT=0 M1[SHIFT] M2[LOAD]C3/1→ 1,3J 1,3K 2,3D 2,3D & 1
J K ÷13输出
CP SRG4 CT=0 M1[SHIFT] M2[LOAD]C3/1→ 1,3J 1,3K 2,3D 2,3D ÷7输出
Q2 Q3 3 Q & (a)
(b)
习题5.16 根据m序列发生器的反馈函数,绘出一个由三个D触发器构成的m序列发生器,并写出态序表与输出的序列码(设电路的初始状态为Q0Q1Q2=001)。
解:查主教材表5.4.3得反馈函数f(Q)=Q1⊕Q2 ,电路连接图如习题5.16图所示,态序表如习题5.16表所示。Q2输出序列为:···1001011··· 。
=1 习题5.16表 习题5.16态序表 N Q0 Q1 Q2 FF0 FF1 FF2 0 0 0 1 1D 1D 1D 1 1 0 0 C1 C1 C1 2 0 1 0 3 1 0 1 CP 4 1 1 0 5 1 1 1 习题5.16图 6 0 1 1
习题5.17 用4位同步二进制计数器74161及16选1数据选择器联成一函数发生器,使产生1011000111010100序列信号,用VHDL程序实现产生序列信号电路。
15