Download presentation
Presentation is loading. Please wait.
Published byWidya Sudirman Modified 6年之前
1
第六章 时序逻辑电路 §6.1 概述 §6.2 寄储器 §6.3 计数器的分析 §6.4 计数器的设计 §6.5 计数器的应用举例
第六章 时序逻辑电路 §6.1 概述 §6.2 寄储器 §6.3 计数器的分析 §6.4 计数器的设计 §6.5 计数器的应用举例 §6.6 顺序脉冲发生电路
2
§6.1 概述 寄存器和移位寄存器 分析 时 序 计数器 逻辑电路 设计 顺序脉冲发生器 教学要求 : 1. 会使用移位寄存器组件 ;
§6.1 概述 寄存器和移位寄存器 时 序 逻辑电路 分析 计数器 设计 顺序脉冲发生器 教学要求 : 1. 会使用移位寄存器组件 ; 2. 会分析和设计计数器电路 ; 3. 会分析顺序脉冲发生器的原理。
3
寄存器是计算机的主要部件之一,它用来暂时存放数据或指令。
§6. 2 寄存器 寄存器是计算机的主要部件之一,它用来暂时存放数据或指令。 数码寄存器 Q3 Q2 Q1 Q0 & Q D A0 A1 A2 A3 CLR 取数脉冲 接收脉冲 ( CP ) & Q3 Q2 Q1 Q0 取数脉冲 Q D 接收脉冲 A0 A1 A2 A3 CLR 四位数码寄存器
4
正边沿 触发 1 2 3 4 5 6 7 10 9 8 14 13 12 11 15 16 17 18 19 20 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND 输出控制 时钟 VCC 5D 6D 7D 8D 5Q 6Q 7Q 8Q 7 4 L S 八D寄存器 :三态输出 低电平 有效 共输出控制 共时钟
5
6. 2. 2 移位寄存器 所谓“移位”, 就是将寄存器所存各位 数据, 在每个移位脉冲的作用下, 向左或向右移动一位。
移位寄存器 所谓“移位”, 就是将寄存器所存各位 数据, 在每个移位脉冲的作用下, 向左或向右移动一位。 根据移位方向,常把它分成 左移寄存器、 和 双向移位寄存器三种: 右移寄存器 寄存器 左移 (a) 寄存器 右移 (b) 寄存器 双向 移位 (c)
6
根据移位数据的输入-输出方式,又可将它分为下述四种电路结构:
串行输入-串行输出 串行输入-并行输出 并行输入-串行输出 并行输入-并行输出
7
FF 输入 输出 串入-串出 一个输入端,一个输出端 输出 FF 输入 串入-并出 一个输入端,多个输出端
8
输出 FF FF FF FF 输 入 并入-串出 多个输入端,一个输出端 输 出 FF 输 入 并入-并出 多个输入端,多个输出端
9
1. 四位串入 - 串出的左移寄存器 D3 = Q2 D2 = Q1 D1 = Q0 D0 = 0 A0 A1 A2 A3 SD RD
& A0 A1 A2 A3 SD RD CLR LOAD 移位脉冲 CP 串行输出 数 据 预 置 3 2 1 存数脉冲 清零脉冲 & SD A0 A1 A2 A3 LOAD 数 据 预 置 存数脉冲 D3 = Q2 左移输入 串行输出 D2 = Q1 移位脉冲 CP D1 = Q0 RD CLR 清零脉冲 D0 = 0
10
1 D3 = Q2 1 0 1 1 D2 = Q1 D1 = Q0 D0 = 0 数据预置 : 设A3A2A1A0 = 1011 ,
& A0 A1 A2 A3 SD RD CLR LOAD 移位脉冲 CP 串行输出 数 据 预 置 3 2 1 存数脉冲 清零脉冲 四位串入 - 串出的左移寄存器 D0 = 0 D1 = Q0 D2 = Q1 D3 = Q2 1 数据预置 : 设A3A2A1A0 = 1011 , 在存数脉冲作用下,也有 Q3Q2Q1Q0 = 1011 。
11
下面将重点讨论 兰颜色的 那部分电路的工作原理。
Q D & A0 A1 A2 A3 SD RD CLR LOAD 移位脉冲 CP 串行输出 数 据 预 置 3 2 1 存数脉冲 清零脉冲 四位串入 - 串出的左移寄存器 D0 = 0 D1 = Q0 D2 = Q1 D3 = Q2 Q D 移位脉冲 CP 串行输出 3 2 1 下面将重点讨论 兰颜色的 那部分电路的工作原理。
12
Q D 移位脉冲 CP 串行输出 3 2 1 D3 = Q2 D2 = Q1 D1 = Q0 D0 = 0 设初态 Q3Q2Q1Q0 = 1011 Q3Q2Q1Q0 D3D2D1D0
13
初态: Q3Q2Q1Q0 = 1 0 1 1 用波形图表示如下: Q3Q2Q1Q0 D3D2D1D0 1 0 1 1 0 1 1 0
Q3Q2Q1Q0 D3D2D1D0 Q D 移位脉冲 CP 串行输出 3 2 1 初态: Q3Q2Q1Q0 = 用波形图表示如下: CP Q3 Q2 Q1 Q0 1 1 1 1
14
四位串入 - 串出的左移寄存器: 2. 四位串入 - 串出的右移寄存器: D0 = Q1 D1 = Q2 D2 = Q3 D3 = 0
移位脉冲 CP 串行输出 3 2 1 四位串入 - 串出的左移寄存器: D0 = 0 D1 = Q0 D2 = Q1 D3 = Q2 串行输入 2. 四位串入 - 串出的右移寄存器: D0 = Q1 Q D Q3 移位脉冲 CP 串行输出 Q1 Q2 Q0 串行输出 D1 = Q2 右移输入 D2 = Q3 D3 = 0
15
在同一电路中,如何实现既能左移,又能右移 ?
Q D 移位脉冲 CP 串行输出 3 2 1 四位串入 - 串出的左移寄存器: D0 = 0 D1 = Q0 D2 = Q1 D3 = Q2 Q3 Q1 Q2 Q0 四位串入 - 串出的右移寄存器: D1 = Q2 D2 = Q3 D3 = 0 D0 = Q1 串行输入 在同一电路中,如何实现既能左移,又能右移 ? 当然不能临时改接线 !
16
S=0 时,左移 ; S=1 时,右移 。 3. 双向移位寄存器的构成 : 设置控制端 S 那么, 就需使: D0 = SL + SQ1
D1 = SQ0 + SQ2 D2 = SQ1 + SQ3 D3 = SQ2 + SR 需要把这个设想检查验证一下。
17
四位串入 - 串出的左移寄存器: 四位串入 - 串出的右移寄存器: S=1 时, 确实能够实现右移 ! D0 = SL + SQ1
D0 = L D1 = Q0 D2 = Q1 D3 = Q2 四位串入 - 串出的右移寄存器: D1 = Q2 D2 = Q3 D3 = R D0 = Q1 S=1 时, 确实能够实现右移 ! D0 = SL + SQ1 D2 = SQ1 + SQ3 D3 = SQ2 + SR D1 = SQ0 + SQ2 = 0·L + 1·Q1 = Q1 = 0·Q0 + 1·Q2 = Q2 = 0·Q1 + 1·Q3 = Q3 = 0·Q2 + 1·R = R
18
四位串入 - 串出的左移寄存器: 四位串入 - 串出的右移寄存器: S=0 时, 也能够实现左移 , 方案可行 !
D0 = L D1 = Q0 D2 = Q1 D3 = Q2 四位串入 - 串出的右移寄存器: D1 = Q2 D2 = Q3 D3 = R D0 = Q1 S=0 时, 也能够实现左移 , 方案可行 ! D0 = SL + SQ1 D2 = SQ1 + SQ3 D3 = SQ2 + SR D1 = SQ0 + SQ2 = 1·L + 0·Q1 = L = 1·Q0 + 0·Q2 = Q0 = 1·Q1 + 0·Q3 = Q1 = 1·Q2 + 0·R = Q2
19
D0 = SL + SQ1 D1 = SQ0 + SQ2 具体实施 : D2 = SQ1 + SQ3 D3 = SQ2 + SR L S R
CP 3 2 1 & S R L
20
集成组件 电路74LS194就是这样的多功能移位寄存器。
VCC QA QB QC QD S1 S0 CP 16 15 14 13 12 11 10 9 1 3 4 5 6 7 8 2 CLR L D C B A R GND 74LS194 右移串行输入 左移串行输入 并行输入
21
74LS194 VCC QA QB QC QD S1 S0 CP CLR L D C B A R GND CLR CP S1 S0 功 能
16 15 14 13 12 11 10 9 1 3 4 5 6 7 8 2 CLR L D C B A R GND 74LS194 CLR CP S1 S0 功 能 X X X 直接清零 1 0 0 保 持 1 0 1 右移(从QA向右移动) 1 1 0 左移(从QD向左移动) 1 1 1 并入 - 并出
22
(1). 因为有7位并行输入,故需使用两片74LS194;
例:数据传送方式变换电路 D6 D5 D4 D3 D2 D1 D0 并行输入 串行输出 数据传送方式 变换电路 ( QD2 ) 1.实现方法: (1). 因为有7位并行输入,故需使用两片74LS194; (2). 用最高位QD2作为它的串行输出端。
23
2.具体电路: S1 = QA1 QB1 QC1 QD1 QA2 QB2 1 1 1 启动脉冲的效果必然是并行输入-并行输出 ! & G1
CP1 QA1 QB1 QC1 QD1 CP2 QA2 QB2 QC2 QD2 R1 R2 A1 B1 C1 D1 A2 B2 C2 D2 +5V CP 启动脉冲 移位脉冲 G2 74LS194 (1) 74LS194 (2) 1 串行输出 1 D0 D1 D2 D3 D4 D5 D6 1 并 行 输 入 D0 D1 D2 D3 D4 D5 D6 启动脉冲的效果必然是并行输入-并行输出 !
24
1 2.具体电路: S1 = QA1 QB1 QC1 QD1 QA2 QB2 1 1 1 启动脉冲作用后,
D0 D1 D2 D3 D4 D5 D6 串行输出 & G1 S0 S1 CP1 QA1 QB1 QC1 QD1 CP2 QA2 QB2 QC2 QD2 R1 R2 A1 B1 C1 A2 B2 C2 +5V CP 启动脉冲 移位脉冲 G2 74LS194 (1) 74LS194 (2) 并 行 输 入 1 S1 = QA1 QB1 QC1 QD1 QA2 QB2 1 1 1 启动脉冲作用后, 74LS194必然转入右移状态 !
25
3.工作效果: 提醒:在电路中,“右移输入”端接 +5V CP S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2
寄存器各输出端状态 QA1QB1QC1QD1QA2QB2QC2 QD2 寄存器工作方式 0 D0 D1 D2 D3 D4 D5 D6 D0 D1 D2 D3 D4 D5 D0 D1 D2 D3 D4 D0 D1 D2 D3 D0 D1 D2 D0 D1 D0 CP 并行输入 ( S1S0=11) 右移 ( S1S0=01) QD2 D6 D5 D4 D3 D2 D1 D0 S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2
26
4. 思考题 :(1) . S1 = QA1 QB1 QC1 QD1 QA2 QB2 1 启动脉冲作用后,
D0 D1 D2 D3 D4 D5 D6 串行输出 & G1 S0 S1 CP1 QA1 QB1 QC1 QD1 CP2 QA2 QB2 QC2 QD2 R1 R2 A1 B1 C1 A2 B2 C2 +5V CP 启动脉冲 移位脉冲 G2 74LS194 (1) 74LS194 (2) 并 行 输 入 1 S1 = QA1 QB1 QC1 QD1 QA2 QB2 启动脉冲作用后, 74LS194必然转入右移状态 ! 4. 思考题 :(1) . 为什么?
27
4. 思考题 :(1) . S1 = QA1 QB1 QC1 QD1 QA2 QB2 1 就是因为 A1 = 0
D0 D1 D2 D3 D4 D5 D6 串行输出 & G1 S0 S1 CP1 QA1 QB1 QC1 QD1 CP2 QA2 QB2 QC2 QD2 R1 R2 A1 B1 C1 A2 B2 C2 +5V CP 启动脉冲 移位脉冲 G2 74LS194 (1) 74LS194 (2) 并 行 输 入 1 S1 = QA1 QB1 QC1 QD1 QA2 QB2 74LS194必然转入右移状态 ! 为什么? 4. 思考题 :(1) . 就是因为 A1 = 0
28
4. 思考题 : CP S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2 该电路能够自动循环吗 ? 为什么?
寄存器各输出端状态 QA1QB1QC1QD1QA2QB2QC2 QD2 寄存器工作方式 0 D0 D1 D2 D3 D4 D5 D6 D0 D1 D2 D3 D4 D5 D0 D1 D2 D3 D4 D0 D1 D2 D3 D0 D1 D2 D0 D1 D0 CP 并行输入 ( S1S0=11) 右移 ( S1S0=01) S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2 QD2 D6 D5 D4 D3 D2 D1 D0 4. 思考题 : (2) . 该电路能够自动循环吗 ? 为什么?
29
4. 思考题 : CP S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2 = 1 能够自动循环 !
寄存器各输出端状态 QA1QB1QC1QD1QA2QB2QC2 QD2 寄存器工作方式 0 D0 D1 D2 D3 D4 D5 D6 D0 D1 D2 D3 D4 D5 D0 D1 D2 D3 D4 D0 D1 D2 D3 D0 D1 D2 D0 D1 D0 CP 并行输入 ( S1S0=11) 右移 ( S1S0=01) S0 = 1 , S1 = QA1 QB1 QC1 QD1 QA2 QB2 QD2 D6 D5 D4 D3 D2 D1 D0 4. 思考题 : (2) . = 1·1·1·1·1·1 = 1 能够自动循环 !
30
集成移位寄存器简介 并行输入-并行输出 ( 双向 ) 74LS194、74LS198、74LS299,等。 并行输入-串行输出 74LS165、74LS166,等。 串行输入-并行输出 74LS164,等。 串行输入-串行输出 74LS91,等。
31
计数器是时序逻 辑电路的重要组成部分 ,理所当然地成为教学重点 。
§6.3 计数器的分析 计数器是时序逻 辑电路的重要组成部分 ,理所当然地成为教学重点 。 电路由触发器构成 计数器的分析 电路由集成组件构成 计数器 用触发器实现 计数器的设计 用集成组件实现
32
§6. 3 计数器的分析 计数器的功能和分类 异步计数器的分析 同步计数器的分析 任意进制计数器的分析 集成计数器的分析举例
33
§6. 3 计数器的分析 计数器的功能和分类 1. 计数器的功能 记忆输入脉冲的个数;用于定时、分频、产生节拍脉冲及进行数字运算等等。 2. 计数器的分类 异步计数器和同步计数器 加法计数器、减法计数器和可逆计数器 有时也用计数器的计数容量(或称模数)来区分各种不同的计数器,如二进制计数器、十进制计数器、二-十进制计数器等等。
34
每个触发器接收到时钟CP的时间有早有晚 ; 从形式上看, 因而,每个触发器状态的变化次序也有先有后。
异步计数器和同步计数器 什么叫“异步计数器” ? Q FF CP 每个触发器接收到时钟CP的时间有早有晚 ; 从形式上看, 因而,每个触发器状态的变化次序也有先有后。 上图所示电路只是异步计数器若干组成的一种,只是比较典型而已。
35
每个触发器的状态变化几乎都是同时发生的。
异步计数器和同步计数器 什么叫“同步计数器” ? Q FF CP 在同步计数器中, 时钟CP必须同时传送到每个触发器 ! 这,既是它的条件,也是它的特点。 在同步计数器中, 每个触发器的状态变化几乎都是同时发生的。
36
6. 3. 2 异步计数器的分析 例 1. 三位二进制异步加法计数器 CP CP0 = CP CP1 = Q0 CP2 = Q1 计数脉冲
异步计数器的分析 例 1. 三位二进制异步加法计数器 Q0 D0 Q1 D1 Q2 D2 CP 计数脉冲 CP0 CP1 CP2 CP0 = CP CP1 = Q0 CP2 = Q1
37
Q2 Q1 Q0 Q1 Q0 CP 0 0 0 1 1 0 1 1 0 1 0 0 1 CP0 = CP CP1 = Q0 CP2 = Q1
D0 Q1 D1 Q2 D2 CP 计数脉冲 CP0 CP1 CP2 CP0 = CP CP1 = Q0 CP2 = Q1 1 1 优点:电路简单、可靠 缺点:速度慢
38
1. 试画出用 D-FF 实现的三位二进制异步减法计数器的电路图,并分析其工作过程。
Q0 D0 Q1 D1 Q2 D2 CP 计数脉冲 CP0 CP1 CP2 三位二进制加法计数器 思考题: 1. 试画出用 D-FF 实现的三位二进制异步减法计数器的电路图,并分析其工作过程。
39
2. 你能画出用JK-FF 实现的三位二进制异步减法计数器的电路图吗 ?
Q0 D0 Q1 D1 Q2 D2 CP 计数脉冲 CP0 CP1 CP2 三位二进制加法计数器 思考题: 2. 你能画出用JK-FF 实现的三位二进制异步减法计数器的电路图吗 ?
40
在同步计数器中,各个触发器都受同一时钟脉冲 输入计数脉冲的控制,因此,它们状态的更新几乎是同时的,故被称为 “ 同步计数器 ”。
同步计数器的分析 在同步计数器中,各个触发器都受同一时钟脉冲 输入计数脉冲的控制,因此,它们状态的更新几乎是同时的,故被称为 “ 同步计数器 ”。 例2. 三位二进制同步加法计数器 Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 & 计数脉冲 CP CP 三位二进制同步加法计数器
41
在同步计数器中,学习的难点在于必须正确理解“控制端J、K的取值组合由时钟CP下降沿到来前的Q端原有状态所决定”。
同步计数器的分析 例2. 三位二进制同步加法计数器 三位二进制同步加法计数器 Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 & 计数脉冲 CP 在同步计数器中,学习的难点在于必须正确理解“控制端J、K的取值组合由时钟CP下降沿到来前的Q端原有状态所决定”。
42
三位二进制同步加法计数器 分析步骤: 1. 先列写控制端的逻辑表达式 J2 = K2 = Q1 Q0 J1 = K1 = Q0
& 计数脉冲 CP & 分析步骤: 1. 先列写控制端的逻辑表达式 J2 = K2 = Q1 Q0 J1 = K1 = Q0 J0 = K0 = 1 Q0: 来一个CP,它就翻转一次; Q1:当Q0=1时,它可翻转一次; Q2:只有当Q1Q0=11时,它才能翻转一次。
43
, 2. 再列写状态转换表,分析其状态转换过程。 原状态 控 制 端 下 状 态 CP Q2 Q1 J2 = J1 = J0 = K2 =
2. 再列写状态转换表,分析其状态转换过程。 Q1Q0 Q0 原状态 控 制 端 下 状 态 CP Q2 Q1 J2 = J1 = J0 = K2 = K1 = K0 = 1 , 1 2 3 4 5 6 7
44
3. 用波形图显示状态转换表 CP Q2 Q1 Q0
45
思考题: 1. 模仿上图电路,试画出四位二进 制同步加法计数器的逻辑图。 2. 来一个脑筋急转弯,你能设计出 三位二进制同步减法计数器吗 ?
Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 & 计数脉冲 CP J2 = K2 = Q1 Q0 J1 = K1 = Q0 J0 = K0 = 1 三位二进制同步加法计数器 思考题: 1. 模仿上图电路,试画出四位二进 制同步加法计数器的逻辑图。 2. 来一个脑筋急转弯,你能设计出 三位二进制同步减法计数器吗 ?
46
6. 3. 4 任意进制计数器的分析 可见 ,Q2 与 Q0 的翻转时刻相同。 1. 写出控制端的逻辑表达式
任意进制计数器的分析 可见 ,Q2 与 Q0 的翻转时刻相同。 Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 计数脉冲 CP CP1 1. 写出控制端的逻辑表达式 J2 = Q1 Q , K2 = 1 Q1 则在Q0下跳变时翻转。 J1 = K1 = 1 J0 = Q , K0 = 1
47
要密切关注 Q0端何时产生下降沿 ! 2. 再列写状态转换表,分析其状态转换过程 , 计数脉冲 CP
J2 K2 Q1 J1 K1 Q0 J0 K0 计数脉冲 CP 要密切关注 Q0端何时产生下降沿 ! 2. 再列写状态转换表,分析其状态转换过程 CP Q2 Q1 Q0 J2 = K2 = J1 = K1 = J0 = K0 = Q2 Q1 Q0 Q1Q0 1 原状态 控 制 端 下状态 , Q2 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1
48
前图所示电路的计数周期为5个CP,故它是一个异步五进制加法计数器。
CP Q2 Q1 Q0 J2 = K2 = J1 = K1 = J0 = K0 = Q2 Q1 Q0 Q1Q0 1 原状态 控 制 端 下状态 , Q2 2 3 4 5 前图所示电路的计数周期为5个CP,故它是一个异步五进制加法计数器。 3. 还可以用波形图显示其状态转换表 ( 此处略去不画 ) 。
49
Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 计数脉冲 CP 4. 检验其能否自动启动 ? 什么叫 “自动启动” ? 三个触发器本应有八个稳定状态 ,可上图电路只选用了五个,是为五进制。如果出现了其余的三个状态当中的任一个状态,若能够自动返回到计数链 ( 即已选用的那五个状态 ) 的,人们就称其为能自动启动。
50
只要把 Q2Q1Q0的这三个状态值代入前述控制端的逻辑表达式加以运算,
J2 K2 Q1 J1 K1 Q0 J0 K0 计数脉冲 CP 4. 检验其能否自动启动 ? 如何检验它能否 “自动启动” ? 上图所示计数器的Q2Q1Q0 状态变化仅含 : 000、001、010、011、100 , 尚有 101、110 和 111 不在其中, 只要把 Q2Q1Q0的这三个状态值代入前述控制端的逻辑表达式加以运算, 便可知其结论了。
51
结论: 经检验,可以自动启动。 有三个不会出现的状态: 101 110 111 , 计数脉冲 CP 原状态 控 制 端 下状态
Q2 J2 K2 Q1 J1 K1 Q0 J0 K0 计数脉冲 CP 101 110 111 CP Q2 Q1 Q0 J2 = K2 = J1 = K1 = J0 = K0 = Q2 Q1 Q0 Q1Q0 1 原状态 控 制 端 下状态 , Q2 结论: 经检验,可以自动启动。
52
0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 异步五进制加法计数器的状态图 1 0 1 Q2 Q1 Q0 1 1 1 1 1 0
53
“用触发器构成计数器电路的分析” 首先写出触发器的 控制端的逻辑表达式 再列写计数器的状态转换表 获得计数器的模(即进制数) 最后需检验计数器的可靠性
54
集成计数器的分析举例 << TTL集成电路设计和应用手册 >>可以提供若干种不同功能的计数器类型和型号: 下降沿触发异步计数器( 串行时钟 ) * 十进制 * 四位二进制 * 十二进制 上升沿触发同步计数器 * 十进制 * 十进制 加 / 减 * 四位二进制 * 四位二进制 加 / 减 等等,不再一一列举
55
例: 集成计数器74LS90的分析 二 - 五 - 十进制计数器 74LS90 的介绍 74LS90 内部含有两个独立的计数电路: 一个是模 2 计数器 ( CPA为其时钟,QA为其输出端 ), 另一个是模 5 计数器 ( CPB为其时钟,QDQCQB为其输出端 )。 QD QC QB CPA QA CPB QD QC QB QA 1
56
QC QA J K QB QD CPA CPB R 0(1) R 0(2) R 9(2) R 9(1) 74LS 90原理电路图
57
74LS90 74LS 90管脚分布图 CPA CPB R 0(1) R 0(2) R 9(2) R 9(1) NC VCC QA QD
QB QC GND 1 2 3 4 5 6 7 14 13 12 11 10 9 8 74LS90 74LS 90管脚分布图
58
外部时钟 CP是先送到CPA 还是先送到 CPB ,在QDQCQBQA 这四个输出端会形成不同的码制关系 !
59
分析:计数时钟先进入CPA时的计数编码。
QD QC QB CPB QA 十进 制数 CPA CP CPB QB QD QC QA 2 5 1 1 2 3 4 5 6 7 8 9 QA 0 1 QD QC QB 上述连接方式形成QDQCQBQA的 8421 BCD 码
60
再分析:计数时钟先进入 CPB 时的计数编码。
QA CPA QD QC QB 十进制数 CPA CP QA 2 CPB QB QD QC 5 1 2 3 4 5 6 7 8 9 QA 0 1 1 QD QC QB 1 前述连接方式形成 QAQDQCQB 的 5421 BCD 码
61
计数状态 74LS 90功能表 74LS90 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1)
R 0(1) R 0(2) R 9(1) R 9(2) QD QC QB QA X X X X X X X X X X X X 计数状态 74LS 90功能表
62
R 0(1) R 0(2) R 9(1) R 9(2) QD QC QB QA
X X X X X X X X X X X X 计数状态 74LS 90功能表 归纳: 1. 74LS 90在“计数状态”或“清零状态”时,均要求 R 9(1) 和 R 9(2) 中至少有一个必须为“0”。 异步清零 清零功能不受时钟的控制 ! 2. 只有在 R 0(1) 和 R 0(2) 同时为 “1”时,它才进入“清零状态”;否则 它必定处于“计数状态”。
63
我们只是为正确使用集成计数器74LS90 做好前期准备,
至于它的具体应用举例,留在本章第四节“计数器的设计”中去解决。
64
§6. 4 计数器的设计 计数器的设计方法很多,大抵可分为两类:一是根据要求用触发器 ( Flop-Flip ) 构成,再就是利用具有特定功能的中规模集成组件适当连接而成。 下面将分别介绍两类设计方法。
65
利用触发器设计某计数电路 举例说明其设计步骤: 例1:数字控制装置中常用的步进电动机有 A、B、C 三个绕组。 电动机运行时要求三个绕组以 A AB B BC C CA 再回到 A 的顺序循环通电, 试实现之。 设计步骤如下: (1). 根据任务要求,确定计数器的模数和所需的触发器个数。 这个任务需要六个稳定状态 , 因此,确定计数器的模数为 6 ; 故而 所需触发器的个数应当为 3 。
66
(2). 确定触发器的类型。 最常用的触发器有 D 触发器和 JK触发器,在本任务中选用 JK触发器。 (3). 列写状态转换表或转换图 用三个触发器的输出端 QA、QB、QC 分别控制电动机的三个绕组 A、B、C,并以“1”表示通电,“0”表示不通电。 A BA B 001 011 010 110 100 101 以QCQBQA 为序排列: CA C CB
67
(4). 根据所选触发器的驱动表,确定各个触发器在状态转换时对控制端的电平要求。
(4). 根据所选触发器的驱动表,确定各个触发器在状态转换时对控制端的电平要求。 首先,需要根据 JK 触发器的功能表,找到其驱动表 。 J K Q N Q N+1 JK触发器的功能表 Q N Q N J K JK触发器的驱动表 X 1 1 1 X 1 1 X 1 1 1 1 X 1 1 1 1 1 1 牢记在心 ! 1 1
68
然后,再根据它的驱动表,确定各个触发器在状态转换时对控制端的电平要求。
步进电动机绕组通电激励表 QC QB QA QC QB QA JC KC JB KB JA KA 原 状 态 下 状 态 对各控制端的电平要求 , X X X 0 X X X 1 X X X X X X X X X X X X 0
69
(5). 写出各个控制端的逻辑表达式 (6). 画出计数器的逻辑电路图。 JC = QA KC = QA JB = QC KB = QC
(5). 写出各个控制端的逻辑表达式 QC QBQA 1 X JC JC = QA KC = QA JB = QC KB = QC JA = QB KA = QB (6). 画出计数器的逻辑电路图。 QC JC KC QB JB KB JA QA KA RD SD 预置数 计数脉冲CP
70
另一种解决办法是通过修改设计过程,改变反馈逻辑结构,使电路能自起动(此处略)。
最后,要对未利用的状态(约束项)进行校验,以确定设计的电路能否自起动。 QCQBQA有两个不会出现的状态: 校验 电路不能自起动 当电路不能自起动时,要采取措施加以解决。最简单的解决办法是:在电路开始工作时通过预置数将它置为有效循环中的某一状态。例本例中置为: QCQBQA=001。 另一种解决办法是通过修改设计过程,改变反馈逻辑结构,使电路能自起动(此处略)。
71
例2:某生产工艺流程分九个阶段,如下图所示。假设各阶段的进入都受时钟脉冲的控制,试设计工艺流程的控制电路 ( 图中画红线处表示各项工艺工作的阶段 ) 。
A 加热 B 加压 C 喷氧 D 吹粉 工 艺
72
根据工艺流程的要求,拟采用四个触发器,且用它们构成九进制计数器。
A 加热 B 加压 C 喷氧 D 吹粉 工 艺 根据工艺流程的要求,拟采用四个触发器,且用它们构成九进制计数器。 采用 D功能触发器( 用边沿触发方式 )
73
A 加热 B 加压 C 喷氧 D 吹粉 工 艺 QA QB QC QD 1 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1
工 艺 QA QB QC QD
74
D触发器 功能: Q n+1 = D QA QB QC QD 1 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0
DA DB DC DD D触发器 功能: Q n+1 = D QAQBQCQD有七个不会出现的状态: 0000、0001、0010、0011、0101、0111、1011。 当约束项 处理
75
用同样的方法,可以获得 DB、DC、DD的逻辑表达式,
QA QB QC QD DA DB DC DD 0000、0001、0010、0011、0101、0111、1011。 QAQBQCQD有七个约束项: QA QB QC QD 00 01 11 10 DA: X X X X X X X 1 用同样的方法,可以获得 DB、DC、DD的逻辑表达式, 具体过程在此不再列写。
76
QA QB QC QD DA DB DC DD 得到控制端的逻辑表达式: 1 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0
DA DB DC DD 0000、0001、0010、0011、0101、0111、1011。 QAQBQCQD有七个约束项: 得到控制端的逻辑表达式: DA = QA + QB + QC DB = QD + QAQC + QAQC DC = QAQC + QBQD + QAQBQD DD = QBQC + QBQD + QCQD
77
检验自启动结果如下(略去过程): 结论:该电路可以自动启动。 0101 1000 1100 0110 1110 0100 1101 1111
QA QB QC QD 1000 1100 0110 1110 0100 1101 1111 1001 1010 0011 0111 1011 0010 0001 0000 结论:该电路可以自动启动。
78
(1). 根据任务要求,确定计数器的模数和所需的触发器个数。
“使用触发器完成设计任务的步骤”小结 (1). 根据任务要求,确定计数器的模数和所需的触发器个数。 (2). 确定触发器的类型。 (3). 列写状态转换表或转换图。 (4). 根据所选触发器的驱动表,确定各个触发器在状态转换时对控制端的电平要求。 首先,需要根据所选触发器的功能表,找到其驱动表 。然后,再根据它的驱动表,确定各个触发器在状态转换时对控制端的电平要求。 (5). 写出各个控制端的逻辑表达式。 (6). 检验该电路能否自启动,画逻辑图。
79
再列举该集成计数器的应用例题及强调注意事项
利用集成组件设计计数电路 说明一下讲解这个问题时的思路 : 先介绍所援用的集成计数器的原理和功能 集成 计数器 再列举该集成计数器的应用例题及强调注意事项 由于时间关系,不能全面逐一讲解。 只讲解 : 74LS90 十进制, 异步计数, 直接 (异步) 清除 ( 零) ; 74LS163 四位二进制, 同步计数, 同步清除 ( 零 ) 。
80
1. 利用 74LS90 设计计数器电路 有关74LS90的功能表和管脚分布图在上一节已经作了详细的介绍。 为便于后面的学习, 仍然将有关内容快速复习一下: CPA QA CPB QD QC QB 1 QD QC QB
81
QC QA J K QB QD CPA CPB R 0(1) R 0(2) R 9(2) R 9(1) 74LS 90原理电路图
82
外部时钟 CP是先送到CPA 还是先送到 CPB ,在QDQCQBQA 这四个输出端会形成不同的码制关系 !
83
CPA CP CPB QB QD QC QA 2 5 QD QC QB 0 1 QD QC QB CPB QA 十进 制数 1 3 4 6 7 8 9 结论:上述连接方式形成 8421BCD 码。
84
CPA CP CPB QB QD QC QA 2 5 QDQCQBQA .
85
结论:前述连接方式形成 5421 BCD 码。 QA CPA QD QC QB 0 0 0 0 0 1 0 1 0 0 1 1 3
十进制数 CPA CP QA 2 CPB QB QD QC 5 QD QC QB 0 1 1 3 4 6 7 8 9 结论:前述连接方式形成 5421 BCD 码。
86
CPA CP QA 2 CPB QB QD QC 5 QAQDQCQB 1 3 4 6 7 8 9
87
74LS90 74LS 90管脚分布图 CPA CPB R 0(1) R 0(2) R 9(2) R 9(1) NC VCC QA QD
QB QC GND 1 2 3 4 5 6 7 14 13 12 11 10 9 8 74LS90 74LS 90管脚分布图
88
计数状态 74LS 90功能表 74LS90 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1)
R 0(1) R 0(2) R 9(1) R 9(2) QD QC QB QA X X X X X X X X X X X X 计数状态 74LS 90功能表
89
R 0(1) R 0(2) R 9(1) R 9(2) QD QC QB QA
X X X X X X X X X X X X 计数状态 74LS 90功能表 归纳: 1. 74LS 90在“计数状态”或“清零状态”时,均要求 R 9(1) 和 R 9(2) 中至少有一个必须为“0”。 2. 只有在 R 0(1) 和 R 0(2) 同时为 “1”时,它才进入“清零状态”;否则 它必定处于“计数状态”。 清零功能不受时钟的控制 ! 异步清零
90
例1. 构成8421BCD码六进制计数器。 74LS90的应用举例 CP 暂态 0 1 1 0 0 0 0 0 令 即可 六个稳态
QD QC QB QA CP CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 六个稳态 暂态 R 0(1) = QB R 0(2) = QC 令 即可
91
讨论: 下述接法行不行 ? 错在何处 ? 令 即可 0 1 1 0 警示:切切不可将输出端相互短路 !! 74LS90
QD QC QB QA R 0(1) = QB R 0(2) = QC 令 即可 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP 警示:切切不可将输出端相互短路 !!
92
为什么不能将输出端相互短路 ? +5V F T1 c1 +5V F 输出电路 R4 R2 R1 3k T2 R5 R3 T3 T4 T5
b1 c1 A B C +5V F R4 T4 T5 输出电路
93
+5V 两只晶体管轮流导通: T4 导通而T5 截止时, F = 1; F T5 导通而T4 截止时, F = 0。 输出电路 R4 T4
94
犹如交通灯,绿色表示导通;红色表示截止。
+5V F R4 T4 T5 +5V F R4 T4 T5 T4 导通 T4 截止 = 1 = 0 T5 截止 T5 导通 犹如交通灯,绿色表示导通;红色表示截止。
95
+5V F1 = 1 R4 T4 T5 +5V R4 T4 T5 F2 = 0 100 若将输出端短路,极易烧坏集成组件,使不得 !
96
若欲将R 0(1)和R 0(2)连接在一起,那就只有这样做才是正确的。 令
QD QC QB QA CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP & 若欲将R 0(1)和R 0(2)连接在一起,那就只有这样做才是正确的。 R 0(1) = QB R 0(2) = QC 令 即可
97
从右面的状态转换表 中可以看到:个位片的 QD可以给十位片提供计数脉冲信号。
例2. 用两片74LS 90构成 36 进制8421BCD码计数器, QD QC QB QA 十进 制数 一片安排作个位,另一片作十位 。 分析:(1). 如何解决片间进位问题 ? 从右面的状态转换表 中可以看到:个位片的 QD可以给十位片提供计数脉冲信号。
98
如何实现 36 进制 ? 用两片74LS 90构成 36 进制8421BCD码计数器 74LS 90(十位) 74LS 90(个位) CP
CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS 90(十位) 74LS 90(个位) 如何实现 36 进制 ? 用两片74LS 90构成 36 进制8421BCD码计数器
99
分析:(2). 如何满足“ 36 进制 ”的要求? 十 位 个 位 . . . 共有36个 稳定状态 问题的关键在于当计数器处于 36 ( )时,必须将个位片和十位片同时清零。非如此则错误 ! ( ) 此时清零
100
3 6 分析:(2). 如何满足“ 36 进制 ”的要求? 这就意味着: 个位片的 R0(1)必须和十位片的R 0(1) 连接在一起;
十 位 个 位 . . . 共有36个 稳定状态 ( ) 这就意味着: 个位片的 R0(1)必须和十位片的R 0(1) 连接在一起; 个位片的 R0(2) 也要和十位片的R 0(2) 连接在一起; 只有这么连接,才可能使两片74LS90同时清零。
101
R0(1) = QB2 QA2 R0(2) = QC1 QB1 3 6 分析:(2). 如何满足“ 36 进制 ”的要求? . . .
十 位 个 位 . . . 共有36个 稳定状态 ( ) R0(1) = QB2 QA2 R0(2) = QC1 QB1 十 位 QD2QC2QB2QA2 QD1QC1QB1QA1 个 位
102
R0(1) = QB2 QA2 R0(2) = QC1 QB1 74LS 90(十位) 74LS 90(个位) & CPA CPB QA
QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS 90(十位) 74LS 90(个位) CP & R0(1) = QB2 QA2 R0(2) = QC1 QB1
103
想想看,电路如果这样连接,将会出现什么计数结果 ?
CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS 90(十位) 74LS 90(个位) CP & 想想看,电路如果这样连接,将会出现什么计数结果 ?
104
QD自始至终不变化,无法给十位片提供 CP !
对个位片而言, CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS 90(个位) CP & QDQCQBQA 自动回零 QD自始至终不变化,无法给十位片提供 CP !
105
对十位片而言,由于没有时钟输入, 它只能保持接上电源瞬间的随机状态。 74LS 90(十位) 74LS 90(个位) CPA CPB QA
QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS 90(十位) 74LS 90(个位) CP & 对十位片而言,由于没有时钟输入, 它只能保持接上电源瞬间的随机状态。
106
例3. 用74LS 90构成 5421 BCD码的六进制计数器。 务请注意 Q 下标的排序 ! 十进 制数 QA QD QC QB
QA QD QC QB 十进 制数 例3. 用74LS 90构成 5421 BCD码的六进制计数器。 至此结束 在此状态下清零 务请注意 Q 下标的排序 !
107
承接前页的分析结果: 在QAQDQCQB = 1001 时清零。 5421BCD码连接方法的逻辑电路: 74LS90 CPA CPB QA
R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP 计数 脉冲 5421BCD码连接方法的逻辑电路:
108
同为六进制计数器,两种码制不同接法的比较: 8421BCD 码制下: 5421BCD 码制下:
在QDQCQBQA = 时清零 在QAQDQCQB = 时清零 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP 计数 脉冲 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP 计数 脉冲
109
2. 利用 74LS163 设计计数器电路 74LS163 的简介 前面所讲述的74LS 90其清零方式通常称为“ 异步清零 ”,即只要 R 0(1) = R 0(2) = 1,不管有无时钟信号,输出端立即为 0 ;而且它的计数方式也是异步的,即CP不是同时送到每个触发器。 而下面将要讲述的74LS163,不但计数方式是同步的,而且它的清零方式 也是同步的 :即使控制端 CLR=0 ,清零目的真正实现还需等待下一个时钟脉冲的上升沿到来以后才能够变为现实。这就是“ 同步清零 ”的含义。
110
16 15 14 13 12 11 10 1 2 3 4 5 6 7 8 9 QA QD QC QB VCC T P CP A B C D CLR LOAD RC 串行进 位输出 允许 GND 时钟 清除 输出 数据输入 置入 74LS163 74LS 163 管脚分布图
111
74LS163功能表 QA QB QC QD T RC 74LS163 P A B C D 1 1 1 1 计 数 0 1 1 1 X 保持
LOAD T RC 74LS163 P CLR A B C D 74LS163功能表 计 数 X 保持 X 保持 ( RC=0 ) X X 并 行 输 入 X X X 清 零 P T LOAD CLR CP 功 能
112
清除 置入 A B C D 时钟 允许 P 允许 T QA QB QC QD 串行进 位输出 输出 数据 输入 “同步清零”的含义
113
清除 置入 A B C D 时钟 允许 P 允许 T QA QB QC QD 串行进 位输出 输出 数据 输入 1 1 “同步置数”的含义
114
计数阶段 控制端 P、T 同时为 1 !! 否则,Q端保持 清除 置入 A B 数据 输入 C D 时钟 允许 P 允许 T QA QB
QC QD 串行进 位输出 输出 数据 输入 计数阶段 控制端 P、T 同时为 1 !! 否则,Q端保持
115
清除 置入 A B C D 时钟 允许 P 允许 T QA QB QC QD 串行进 位输出 输出 数据 输入 进位信号 RC的形成条件
116
74LS163 的应用 例1. 用一片74LS163构成六进制计数器。 等再来一个CP 六个稳态,即六进制。 准备清零: 使 CLR= 0
QD QC QB QA 等再来一个CP 六个稳态,即六进制。 准备清零: 直接回零,而无暂态 ! 使 CLR= 0 这, 就是 “ 同步清零 ” 。
117
74LS163 的应用 例1. 用一片74LS163构成六进制计数器。 如前所述, 在 QDQCQBQA = 0101 时 ,
使 CLR = 0 T P RC A B C D QB QC QD QA LOAD CLR 74LS163 & +5V CP
118
例1. 用一片74LS 90构成六进制计数器: 例2. 用一片74LS 163构成六进制计数器:
在QDQCQBQA = 时立即清零 。 在QDQCQBQA = 时准备清零 。 CPA CPB QA QD QB QC R 9(2) R 9(1) R 0(2) R 0(1) 74LS90 CP 计数 脉冲 T P RC A B C D QB QC QD QA LOAD CLR 74LS163 & +5V CP
119
(2). 为了提高运算速度,使用同步计数方式。
例3. 用74LS163构成二十四进制计数器。 (1). 需要两片74LS163; (2). 为了提高运算速度,使用同步计数方式。 T P RC A B C D QB QC QD QA LOAD CLR 74LS163 +5V , , , , CP T RC CP CLR 应该在 QDQCQBQA QDQCQBQA = 时准备清零。 , , , , QDQCQBQA QDQCQBQA , , , , 因为, QA QCQBQA , CLR = 所以, 16 = 23 4 2 1
120
(2). 为了提高运算速度,使用同步计数方式。
T P RC A B C D QB QC QD QA LOAD CLR 74LS163 +5V , , , , CP 例3. 用74LS163构成二十四进制计数器。 (1). 需要两片74LS163; (2). 为了提高运算速度,使用同步计数方式。 QA QCQBQA , CLR = 具体的逻辑电路连线图,在此略去未画 。 下面,分析其工作原理。
121
这种状况一直延续到 QDQCQBQA = 1111 止 。
故高位片不工作, 由于其进位信号 RC = 0 , 尽管时钟 CP 也传送给高位片, 但是 , 高位片的状态却不变化 。 这个阶段 ,只有低位片处在计数状态 。 这种状况一直延续到 QDQCQBQA = 1111 止 。 T P RC A B C D QB QC QD QA LOAD CLR 74LS163 +5V , , , , CP (H) (L)
122
当 QDQCQBQA = 1111 时, 进位 RC = 1 , 使得高位片的计数使能控制端 T = 1 ,
低位片和高位片都处于计数“允许”状态, 在下一个 CP 脉冲来到时, 于是 ,有 QDQCQBQA = 0001 , , , , , QDQCQBQA = 0000 。 +5V , , , , 1 QA QB QC QD QA QB QC QD LOAD LOAD T T T RC 74LS163 RC RC 74LS163 (H) (L) P P CLR A B C D +5V CLR A B C D CP CP CLR CLR
123
却只有低位片满足计数条件而不断进行加法运算, 高位片则处于“禁止”状态,保留原计数结果。
QDQCQBQA = 0001 , , , , , 出现 QDQCQBQA = 0000 后, 低位片的进位信号 RC 又返回到零, 尽管高位片和低位片都接收到时钟CP, 却只有低位片满足计数条件而不断进行加法运算, 高位片则处于“禁止”状态,保留原计数结果。 +5V , , , , QA QB QC QD QA QB QC QD LOAD LOAD T T T RC 74LS163 RC RC 74LS163 (H) (L) P P CLR A B C D +5V CLR A B C D CP CP CLR CLR
124
在下图所示电路中, 表现出这样一个规律 : 每当低位片的 QDQCQBQA 从 0000 到 1111
经过 16 个CP 脉冲完成一个循环以后, 才允许高位片做一次加法运算。 这种接线方式 , 保证了集成组件之间也是同步计数状态。 +5V , , , , QA QB QC QD QA QB QC QD LOAD LOAD T T T RC 74LS163 RC RC 74LS163 (H) (L) P P CLR A B C D +5V CLR A B C D CP CP CLR CLR
125
(2). 为了提高运算速度,使用同步计数方式。 具体逻辑电路如下图所示 :
例3. 用74LS163构成二十四进制计数器。 (1). 需要两片74LS163; (2). 为了提高运算速度,使用同步计数方式。 具体逻辑电路如下图所示 : QA QCQBQA , CLR = T P RC A B C D QB QC QD QA LOAD CLR 74LS163 +5V , , , , CP (H) (L) &
126
思考题: 试设计一个电路,同时满足下述要求 : 1. 十二进制; 2. 状态循环为: 以 QDQCQBQA 为序: 0010 0011
1. 十二进制; 2. 状态循环为: 0010 0011 0100 0101 0110 0111 1000 1101 1100 1011 1010 1001 以 QDQCQBQA 为序:
127
以 QDQCQBQA 为序: 方案一、 用D触发器或JK触发器实现。 分析它的状态变化规律可以发现 : 绝大多数状态之间只相差 1 ;
0010 0011 0100 0101 0110 0111 1000 1101 1100 1011 1010 1001 以 QDQCQBQA 为序: 方案一、 用D触发器或JK触发器实现。 分析它的状态变化规律可以发现 : 绝大多数状态之间只相差 1 ; 这 12 个状态属于 0000 ~ 1111 当中的一部分。 因此 ,可选用集成计数器74LS163 !
128
以 QDQCQBQA 为序: 方案二、 用 74LS163去完成 : 当 QDQCQBQA = 1101时,
0010 0011 0100 0101 0110 0111 1000 1101 1100 1011 1010 1001 以 QDQCQBQA 为序: 方案二、 用 74LS163去完成 : 当 QDQCQBQA = 1101时, 将其“置数”使能端 LOAD为 0 而有效 , 待到下一个 CP 来到后,自动回到 0010 状态。
129
强调 当 QDQCQBQA = 1 1 0 1 时, 使得 “ 置数 ” 为 “ 0 ” ! 而 “ 并行输入 ” 的 预置状态为 :
0010 0011 0100 0101 0110 0111 1000 1101 1100 1011 1010 1001 以 QDQCQBQA 为序: 强调 当 QDQCQBQA = 时, 使得 “ 置数 ” 为 “ 0 ” ! 而 “ 并行输入 ” 的 预置状态为 : D C B A = !
130
逻辑图: 1 0 1 1 74LS163 1 +5V QA QD QB QC T P CP A B C D CLR LOAD RC 清除
允许 清除 置入 74LS163 +5V 1
131
§6. 5 计数器的应用举例 在这一节中,一共举了三个例子 : 例 1. 数字频率计 例 2. 数字表电路 讲解这两个例子,目的是为使大家能够顺利完成实验做准备。 例 3. 动态扫描键盘编码器 但是,此处却从设计的角度来讲解这个问题,以期提高同学们对电路原理的理解。 这个例子的内容出自所使用的教材。 在实验指示书上,已经有完整的逻辑电路图。
132
§6. 5 计数器的应用举例 例 1. 数字频率计原理电路的设计。 什么叫 “ 数字频率计 ” ? 所谓“数字频率计”,就是用十进制数码把被测信号的变化频率显示出来。 而频率的含义,乃指被测信号在一秒钟内变化的次数。因此,计数器工作的时间也只能是一秒钟,这是显而易见的。 计数的结果供阅读或记录。
133
数字频率计的组成 a. 核心是计数和显示 计数器 译码和显示电路 b. 频率计各个功能的协调与指挥 频率计正常工作的关键 清零 一秒钟
假设 : 清零 一秒钟 计数 一秒钟 显示 三秒钟 另需一个五进制计数器,其时钟周期选为一秒钟,以协调各个功能。
134
具体功能如下: 分“自动清零”和“手动清零” Q2 Q1 Q0 0 0 0 自动返回计数状态 ! 0 0 1 计数状态 0 1 1
“自动清零”: 只是在刚刚启动时人为地按动“清零”键,其后的清零功能可自动实现,无需人为再次干预。 Q2 Q1 Q0 启动清零 自动返回计数状态 ! 计数状态 显示计数结果 自动清零
135
具体功能如下: 分“自动清零”和“手动清零” Q2 Q1 Q0 手动清零 0 0 0 0 0 1 计数状态 0 1 1
“手动清零”: 人为地按动“清零”键后,频率计方才开始计数和显示,并且连续显示下去,一直到再次手动清零 。 Q2 Q1 Q0 手动清零 计数状态 此处开始一直显示计数结果 … 等待下一次的“手动清零”。
136
数字频率计的实现 1. 首先解决关键问题:设计起协调和 指挥作用的那个五进制计数器。 “自动清零”状态
计数状态 Q2 Q1 Q0 手动清零 显示计数结果 自动清零 “自动清零”状态 拟采用 D 触发器构成 五 进制计数器 。 经设计,控制端D 的表达式为: D2 = Q1 D1 = Q0 D0 = Q2Q1
137
数字频率计的实现 为使逻辑电路尽可能简单,把两种工作方式下的前四个状态设计成相同值 , 计数状态 Q2 Q1 Q0 手动清零 显示计数结果 自动清零 “自动清零”状态 Q2 Q1 Q0 手动清零 计数状态 此处开始一直显示计数结果 等待下一次“手动清零” … “手动清零”状态
138
数字频率计的实现 Q2 Q1 Q0 手动清零 计数状态 此处开始一直显示计数结果 等待下一次“手动清零” … “手动清零”状态 显示计数结果 自动清零 “自动清零”状态 为使逻辑电路尽可能简单,把两种工作方式下的前四个状态设计成相同值 。
139
为使逻辑电路尽可能简单,把两种工作方式下的前四个状态设计成相同值 , 这样 , 设计出来的逻辑表达式就会简单得多 :
数字频率计的实现 “手动清零”状态 “自动清零”状态 为使逻辑电路尽可能简单,把两种工作方式下的前四个状态设计成相同值 , 这样 , 设计出来的逻辑表达式就会简单得多 : 经过分析和设计,结果为 : D2 = Q1 D1 = Q0 D0 = Q2Q1 D2 = Q1 D1 = Q0 D0 = 1 从表达式中可以看出,两者的差别较小。
140
数字频率计的实现 1. 首先解决关键问题:设计起协调和 指挥作用的那个五进制计数器。 “自动清零”时: “手动清零”时: D2 = Q1
D0 = Q2Q1 D0 = 1 “自动清零”时: “手动清零”时: Q1 D1 Q0 D0 Q2 D2 7420 +5V 手动 自动 手动清零 CP 1HZ
141
数字频率计的实现 2. 需要译码、显示计数的结果,故该计数器需选用74LS90,为便于译码、显示,采用 8421 BCD码 。 3. 计数器的工作时间只能是一秒钟,因此需要配置门控电路,其任务是使被测信号进入计数器的时钟端的时间仅为一秒钟。 4. 计数器只有在进入“自动清零”阶段时,才可使R0(1) 、R0(2) 控制端同时为1 。
142
ux 数字频率计的实现 “自动清零”状态 Q2 Q1 Q0 手动清零 0 0 0 0 0 1 计数状态 Q2Q1Q0 = 1 0 0
手动清零 计数状态 显示计数结果 自动清零 “自动清零”状态 译码显示 74 LS 90 7420 ux R 0(1) R 0(2) CPA Q2Q1Q0 = 1 0 0 自动清零 Q2Q1Q0 = 001 时打开此门
143
ux 讨论 : 为什么 Q2 端可以不起控制作用 ? Q2Q1Q0 = 0 0 1 回答 : 因为在计数器中不存在 101 状态 。
D1 Q0 D0 Q2 D2 7420 +5V 手动 自动 手动清零 CP 1HZ 译码显示 74 LS 90 ux R 0(1) R 0(2) CPA Q2Q1Q0 = 0 0 1 打开此门 回答 : 因为在计数器中不存在 101 状态 。 1 1
144
ux Q2Q1Q0 = 1 0 0 Q2Q1Q0 = 0 0 1 1 自动清零 打开此门 1 1 译码显示 74 LS 90 7420 手动
D1 Q0 D0 Q2 D2 7420 +5V 手动 自动 手动清零 CP 1HZ 译码显示 74 LS 90 ux R 0(1) R 0(2) CPA 1 Q2Q1Q0 = 1 0 0 自动清零 Q2Q1Q0 = 0 0 1 打开此门 1 1
145
ux Q2Q1Q0 = 0 0 1 “手动清零” 状态 打开此门 1 译码显示 74 LS 90 7420 手动 手动清零 CP 1HZ
D1 Q0 D0 Q2 D2 7420 +5V 手动 手动清零 CP 1HZ 译码显示 74 LS 90 ux R 0(1) R 0(2) CPA Q2Q1Q0 = 0 0 1 打开此门 1 “手动清零” 状态
146
例 2. 数字表电路 功能说明: 1. 只计 12 个小时; 应该使用 12进制的加法计数器。 思考: (1). 计数器应该用几位呢 ? (2). 计数器的状态如何变化 ? 2. 只显示 1、2、3、 … 9、10、11、12 。 意味着: (1). 个位显示 0、… 9 ; (2). 十位要么显示 1,要么 什么也不显示。
147
如何实现: (1). 个位计数需要四位输出,它们分别送 显示译码器7448的D、C、B、A端; (2). 如何解决十位的显示要求呢 ? 只要用一位输出,不经过译码器而直接送到数码管的笔划 b、c 。 2. 只显示 1、2、3、 … 9、10、11、12 。 意味着: (1). 个位显示 0、… 9; (2). 十位要么显示 1,要么 什么也不显示。
148
b c a f g e d 如何实现: (1). 个位计数需要四位输出,它们分别送 显示译码器7448的D、C、B、A端;
(2). 如何解决十位的显示要求呢 ? 只要用一位输出,不经过译码器而直接送到数码管的笔划 b、c 。 a f b g e c d
149
c 如何实现: (1). 个位计数需要四位输出,它们分别送 显示译码器7448的D、C、B、A端; (2). 如何解决十位的显示要求呢 ?
只要用一位输出,不经过译码器而直接送到数码管的笔划 b、c 。 数码管 译码器 个位计数器 4 7 十位计数 b c
150
例 2. 数字表电路 功能说明: 1. 只计 12 个小时; 应该使用 12进制的加法计数器。 思考: (1). 计数器应该用几位呢 ? (2). 计数器的状态如何变化 ? 用五位 。 与“只显示 1、2、3、 … 9、10、11、12”的要求有关。 怎么解决这个特殊要求呢 ? 选用一片74LS90和一片JK触发器。
151
选用一片74LS90和一片JK触发器。 怎么搭配 ? 74LS90 74LS90 要求显示 CP CP Q4 Q3 Q2 Q1 Q0 十位
个 位 要求显示 选用一片74LS90和一片JK触发器。 1 2 3 4 5 6 7 8 9 10 11 12 怎么搭配 ? 74LS90 JK-FF CP 74LS90 CP JK-FF
152
Q Q3 Q2 Q1 Q0 十位 个 位 要求显示 1 2 3 4 5 6 7 8 9 10 11 12 QA QD QC QB 十位 个 位 那就显示 Q 1 3 2 5 4 7 6 9 8 11 10 13 显然不对!
153
清零 正确! 就会显示 QA QD QC QB Q 十位 个 位 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1
个 位 就会显示 Q 1 2 3 4 5 6 7 8 9 10 11 12 1 QD = CPA 清零 正确!
154
就会显示 备 忘 录 QAQBQ = 1 1 0 需要在 此清零 QA QD QC QB Q 十位 个 位 0 0 0 0 1
个 位 就会显示 Q 1 2 3 4 5 6 7 8 9 10 11 12 备 忘 录 QAQBQ = 1 1 0 1 QD = CPA 需要在 此清零 这才正确 1 1
155
如何实现 “清零”? 对 74LS90 而言: 而对JK触发器来说 : 清零 实际显示 R 0(1) = QAQB Q R 0(2) = 1
3 4 5 6 7 8 9 10 11 12 QA QD QC QB Q 十位 个 位 实际显示 Q 清零 如何实现 “清零”? 对 74LS90 而言: R 0(1) = QAQB Q R 0(2) = 1 而对JK触发器来说 : CLR = QAQBQ
156
数字表整体框图 十位 个位 R 0(2) = 1 R 0(1) = QAQB Q CLR = QAQBQ 清零 小时脉冲 显示 b c 7
QDQCQB Q D C B A 74LS48 显示 b c 7 4 L S 9 0 7 个位 十位 74LS20 清零 小时脉冲 R 0(2) = 1 R 0(1) = QAQB Q CLR = QAQBQ 数字表整体框图
157
例3. 动态扫描键盘编码器 功能说明: 将键盘上的按键转换成二进制编码存入输出寄存器。 “ 动态扫描 ”的含义则是用一个时钟信号源依次巡回检查各按键的状态,一旦发现某个按键被按下时,便立即产生相应的输出。 组成部件: 计数器 译码器 数据选择器 寄存器
158
1 2 3 4 5 6 7 D0 D1 D2 D3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 按键的分布及其十进制编码 行线 列线 按键是否按下,将影响行线的逻辑状态。
159
计数器 译码器 寄存器 计数脉冲 Q0Q1Q2 Q3Q4 键盘列线 CLK T A B C Y0 Y7 B A D0 D3 Y 数据 选择器
1D Q 3D Q 5D Q 2D Q 4D Q CP 键盘代码输出 寄存器 键盘行线
160
计数器 低三位控制各列线的电平。 高两位选择行线。 五位二进制 计数器为 选用两片74LS163 加法计数器 T = 1 时,正常计数;
Q0Q1Q2 Q3Q4 CLK T 计数脉冲 T = 1 时,正常计数; T = 0 时,停止计数。 低三位控制各列线的电平。 高两位选择行线。 五位二进制 加法计数器 计数器为 选用两片74LS163
161
来自计数器低三位 键盘列线 译码器 A B C Y0 Y7 74LS138 被选中的列线呈现低电平,余者为高电平。
162
来自计数器高两位 选用74LS151 (8 - 1数据选择器), 而不用74LS153 (4 - 1 数据选择器),原因在于前者具有互补输出,而后者只有一种输出方式。 B A D0 D3 Y 数据 选择器 键盘列线 74LS151
163
计数器输出端 8D数据寄存器 74LS374 寄存器 Q0 Q1 Q2 Q3 Q4 上升沿翻转 键盘代码输出 1D 1Q 2D 2Q
CP 键盘代码输出 寄存器 Y Q0 Q1 Q2 Q3 Q4 计数器输出端 8D数据寄存器 74LS374 上升沿翻转
164
计数器 译码器 寄存器 计数脉冲 Q0Q1Q2 Q3Q4 键盘列线 CLK T A B C Y0 Y7 B A D0 D3 Y 数据 选择器
1D Q 3D Q 5D Q 2D Q 4D Q CP 键盘代码输出 寄存器
165
工作过程: 首先,计数器对计数脉冲计数,其输出端Q0 - Q4经译码器和数据选择器向键盘提供行、列扫描地址 。
166
计数器 Q0Q1Q2 Q3Q4 CLK T 计数脉冲 五位二进制 加法计数器 计数器为 选用两片74LS163 去译码器 去选择器
167
工作过程: 首先,计数器对计数脉冲计数,其输出端Q0 - Q4经译码器和数据选择器向键盘提供行、列扫描地址 。 如果键盘上所有的按键均未按下,那么,四条行线(即选择器的四路输入)D0 - D3都悬空,在逻辑值上相当于“1”状态。此时不管计数器的状态如何,选择器输出保持为 Y = 1、 Y = 0 。
168
B A D0 D3 Y 数据 选择器 键盘列线 来自计数器高两位 74LS 151 去计数器的T端 。 去寄存器的 CP端。 1 行线 列线
169
工作过程: 首先,计数器对计数脉冲计数,其输出端Q0 - Q4经译码器和数据选择器向键盘提供行、列扫描地址 。 如果键盘上所有的按键均未按下,那么,四条行线(即选择器的四路输入)D0 - D3都悬空,在逻辑值上相当于“1”状态。此时不管计数器的状态如何,选择器输出保持为 Y = 1、 Y = 0 。 此时计数器的控制端 T = Y = 1,保证它可以继续不停地计数(即可对键盘不断地扫描);对寄存器来说,由于其时钟CP端保持为 0,CP没有获得上升沿,故寄存器中的内容也不会更新。
170
计数器 1 译码器 寄存器 计数脉冲 Q0Q1Q2 Q3Q4 键盘列线 CLK T A B C Y0 Y7 B A D0 D3 Y 数据
选择器 1D Q 3D Q 5D Q 2D Q 4D Q CP 键盘代码输出 寄存器
171
一旦第 i 行、第 j 列的按键 A i j 被按下,它将使键盘上的第 i 行和第 j 列接通。
当计数器低三位计数到与第 j 列对应的编码值时,第 j 根列线被译码器译中,呈现低电平,使得第 i 根 行线也变成低电平。如果此时计数器高两位Q3Q4恰巧是第 i 行对应的编码,选择器便将第 i 路的状态选通输出,使得其输出 Y由 1 变 0, 由 0 变 1 (必然给寄存器提供所有所需的上升沿)。 Y 行线 列线 i j
172
B A D0 D3 Y 数据 选择器 键盘列线 来自计数器高两位 74LS 151 去计数器的T端 。 去寄存器的 CP端。 1 行线 列线
173
计数器 保持 译码器 存入 新内容 1 寄存器 计数脉冲 Q0Q1Q2 Q3Q4 1 键盘列线 CLK T A B C Y0 Y7 B A
D0 D3 Y 数据 选择器 1D Q 3D Q 5D Q 2D Q 4D Q 键盘代码输出 寄存器 1 保持 存入 新内容 1 Y
174
§6. 6 顺序脉冲发生电路 又叫“节拍脉冲发生器” 译码器 计数器 F0 F1 F2 F3 P0 P1 P2 P3 P4 P5 P6 P7
§6. 6 顺序脉冲发生电路 又叫“节拍脉冲发生器” Q D F0 F1 F2 F3 P0 P1 P2 P3 P4 P5 P6 P7 CP 译码器 Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 计数器
175
P0 P1 P2 P3 P4 P5 P6 P7 P0 = Q0 Q3 P4 = Q0 Q3 P1 = Q0 Q1 P5 = Q0 Q1
176
D0 = Q3 D1 = Q0 D2 = Q1 D3 = Q2 计数器 Q0 Q1 Q2 Q3 D0 D1 D2 D3 0 0 0 0
D0 = Q3 D1 = Q0 D2 = Q1 D3 = Q2 Q D F0 F1 F2 F3 CP 计数器
177
D0 = Q3 D1 = Q0 D2 = Q1 D3 = Q2 Q0 Q1 Q2 Q3 D0 D1 D2 D3 0 0 0 0
Q0 Q1 Q2 Q3 D0 D1 D2 D3 CP Q0 Q1 Q2 Q3
178
CP Q0 Q1 Q2 Q3 P4 = Q0 Q3 P0 = Q0 Q3 P1 = Q0 Q1 P2 = Q1 Q2 P3 = Q2 Q3 P5 = Q0 Q1 P6 = Q1 Q2 P7 = Q2 Q3
179
CP P0 P1 P2 P3 P4 P5 P6 P7
180
课后思考题 1. 仿前图电路,试设计一个 6节拍 脉冲分配器。 2. 画出下图电路中的输出端Q0 ~ Q3 相对于时钟脉冲CP的波形图。
D Q F0 F1 F2 F3 Q0 Q1 Q2 Q3 CP
Similar presentations