系统版本:v0.0.7
最后更新:2026-05-24
内容范围:数制、数制转换、二进制算术、原码、反码、补码、常用编码、基本逻辑门、逻辑函数表示与化简、组合逻辑电路分析与设计、常用组合逻辑器件、触发器逻辑功能与触发方式、时序逻辑电路、计数器、寄存器和移位寄存器、脉冲波形产生与整形、555 定时器应用
第一章 数制与码制
数字电子技术研究的是用数字信号表示、处理和传输信息的方法。和模拟信号相比,数字信号通常只有有限个离散状态,最常见的是用 0 和 1 表示低电平和高电平。因此,学习数字电路之前,需要先理解不同进制之间的转换,以及计算机如何用二进制表示有符号数和其他信息。
一、数制基础
1. 常见数制
| 数制 | 基数 | 使用的数字符号 | 示例 |
|---|---|---|---|
| 十进制 | 10 | 0、1、2、3、4、5、6、7、8、9 | (125.75)10 |
| 二进制 | 2 | 0、1 | (1011.01)2 |
| 八进制 | 8 | 0、1、2、3、4、5、6、7 | (157)8 |
| 十六进制 | 16 | 0~9、A~F | (3A.F)16 |
任意进制数都可以写成“按权展开”的形式。设基数为 R,每一位数字乘以对应的 R 的幂,再相加即可得到它的十进制值。
例如:
1 | (1011.01)2 |
二、二进制转十进制
1. 转换方法
二进制转十进制使用“按权展开求和”的方法:
- 整数部分:从小数点左边开始,位权依次是
2^0、2^1、2^2... - 小数部分:从小数点右边开始,位权依次是
2^-1、2^-2、2^-3...
2. 例如
1 | (1101)2 |
带小数的二进制:
1 | (101.101)2 |
三、十进制转二进制
十进制转二进制时,整数部分和小数部分要分开处理。
1. 整数部分:除 2 取余,逆序排列
步骤:
- 用十进制整数不断除以
2。 - 记录每次除法得到的余数。
- 商为
0时停止。 - 将余数从下往上排列,就是二进制整数部分。
例如:将 (25)10 转换成二进制。
1 | 25 ÷ 2 = 12 ... 1 |
余数逆序排列:11001
所以:
1 | (25)10 = (11001)2 |
2. 小数部分:乘 2 取整,顺序排列
步骤:
- 用十进制小数不断乘以
2。 - 记录每次乘积的整数部分。
- 将乘积的小数部分继续乘以
2。 - 小数部分为
0时停止;如果不能为0,则根据精度要求截断或四舍五入。
例如:将 (0.625)10 转换成二进制。
1 | 0.625 × 2 = 1.25 取整数 1 |
整数部分顺序排列:101
所以:
1 | (0.625)10 = (0.101)2 |
3. 整数和小数组合
例如:将 (25.625)10 转换成二进制。
1 | 整数部分:(25)10 = (11001)2 |
所以:
1 | (25.625)10 = (11001.101)2 |
4. 注意
不是所有十进制小数都能被二进制有限表示。例如 (0.1)10 转换成二进制时会出现循环小数,因此计算机中常见的小数通常只能近似表示。
四、二进制与十六进制互转
1. 二进制转十六进制
二进制和十六进制之间转换非常方便,因为:
1 | 16 = 2^4 |
所以每 4 位二进制数可以直接对应 1 位十六进制数。
常用对应关系:
| 二进制 | 十六进制 | 二进制 | 十六进制 |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
例如:
1 | (10110110)2 |
带小数的情况,小数点左右分别每 4 位分组,不足 4 位时补 0:
1 | (11010.1011)2 |
2. 十六进制转二进制
十六进制转二进制时,将每一位十六进制数替换成对应的 4 位二进制数即可。
例如:将 (3A.F)16 转换成二进制。
1 | 3 = 0011 |
所以:
1 | (3A.F)16 = (00111010.1111)2 |
通常整数部分最前面的 0 可以省略:
1 | (3A.F)16 = (111010.1111)2 |
五、二进制算术基础
1. 二进制加法
二进制加法规则:
| 运算 | 结果 |
|---|---|
| 0 + 0 | 0 |
| 0 + 1 | 1 |
| 1 + 0 | 1 |
| 1 + 1 | 10,向高位进 1 |
例如:
1 | 1011 |
验证:(1011)2 = (11)10,(0110)2 = (6)10,结果 (10001)2 = (17)10。
2. 二进制减法
二进制减法规则:
| 运算 | 结果 |
|---|---|
| 0 - 0 | 0 |
| 1 - 0 | 1 |
| 1 - 1 | 0 |
| 0 - 1 | 向高位借 1,结果为 1 |
例如:
1 | 1010 |
验证:(1010)2 = (10)10,(0011)2 = (3)10,结果 (0111)2 = (7)10。
六、原码、反码和补码
1. 为什么需要原码、反码、补码
二进制本身只能直接表示非负数。如果要表示正数和负数,就必须约定其中某一位表示符号。通常最高位称为“符号位”:
0表示正数。1表示负数。- 后面的位表示数值部分。
原码、反码和补码都是“带符号数”的二进制表示方法。它们的意义不只是写法不同,更重要的是解决计算机如何统一处理加法和减法的问题。
其中,补码最重要。现代计算机中的有符号整数通常都用补码表示,因为补码可以把减法转化为加法,硬件只需要设计加法器即可完成加减运算。
2. 原码
原码是最直观的表示方式:最高位表示符号,其余位表示数值的绝对值。
以 8 位二进制为例:
1 | +5 的原码:0000 0101 |
原码的优点是容易理解,但缺点也明显:
+0和-0有两种表示。- 直接做加减法不方便,需要单独处理符号位。
例如:
1 | +0 的原码:0000 0000 |
3. 反码
反码是在原码基础上得到的:
- 正数的反码等于它的原码。
- 负数的反码:符号位保持
1不变,数值位按位取反。
以 8 位二进制为例,求 -5 的反码:
1 | +5 的原码:0000 0101 |
反码相比原码更接近补码的运算形式,但仍然存在 +0 和 -0 两种表示:
1 | +0 的反码:0000 0000 |
4. 补码
补码是在反码基础上得到的:
- 正数的补码等于它的原码。
- 负数的补码等于它的反码加
1。
以 8 位二进制为例,求 -5 的补码:
1 | +5 的原码:0000 0101 |
也可以用更快的方法:先写出正数的二进制,再“按位取反加 1”。
1 | +5:0000 0101 |
所以 -5 的 8 位补码是 1111 1011。
5. 补码如何还原成十进制
判断一个补码表示的有符号数时,先看最高位:
- 最高位为
0:表示非负数,直接按普通二进制转十进制。 - 最高位为
1:表示负数,需要“按位取反加 1”得到它的绝对值,再加负号。
例如:求 1111 1011 的十进制值。
1 | 原补码:1111 1011 |
所以:
1 | (1111 1011)补 = (-5)10 |
6. 补码的表示范围
使用 n 位补码时,能表示的整数范围是:
1 | -2^(n-1) ~ 2^(n-1)-1 |
例如 8 位补码的范围是:
1 | -128 ~ 127 |
原因是最高位既参与符号判断,也参与数值范围划分。补码只有一个 0,因此比原码和反码多表示一个最小负数。
7. 十进制数应该用几位补码表示
判断一个十进制整数至少需要几位补码表示,本质上就是判断它落在哪个补码表示范围内。
如果使用 n 位补码,必须满足:
1 | -2^(n-1) ≤ 要表示的数 ≤ 2^(n-1)-1 |
找最少位数时,从较小的 n 开始试,直到这个范围能覆盖目标十进制数。
例如:判断 -5 至少需要几位补码表示。
尝试 3 位补码:
1 | 3 位补码范围:-2^(3-1) ~ 2^(3-1)-1 = -4 ~ 3 |
-5 不在 -4 ~ 3 范围内,所以 3 位不够。
尝试 4 位补码:
1 | 4 位补码范围:-2^(4-1) ~ 2^(4-1)-1 = -8 ~ 7 |
-5 在 -8 ~ 7 范围内,所以 -5 至少需要 4 位补码表示。
计算 -5 的 4 位补码:
1 | +5:0101 |
所以:
1 | -5 的 4 位补码:1011 |
注意:补码表示范围左右并不对称。例如 8 位补码的范围是 -128 ~ 127,能表示 -128,但不能表示 +128。
8. 补码运算示例
用补码计算 5 - 3,可以写成 5 + (-3)。
1 | +5 的补码:0000 0101 |
在 8 位运算中,最高位之外的进位舍弃,结果为:
1 | 0000 0010 = 2 |
这说明补码可以让减法用加法完成。
9. 快速总结
| 类型 | 正数表示 | 负数表示 | 是否有两个 0 | 主要特点 |
|---|---|---|---|---|
| 原码 | 等于本身二进制 | 符号位为 1,数值位不变 | 有 | 直观,但不利于运算 |
| 反码 | 等于原码 | 符号位不变,数值位取反 | 有 | 原码到补码的中间形式 |
| 补码 | 等于原码 | 反码加 1 | 无 | 计算机最常用,便于加减运算 |
七、码制
数制解决“数值如何表示”的问题,码制解决“信息如何编码”的问题。在数字系统中,数字、字符、符号、指令等都需要用二进制代码表示。
1. BCD 码
BCD 码是 Binary Coded Decimal 的缩写,即“二进制编码的十进制数”。它用 4 位二进制表示 1 位十进制数字。
BCD 码的特点:
- 保留了十进制的“每一位数字”结构,读写直观。
- 每一位十进制数字单独编码,适合显示器、计数器、数字仪表等场景。
- 8421 BCD 码只使用
0000到1001,1010到1111不是有效的十进制数字编码。 - 存储效率低于普通二进制,因为
4位二进制本来可以表示0~15,但 BCD 码只用来表示0~9。
常见的 8421 BCD 码如下:
| 十进制数字 | 8421 BCD 码 |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
例如:
1 | (59)10 的 8421 BCD 码为:0101 1001 |
注意:BCD 码和普通二进制数不同。
1 | (59)10 = (111011)2 |
前者表示数值本身,后者是把十进制每一位数字分别编码。
2. 格雷码
格雷码是一种相邻两个代码之间只有一位不同的编码方式,常用于减少机械开关、编码器等场景中的误读。
格雷码的特点:
- 任意两个相邻状态之间只有
1位发生变化。 - 能减少状态切换时多位同时变化带来的瞬间错误。
- 不适合直接做普通二进制算术运算,通常需要先转换成二进制再计算。
- 常用于旋转编码器、位置检测、A/D 转换等对状态切换稳定性要求较高的场景。
二进制码转格雷码的规则:
- 格雷码最高位与二进制最高位相同。
- 从第二位开始,格雷码每一位等于二进制相邻两位异或的结果。
例如:二进制 1011 转格雷码。
1 | 二进制:1 0 1 1 |
计算过程:
1 | 最高位:1 |
所以:
1 | (1011)2 对应的格雷码为 1110 |
3. ASCII 码
ASCII 码用于表示英文字符、数字、标点和控制字符。它本质上也是一种二进制编码。
常见示例:
| 字符 | 十进制 ASCII | 十六进制 ASCII |
|---|---|---|
0 |
48 | 30H |
A |
65 | 41H |
a |
97 | 61H |
| 空格 | 32 | 20H |
八、学习小结
本章重点可以归纳为五点:
- 任意进制数都可以用“按权展开”的方法转换为十进制。
- 十进制转二进制时,整数部分用“除 2 取余”,小数部分用“乘 2 取整”。
- 二进制和十六进制之间每 4 位一组,转换最方便。
- 原码、反码、补码都是带符号数的表示方法,其中补码最适合计算机进行加减运算。
- 判断一个十进制数至少需要几位补码表示时,要用
-2^(n-1) ~ 2^(n-1)-1的范围公式逐步判断。
需要特别区分的是:数制强调数值大小,码制强调信息表示。同样是二进制序列,在不同编码规则下可能代表完全不同的含义。
第二章 逻辑代数基础
逻辑代数是分析和设计数字电路的数学工具。数字电路中的变量通常只有两种取值:0 和 1。这里的 0 和 1 不一定表示数值大小,更多时候表示两种逻辑状态,例如“假/真”、“低电平/高电平”、“断开/闭合”。
本章重点是掌握基本逻辑运算、逻辑函数的表示方法、最小项、逻辑函数化简,以及如何把逻辑函数变换成适合与非门实现的形式。
一、基本逻辑运算
1. 与逻辑 AND
与逻辑表示“条件同时成立”。只有当所有输入都为 1 时,输出才为 1。
| A | B | F = A·B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
常用表示:
1 | 表达式:F = A·B 或 F = AB |
2. 或逻辑 OR
或逻辑表示“至少一个条件成立”。只要输入中有一个为 1,输出就是 1。
| A | B | F = A+B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
常用表示:
1 | 表达式:F = A+B |
3. 非逻辑 NOT
非逻辑表示“取反”。输入为 0 时输出为 1,输入为 1 时输出为 0。
| A | F = A’ |
|---|---|
| 0 | 1 |
| 1 | 0 |
常用表示:
1 | 表达式:F = A' 或 F = \overline{A} |
4. 与非逻辑 NAND
与非逻辑是“与”之后再“非”,即与门输出取反。
1 | F = (A·B)' |
| A | B | F = (A·B)’ |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
特点:只有当所有输入都为 1 时,输出才为 0。
5. 或非逻辑 NOR
或非逻辑是“或”之后再“非”,即或门输出取反。
1 | F = (A+B)' |
| A | B | F = (A+B)’ |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
特点:只有当所有输入都为 0 时,输出才为 1。
6. 与或非逻辑 AOI
与或非逻辑是先做若干个“与”运算,再把这些结果“或”起来,最后整体取反。
例如:
1 | F = (A·B + C·D)' |
它的逻辑顺序是:
- 先算
A·B和C·D。 - 再算
A·B + C·D。 - 最后对整个结果取反。
与或非门常用于把“与项之和”形式的逻辑函数直接变成一个整体取反的电路结构。
7. 异或逻辑 XOR
异或逻辑表示“两个输入不同则为 1,相同则为 0”。
1 | F = A ⊕ B = A'B + AB' |
| A | B | F = A⊕B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
特点:异或常用于判断两个信号是否不同,也常用于加法器中的求和位。
8. 同或逻辑 XNOR
同或逻辑是异或的反运算,表示“两个输入相同则为 1,不同则为 0”。
1 | F = (A ⊕ B)' = AB + A'B' |
| A | B | F = A⊙B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
特点:同或常用于判断两个信号是否相等。
9. 基本逻辑门速查表
| 逻辑名称 | 英文 | 表达式示例 | 运算符号 | 输出为 1 的条件 |
|---|---|---|---|---|
| 与 | AND | F = AB |
· |
输入全为 1 |
| 或 | OR | F = A+B |
+ |
输入至少一个为 1 |
| 非 | NOT | F = A' |
' 或上横线 |
输入为 0 |
| 与非 | NAND | F = (AB)' |
与后取反 | 输入不全为 1 |
| 或非 | NOR | F = (A+B)' |
或后取反 | 输入全为 0 |
| 与或非 | AOI | F = (AB+CD)' |
与、或、非组合 | 与或结果为 0 |
| 异或 | XOR | F = A⊕B |
⊕ |
输入不同 |
| 同或 | XNOR | F = A⊙B |
⊙ |
输入相同 |
二、逻辑函数的表示方法及相互转换
逻辑函数描述的是输入变量和输出变量之间的逻辑关系。常见表示方法有四种:表达式、真值表、逻辑图、时序图。
1. 表达式
表达式用逻辑运算符号直接写出输入和输出关系。
例如:
1 | F = A'B + AB' |
这个表达式表示 A 和 B 异或。
2. 真值表
真值表把输入变量的所有取值组合列出来,并写出每种组合对应的输出。
例如,对 F = A'B + AB' 列真值表:
| A | B | A’B | AB’ | F |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 0 |
3. 逻辑图
逻辑图用逻辑门连接关系表示函数。
例如 F = A'B + AB' 的逻辑图思路:
A经过非门得到A'。B经过非门得到B'。A'和B进入一个与门,得到A'B。A和B'进入另一个与门,得到AB'。- 两个与门输出进入或门,得到
F。
4. 时序图
时序图用随时间变化的波形表示输入和输出关系。读时序图时,要在每一个时间段内观察输入变量的取值,再根据逻辑函数判断输出。
例如对于 F = A·B:
- 当
A=1且B=1时,F=1。 - 其他时间段,
F=0。
5. 相互转换方法
| 转换方向 | 方法 |
|---|---|
| 表达式 → 真值表 | 列出所有输入组合,逐行代入表达式求输出 |
| 真值表 → 表达式 | 找出输出为 1 的行,写出对应乘积项,再相加 |
| 表达式 → 逻辑图 | 按运算优先级把非门、与门、或门等连接起来 |
| 逻辑图 → 表达式 | 从输入到输出逐级写出每个门的输出表达式 |
| 表达式 → 时序图 | 根据每个时间段的输入值计算输出波形 |
| 时序图 → 真值表 | 观察各时间段输入组合和输出结果,总结逻辑关系 |
三、最小项
1. 最小项的概念
对于 n 个变量,如果一个乘积项中包含全部 n 个变量,并且每个变量只出现一次,出现形式可以是原变量或反变量,那么这个乘积项称为最小项。
例如,对于三个变量 A、B、C:
1 | A'B'C、AB'C、ABC |
都是最小项,因为每一项都包含 A、B、C 三个变量。
而下面这些不是最小项:
1 | AB 缺少变量 C |
2. 最小项的编号
最小项通常用 m_i 表示。编号方法是:把变量按固定顺序写成二进制组合,原变量记为 1,反变量记为 0,再把这个二进制数转换成十进制编号。
以变量顺序 A、B、C 为例:
| A | B | C | 最小项 | 编号 |
|---|---|---|---|---|
| 0 | 0 | 0 | A'B'C' |
m0 |
| 0 | 0 | 1 | A'B'C |
m1 |
| 0 | 1 | 0 | A'BC' |
m2 |
| 0 | 1 | 1 | A'BC |
m3 |
| 1 | 0 | 0 | AB'C' |
m4 |
| 1 | 0 | 1 | AB'C |
m5 |
| 1 | 1 | 0 | ABC' |
m6 |
| 1 | 1 | 1 | ABC |
m7 |
3. 最小项的性质
最小项有三个常用性质:
- 任意一个最小项只在一组变量取值下为
1。 - 任意两个不同最小项不能同时为
1。 - 全部最小项相加恒等于
1。
对于三个变量:
1 | m0 + m1 + m2 + m3 + m4 + m5 + m6 + m7 = 1 |
4. 相邻最小项
如果两个最小项只有一个变量不同,其余变量完全相同,那么它们称为相邻最小项。相邻最小项可以合并,消去那个不同的变量。
例如:
1 | A'B'C + A'BC = A'C(B' + B) = A'C |
这里两个最小项只在 B 上不同,所以可以合并并消去 B。
5. 函数化为最小项之和
把函数写成最小项之和,就是把函数表示为若干个最小项相加的形式,也称为标准与或式。
方法一:根据真值表写。
- 列出函数的真值表。
- 找出输出
F=1的行。 - 每一行写成一个最小项。
- 把这些最小项相加。
例如:
| A | B | C | F |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
输出为 1 的行对应 m1、m2、m5、m7,所以:
1 | F(A,B,C) = Σm(1,2,5,7) |
方法二:由普通表达式补齐缺少变量。
例如:
1 | F = AB + A'C |
变量为 A、B、C,其中 AB 缺少 C,A'C 缺少 B。
1 | AB = AB(C+C') = ABC + ABC' |
所以:
1 | F = ABC + ABC' + A'BC + A'B'C |
四、化简逻辑函数
逻辑函数化简的目标是在功能不变的前提下,减少变量、减少逻辑门数量、降低电路复杂度。
1. 公式法化简
公式法依靠逻辑代数基本公式进行变换。
常用公式:
| 公式 | 名称 |
|---|---|
A + 0 = A,A·1 = A |
0-1 律 |
A + 1 = 1,A·0 = 0 |
支配律 |
A + A = A,A·A = A |
幂等律 |
A + A' = 1,A·A' = 0 |
互补律 |
A + AB = A |
吸收律 |
A(A+B) = A |
吸收律 |
AB + AB' = A |
合并律 |
(AB)' = A' + B' |
德摩根定律 |
(A+B)' = A'B' |
德摩根定律 |
例如:
1 | F = AB + AB' |
再如:
1 | F = A + A'B |
2. 卡诺图法化简
卡诺图法适合变量数较少的逻辑函数。它把真值表按照相邻最小项相邻排列,利用圈 1 的方式合并最小项。
基本步骤:
- 根据变量数画出卡诺图。
- 按最小项编号把函数中为
1的格子填上1。 - 按
1、2、4、8...个相邻格子为一组圈起来。 - 圈要尽量大,圈的数量要尽量少。
- 每个圈写出一个化简后的与项,最后相加。
三变量卡诺图常用排列如下:
| A\BC | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | m0 | m1 | m3 | m2 |
| 1 | m4 | m5 | m7 | m6 |
注意:卡诺图的列顺序是 00、01、11、10,不是普通二进制顺序。这样排列是为了保证相邻格子之间只有一个变量不同。
例如:
1 | F(A,B,C) = Σm(1,3,5,7) |
这些最小项都满足 C=1,所以化简结果为:
1 | F = C |
五、将函数化成与非-与非式
与非门是通用门,只用与非门就可以实现任意逻辑函数。把函数化成“与非-与非式”,本质上就是把与或式变成两级与非门结构。
1. 基本思路
如果函数已经是与或式:
1 | F = AB + CD |
可以对整个函数做两次取反:
1 | F = ((AB + CD)')' |
再用德摩根定律展开内层反号:
1 | F = ((AB)' · (CD)')' |
这就是与非-与非式。第一层与非门分别得到 (AB)'、(CD)',第二层与非门把它们合成为 F。
2. 转换步骤
- 先把函数化成最简与或式。
- 对整个函数加两次反号,保证函数值不变。
- 用德摩根定律把“或”变成“与非-与非”结构。
- 如果某个变量需要取反,也可以用与非门自接实现非门。
与非门实现非门:
1 | A' = (A·A)' |
3. 例题
将函数化成与非-与非式:
1 | F = AB + A'C |
对整体取两次反:
1 | F = ((AB + A'C)')' |
用德摩根定律:
1 | F = ((AB)' · (A'C)')' |
所以与非-与非式为:
1 | F = ((AB)'(A'C)')' |
如果只允许使用与非门,A' 也可以由与非门产生:
1 | A' = (A·A)' |
六、第二章小结
本章重点可以归纳为五点:
- 基本逻辑门包括与、或、非、与非、或非、与或非、异或、同或,要掌握其逻辑定义、运算符号和输出规律。
- 逻辑函数可以用表达式、真值表、逻辑图、时序图表示,并且这些表示方法可以相互转换。
- 最小项是包含全部变量的乘积项,相邻最小项只有一个变量不同,可以合并消去不同变量。
- 逻辑函数可以用公式法或卡诺图法化简,化简目标是让表达式和电路更简单。
- 与非门是通用门,与或式可以通过两次取反和德摩根定律变成与非-与非式。
第四章 组合逻辑电路
组合逻辑电路是数字电路中最常见的一类电路。它的输出只由当前输入决定,不依赖电路过去的状态。本章重点是掌握组合电路的分析方法、常用组合逻辑器件的功能,以及如何用门电路和常用集成芯片实现指定逻辑函数。
一、组合逻辑电路的组成和特点
1. 基本组成
组合逻辑电路通常由各种逻辑门组成,例如与门、或门、非门、与非门、或非门、异或门等。
一般结构可以表示为:
1 | 输入变量 A、B、C、... |
如果有 n 个输入、m 个输出,则每个输出都可以写成输入变量的函数:
1 | F1 = f1(A, B, C, ...) |
2. 主要特点
组合逻辑电路有以下特点:
- 输出只取决于当前输入,与过去输入无关。
- 电路中没有触发器、寄存器等记忆元件。
- 一般不包含反馈存储回路。
- 可用逻辑表达式、真值表、卡诺图、逻辑图等方法描述。
- 同一逻辑功能可以有多种实现形式,设计时通常追求电路简单、器件少、成本低。
需要注意:组合逻辑电路和时序逻辑电路的根本区别在于是否具有“记忆功能”。组合逻辑电路没有记忆功能,时序逻辑电路的输出不仅与当前输入有关,还与过去状态有关。
二、组合电路逻辑功能的分析
组合逻辑电路分析,就是根据已经给出的逻辑电路图,求出它实现的逻辑功能。
1. 分析步骤
常用分析流程如下:
- 从输入端开始,给各级门电路的中间输出标注变量。
- 按照信号传递方向,逐级写出中间变量的逻辑表达式。
- 写出最终输出函数表达式。
- 对表达式进行化简或变换。
- 根据表达式列真值表。
- 根据真值表或表达式判断电路功能。
2. 分析示例
设某组合逻辑电路输出函数为:
1 | F = A'B + AB' |
它的真值表为:
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
可以看出,当 A 和 B 不同时,F=1;当 A 和 B 相同时,F=0。因此该电路实现的是异或功能:
1 | F = A ⊕ B |
3. 分析时的注意点
- 先看清门电路输出端是否带小圆圈,带小圆圈表示取反。
- 与非门、或非门不要误写成普通与门、或门。
- 多输出电路要分别写出每个输出函数。
- 判断功能时不要只看表达式,也要结合真值表和电路用途。
三、常用组合逻辑电路
1. 编码器
编码器的作用是把多个输入信号转换成二进制代码输出。
普通编码器的特点:
- 每次只允许一个输入有效。
- 输出为有效输入对应的二进制编号。
2^n个输入通常对应n位二进制输出。
例如,8 线 - 3 线编码器有 I0~I7 共 8 个输入,输出为 Y2Y1Y0。当 I5 有效时:
1 | Y2Y1Y0 = 101 |
优先编码器允许多个输入同时有效,但只对优先级最高的输入编码。常见芯片 74LS148 是 8 线 - 3 线优先编码器,常用于中断请求、键盘输入等场景。
2. 译码器
译码器的作用是把二进制代码翻译成对应的输出信号。
二进制译码器的一般规律:
1 | n 位输入 → 2^n 个输出 |
例如,3 线 - 8 线译码器有 3 个地址输入和 8 个输出。输入为 101 时,对应第 5 路输出有效。
常见应用:
- 地址译码。
- 数码管显示译码。
- 产生最小项。
- 实现组合逻辑函数。
3. 数据选择器
数据选择器也叫多路选择器,作用是从多路输入数据中选择一路送到输出端。
以 4 选 1 数据选择器为例:
| S1 | S0 | 输出 Y |
|---|---|---|
| 0 | 0 | D0 |
| 0 | 1 | D1 |
| 1 | 0 | D2 |
| 1 | 1 | D3 |
其中 S1、S0 是选择端,D0~D3 是数据输入端。数据选择器常用于数据通道选择,也可以用来实现逻辑函数。
4. 加法器
加法器用于完成二进制加法运算,常见的有半加器和全加器。
半加器不考虑来自低位的进位,输入为 A、B,输出为和位 S 与进位 C:
1 | S = A ⊕ B |
全加器考虑低位进位 Ci,输出和位 S 与向高位进位 Co:
1 | S = A ⊕ B ⊕ Ci |
多位二进制加法器可以由多个全加器级联构成。
5. 数值比较器
数值比较器用于比较两个二进制数的大小,常见输出包括:
1 | A > B |
一位数值比较器的基本逻辑为:
1 | A > B:AB' |
多位数比较时,应从高位开始比较。只有高位相等时,才继续比较低位。
四、用门电路设计组合逻辑电路
用门电路设计组合逻辑电路,就是根据实际逻辑要求,得到逻辑表达式,并用基本门或通用门实现。
1. 设计步骤
常用设计流程如下:
- 明确实际问题中的输入变量和输出变量。
- 根据逻辑要求列出真值表。
- 根据真值表写出逻辑函数表达式。
- 用公式法或卡诺图法化简逻辑函数。
- 根据化简后的表达式画出逻辑电路图。
- 检查电路功能是否与题意一致。
2. 设计示例
要求设计一个“三人表决电路”:输入为 A、B、C,表示三个人的表决意见;同意为 1,不同意为 0。当至少两人同意时,输出 F=1。
真值表如下:
| A | B | C | F |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
由真值表可得:
1 | F = A'BC + AB'C + ABC' + ABC |
化简后:
1 | F = AB + AC + BC |
因此可以用三个与门分别产生 AB、AC、BC,再用一个或门相加得到输出 F。
3. 用通用门实现
与非门和或非门都是通用门,可以实现任意逻辑函数。若只允许使用与非门,可先把函数化成与非 - 与非式。
例如:
1 | F = AB + AC + BC |
两次取反并用德摩根定律变换:
1 | F = ((AB)' · (AC)' · (BC)')' |
这样就可以用两级与非门实现。
五、用 74LS138 设计组合逻辑电路
74LS138 是 3 线 - 8 线译码器,常用于产生三变量函数的最小项。
1. 基本功能
74LS138 的主要端口为:
1 | A、B、C:地址输入端 |
正常译码的使能条件为:
1 | G1 = 1 |
因为 Y0~Y7 是低电平有效,所以当输入地址对应某个编号时,该编号输出为 0,其余输出为 1。
2. 实现逻辑函数的方法
若函数写成最小项之和:
1 | F(A,B,C) = Σm(1,3,5,7) |
则 74LS138 的 Y1、Y3、Y5、Y7 分别对应这些最小项,但这些输出是低电平有效。要得到“这些最小项相或”的结果,可使用与非门:
1 | F = (Y1 · Y3 · Y5 · Y7)' |
设计步骤:
- 将函数变量接到
74LS138的地址输入端。 - 正确连接使能端,使芯片处于工作状态。
- 根据
Σm中的最小项编号选择对应输出端。 - 因为输出低电平有效,通常把选中的输出端接入与非门。
- 与非门输出即为目标函数。
六、用 74LS151 设计组合逻辑电路
74LS151 是 8 选 1 数据选择器,可以直接实现三变量逻辑函数,也可以配合变量输入实现更多变量函数。
1. 基本功能
主要端口如下:
1 | D0~D7:数据输入端 |
使用时应使:
1 | S = 0 |
选择端 A、B、C 决定哪一路数据送到输出端。
2. 实现三变量函数
如果要实现:
1 | F(A,B,C) = Σm(1,2,6,7) |
把变量 A、B、C 接到选择端,然后根据真值表给数据端接 0 或 1:
| 最小项 | ABC | F | 数据端 |
|---|---|---|---|
| m0 | 000 | 0 | D0 = 0 |
| m1 | 001 | 1 | D1 = 1 |
| m2 | 010 | 1 | D2 = 1 |
| m3 | 011 | 0 | D3 = 0 |
| m4 | 100 | 0 | D4 = 0 |
| m5 | 101 | 0 | D5 = 0 |
| m6 | 110 | 1 | D6 = 1 |
| m7 | 111 | 1 | D7 = 1 |
这样,Y 端输出就是函数 F。
3. 实现四变量函数
若函数有四个变量,可选其中三个变量作为选择端,剩下一个变量作为数据端的取值依据。数据端可能接:
1 | 0、1、D、D' |
设计时先固定选择端变量,再分析剩余变量对输出的影响。
七、用 74LS153 设计组合逻辑电路
74LS153 是双 4 选 1 数据选择器,内部包含两个独立的 4 选 1 数据选择器,两组电路共用选择端。
1. 基本功能
常见端口功能为:
1 | A、B:公共选择端 |
使用某一组数据选择器时,对应使能端应接低电平:
1 | 1G = 0 或 2G = 0 |
2. 实现逻辑函数的方法
用 74LS153 实现逻辑函数时,通常选两个变量接公共选择端,剩余变量决定各数据端接什么。
例如要实现三变量函数 F(A,B,C),可令 A、B 接选择端。然后分别讨论 AB = 00、01、10、11 时,F 与 C 的关系。每个数据端可能接:
1 | 0、1、C、C' |
设计步骤:
- 选两个变量接选择端。
- 按选择端的四种组合分组分析函数值。
- 判断每组输出等于
0、1、C还是C'。 - 将对应数据端接到相应信号。
- 使能端接有效电平,从输出端得到目标函数。
3. 与 74LS151 的区别
| 器件 | 功能 | 选择端 | 数据端 | 典型用途 |
|---|---|---|---|---|
| 74LS151 | 8 选 1 | 3 个 | 8 个 | 直接实现三变量函数 |
| 74LS153 | 双 4 选 1 | 2 个公共选择端 | 每组 4 个 | 同时实现两个 4 选 1 选择或用较少选择端实现函数 |
八、第四章小结
本章重点可以归纳为五点:
- 组合逻辑电路由逻辑门网络组成,输出只取决于当前输入,不具有记忆功能。
- 分析组合电路时,应从输入到输出逐级写表达式,再列真值表并判断逻辑功能。
- 常见组合逻辑电路包括编码器、译码器、数据选择器、加法器和数值比较器。
- 用门电路设计组合逻辑电路时,一般按“列真值表、写表达式、化简、画电路”的步骤进行。
74LS138适合用译码输出实现最小项,74LS151和74LS153适合用数据选择方式实现逻辑函数。
第五章 触发器
触发器是时序逻辑电路中最基本的存储单元,能够保存 1 位二进制信息。组合逻辑电路的输出只取决于当前输入,而触发器具有记忆功能,它的次态不仅与输入有关,也与现态有关。
常用状态记号如下:
| 记号 | 含义 |
|---|---|
Q^n |
触发器现态,即时钟作用前的状态 |
Q^{n+1} |
触发器次态,即时钟作用后的状态 |
CP |
时钟信号 |
Q' |
Q 的反相输出 |
一、常用触发器的逻辑功能
1. SR 触发器
SR 触发器有两个输入端:S 表示置 1,R 表示置 0。
| S | R | Q^{n+1} | 功能 |
|---|---|---|---|
| 0 | 0 | Q^n | 保持 |
| 0 | 1 | 0 | 置 0 |
| 1 | 0 | 1 | 置 1 |
| 1 | 1 | 不允许 | 约束状态 |
SR 触发器的特性方程为:
1 | Q^{n+1} = S + R'Q^n |
其中 SR = 0 表示 S 和 R 不能同时为 1。如果 S = R = 1,置 1 和置 0 命令同时有效,输出状态会不确定。
2. D 触发器
D 触发器只有一个数据输入端 D。时钟有效时,次态等于输入端 D 的值。
| D | Q^{n+1} | 功能 |
|---|---|---|
| 0 | 0 | 置 0 |
| 1 | 1 | 置 1 |
D 触发器的特性方程为:
1 | Q^{n+1} = D |
D 触发器常用于寄存器、移位寄存器和数据暂存电路。
3. J-K 触发器
J-K 触发器可以看作 SR 触发器的改进型。它没有禁止状态,当 J = K = 1 时,输出翻转。
| J | K | Q^{n+1} | 功能 |
|---|---|---|---|
| 0 | 0 | Q^n | 保持 |
| 0 | 1 | 0 | 置 0 |
| 1 | 0 | 1 | 置 1 |
| 1 | 1 | (Q^n)’ | 翻转 |
J-K 触发器的特性方程为:
1 | Q^{n+1} = J(Q^n)' + K'Q^n |
4. T 触发器
T 触发器有一个控制输入端 T。当 T = 0 时保持,当 T = 1 时翻转。
| T | Q^{n+1} | 功能 |
|---|---|---|
| 0 | Q^n | 保持 |
| 1 | (Q^n)’ | 翻转 |
T 触发器的特性方程为:
1 | Q^{n+1} = T ⊕ Q^n |
也可以写成与或式:
1 | Q^{n+1} = T'Q^n + T(Q^n)' |
5. T’ 触发器
T’ 触发器也叫翻转触发器,没有控制输入端。每来一个有效时钟,输出状态翻转一次。
| 时钟有效时 | Q^{n+1} | 功能 |
|---|---|---|
| CP 有效 | (Q^n)’ | 翻转 |
T’ 触发器的特性方程为:
1 | Q^{n+1} = (Q^n)' |
T’ 触发器常用于二分频电路和计数器中。
二、触发器特性方程汇总
特性方程用来描述触发器的次态 Q^{n+1} 与输入信号、现态 Q^n 之间的关系。
| 类型 | 输入 | 特性方程 | 约束条件 |
|---|---|---|---|
| SR 触发器 | S、R |
Q^{n+1} = S + R'Q^n |
SR = 0 |
| D 触发器 | D |
Q^{n+1} = D |
无 |
| J-K 触发器 | J、K |
Q^{n+1} = J(Q^n)' + K'Q^n |
无 |
| T 触发器 | T |
Q^{n+1} = T ⊕ Q^n |
无 |
| T’ 触发器 | 无 | Q^{n+1} = (Q^n)' |
无 |
记忆时可以抓住每种触发器的核心功能:
- SR:
S置1,R置0,但不能同时有效。 - D:次态跟随
D。 - J-K:
J = K = 1时翻转。 - T:
T = 1翻转,T = 0保持。 - T’:每次时钟有效都翻转。
三、触发器之间的功能转换
触发器之间功能转换的基本思想是:用已有触发器实现目标触发器的特性方程。
设计步骤如下:
- 写出已有触发器的特性方程。
- 写出目标触发器的特性方程。
- 令两者的
Q^{n+1}相等。 - 求出已有触发器各输入端应该接入的逻辑表达式。
1. J-K 触发器转换为 D 触发器
D 触发器要求:
1 | Q^{n+1} = D |
J-K 触发器特性方程为:
1 | Q^{n+1} = J(Q^n)' + K'Q^n |
令:
1 | J = D |
代入可得:
1 | Q^{n+1} = D(Q^n)' + DQ^n = D |
所以,J-K 触发器实现 D 触发器时,应接成:
1 | J = D,K = D' |
2. J-K 触发器转换为 T 触发器
T 触发器要求 T = 0 时保持,T = 1 时翻转。J-K 触发器在 J = K = 0 时保持,在 J = K = 1 时翻转。
因此取:
1 | J = T |
即:
1 | J = K = T |
3. J-K 触发器转换为 T’ 触发器
T’ 触发器每次时钟有效都翻转,而 J-K 触发器在 J = K = 1 时翻转。
因此取:
1 | J = 1 |
4. D 触发器转换为 T 触发器
D 触发器的次态等于 D,所以只要让 D 等于 T 触发器的次态表达式即可。
T 触发器特性方程为:
1 | Q^{n+1} = T ⊕ Q^n |
因此取:
1 | D = T ⊕ Q^n |
5. D 触发器转换为 T’ 触发器
T’ 触发器要求每次时钟有效都翻转:
1 | Q^{n+1} = (Q^n)' |
D 触发器满足 Q^{n+1} = D,因此取:
1 | D = (Q^n)' |
6. D 触发器转换为 J-K 触发器
J-K 触发器目标方程为:
1 | Q^{n+1} = J(Q^n)' + K'Q^n |
D 触发器只需要令:
1 | D = J(Q^n)' + K'Q^n |
即可实现 J-K 触发器功能。
7. 转换关系小结
| 已有触发器 | 目标触发器 | 输入端连接方式 |
|---|---|---|
| J-K | D | J = D,K = D' |
| J-K | T | J = K = T |
| J-K | T’ | J = K = 1 |
| D | T | D = T ⊕ Q^n |
| D | T’ | D = (Q^n)' |
| D | J-K | D = J(Q^n)' + K'Q^n |
四、触发器的触发方式和动作特点
触发器按时钟控制方式不同,可分为时钟电平触发、时钟脉冲触发和时钟边沿触发。
1. 时钟电平触发
电平触发触发器在时钟处于有效电平期间工作。有效电平可能是高电平,也可能是低电平。
动作特点:
CP为有效电平时,输入信号的变化可能影响输出。CP为无效电平时,触发器保持原状态。- 如果有效电平持续时间较长,输入端变化可能多次影响输出。
- 电平触发结构简单,但抗干扰能力较差。
可以理解为:
1 | CP 有效电平期间:触发器“打开”,输入可以传到输出 |
2. 时钟脉冲触发
脉冲触发触发器通常由主从结构构成,在一个完整时钟脉冲过程中完成状态更新。
动作特点:
- 主触发器和从触发器在时钟的不同阶段工作。
- 输出状态通常在时钟脉冲结束时改变。
- 相比单纯电平触发,能减少同一时钟脉冲内的多次翻转问题。
- 对时钟脉冲宽度和输入稳定时间有一定要求。
典型理解:输入先被主触发器接收,随后由从触发器输出,状态变化不再贯穿整个有效电平阶段。
3. 时钟边沿触发
边沿触发触发器只在时钟信号的某一个跳变瞬间接收输入并改变状态。
常见边沿类型:
| 符号 | 含义 |
|---|---|
↑ |
上升沿触发,CP 从 0 跳变到 1 时动作 |
↓ |
下降沿触发,CP 从 1 跳变到 0 时动作 |
动作特点:
- 只有在有效边沿到来瞬间,输入信号才被采样。
- 有效边沿之间,即使输入变化,输出也保持不变。
- 抗干扰能力强,是同步时序电路中最常用的触发方式。
- 分析波形时,要先找有效边沿,再根据边沿瞬间的输入值判断
Q的次态。
4. 边沿触发器波形画法
画边沿触发器波形时,可以按以下步骤进行:
- 先确定触发器是上升沿触发还是下降沿触发。
- 在时钟波形中标出所有有效边沿。
- 只在有效边沿处观察输入信号的取值。
- 根据触发器逻辑功能求出边沿后的
Q。 - 两个有效边沿之间,
Q保持不变。
以上升沿 D 触发器为例:
1 | CP: __/‾‾\__/‾‾\__/‾‾\__ |
判断方法:每遇到一个 ↑,就把该瞬间的 D 送到 Q;在两个上升沿之间,即使 D 改变,Q 也不改变。
五、异步置数端和异步置零端
许多触发器除了同步输入端外,还带有异步控制端。异步端不受时钟 CP 控制,只要有效就立即改变输出状态。
1. 异步置数端
异步置数端也叫异步置 1 端,常用符号有 S_D、PRE、SET。
功能:
1 | 异步置数端有效 → Q = 1 |
也就是说,不管时钟信号和同步输入端是什么状态,只要异步置数端有效,触发器立即被置为 1。
2. 异步置零端
异步置零端也叫异步清零端,常用符号有 R_D、CLR、RESET。
功能:
1 | 异步置零端有效 → Q = 0 |
也就是说,不管时钟信号和同步输入端是什么状态,只要异步置零端有效,触发器立即被清零。
3. 有效电平说明
异步端有的高电平有效,有的低电平有效。若符号上带小圆圈或变量上方有横线,通常表示低电平有效。
| 异步端形式 | 有效条件 | 功能 |
|---|---|---|
S_D |
S_D = 1 |
异步置 1 |
R_D |
R_D = 1 |
异步置 0 |
S_D' |
S_D' = 0 |
异步置 1 |
R_D' |
R_D' = 0 |
异步置 0 |
使用异步端时要注意:
- 异步端优先级通常高于时钟控制端。
- 异步置数端和异步置零端一般不能同时有效。
- 初始化电路状态时,常用异步置零端把触发器清零。
六、第五章小结
本章重点可以归纳为五点:
- SR、D、J-K、T、T’ 触发器的核心区别在于输入端含义和次态变化规律。
- SR 触发器的特性方程为
Q^{n+1} = S + R'Q^n,并且必须满足约束条件SR = 0。 - 触发器之间可以通过比较特性方程实现功能转换,例如 J-K 触发器接成
J = K = T可实现 T 触发器。 - 电平触发在有效电平期间动作,脉冲触发在一个时钟脉冲过程中动作,边沿触发只在有效跳变瞬间动作。
- 异步置数端和异步置零端不受时钟控制,能够立即把触发器置
1或清0,使用时不能让二者同时有效。
第六章 时序逻辑电路
时序逻辑电路是数字电路的重要组成部分。它与组合逻辑电路不同,输出不仅与当前输入有关,还与电路过去的状态有关。因此,时序电路中通常包含触发器、寄存器或计数器等存储单元。
一、时序电路的组成、特点和分类
1. 时序电路的组成
时序逻辑电路一般由两部分组成:
- 组合逻辑电路:根据输入信号和当前状态产生输出信号、激励信号。
- 存储电路:通常由触发器构成,用来保存电路的当前状态。
可表示为:
1 | 外部输入 + 当前状态 → 组合逻辑电路 → 外部输出 + 下一状态 |
2. 时序电路的特点
时序电路的主要特点是具有记忆功能:
- 输出不仅取决于当前输入,还取决于电路原来的状态。
- 电路中必须含有存储单元。
- 状态会随着时钟或输入信号的变化而改变。
3. 时序电路的分类
按状态变化是否受统一时钟控制,可以分为同步时序电路和异步时序电路。
| 类型 | 状态变化条件 | 特点 |
|---|---|---|
| 同步时序电路 | 所有触发器受同一个时钟控制 | 分析和设计较规范,常用于复杂数字系统 |
| 异步时序电路 | 各触发器状态变化不一定由同一时钟控制 | 速度可能较快,但分析较复杂,容易受竞争冒险影响 |
同步时序电路和异步时序电路的核心区别在于:同步时序电路中各触发器在同一时钟有效边沿同时更新状态;异步时序电路中状态变化可能由输入信号或前一级触发器输出直接触发,各触发器不一定同时翻转。
二、同步时序电路的逻辑功能分析方法
同步时序电路的分析目标是根据已知电路,判断它的状态变化规律和逻辑功能。
一般步骤如下:
- 写出各触发器的激励方程。
- 根据触发器类型写出特性方程。
- 将激励方程代入特性方程,得到状态方程。
- 写出输出方程。
- 根据状态方程和输出方程列出状态表。
- 画出状态图或时序图。
- 根据状态变化规律概括电路功能。
例如,对于同步计数器,若状态按固定顺序循环变化,就可以根据状态循环个数判断它是几进制计数器。
三、用集成计数器设计任意进制计数器
常用集成计数器包括 74LS163、74LS160 等。它们可以通过清零法或置数法构成任意进制计数器。
1. 74LS163
74LS163 是同步 4 位二进制计数器,具有同步清零、同步置数、计数使能等功能。
设计任意进制计数器时,常用方法是:
- 先确定需要的模数
N。 - 找出计数过程中不需要的状态。
- 当电路计数到指定状态时,通过清零端或置数端让计数器回到初始状态。
若要用 4 位二进制计数器构成模 N 计数器,通常让它只循环 N 个有效状态。
2. 74LS160
74LS160 是十进制同步计数器,按 0000 到 1001 循环计数。它适合设计十进制以内或与十进制相关的计数电路。
使用 74LS160 设计任意进制计数器时,也可以利用清零端或置数端控制状态循环范围。例如设计六进制计数器时,可以让计数器从 0000 计到 0101,再回到 0000。
3. 常用设计方法
| 方法 | 思路 | 适用情况 |
|---|---|---|
| 清零法 | 检测到某一状态后,使计数器清零 | 从 0 开始计数的计数器 |
| 置数法 | 检测到某一状态后,使计数器装入预置数 | 需要从非零状态开始或控制循环范围时 |
设计时要注意清零端或置数端是同步有效还是异步有效。同步控制端只有在时钟有效边沿才改变状态;异步控制端一旦有效就立即改变状态。
四、寄存器和移位寄存器的逻辑功能
1. 寄存器的逻辑功能
寄存器由多个触发器组成,用来暂时存放一组二进制信息。一个触发器可以存放 1 位二进制数,n 个触发器可以组成 n 位寄存器。
寄存器的基本功能包括:
- 存放二进制数据。
- 在时钟控制下接收输入数据。
- 在需要时输出所存数据。
普通寄存器通常只完成并行输入、并行输出,即多个数据位同时写入、同时读出。
2. 移位寄存器的逻辑功能
移位寄存器不仅能存放数据,还能在时钟作用下使数据按一定方向逐位移动。
常见移位方式包括:
| 移位方式 | 功能 |
|---|---|
| 左移 | 每来一个时钟脉冲,数据整体向左移动一位 |
| 右移 | 每来一个时钟脉冲,数据整体向右移动一位 |
| 双向移位 | 可以根据控制信号选择左移或右移 |
| 循环移位 | 移出的数据重新送回另一端 |
移位寄存器可用于串并转换、数据暂存、数据移位和序列信号产生等场合。
五、第六章小结
本章重点可以归纳为四点:
- 时序电路由组合逻辑电路和存储电路组成,具有记忆功能。
- 同步时序电路由统一时钟控制,异步时序电路不一定由统一时钟控制。
- 分析同步时序电路时,通常按激励方程、状态方程、输出方程、状态表和状态图的顺序进行。
74LS163、74LS160等集成计数器可通过清零法或置数法设计任意进制计数器;寄存器用于存放数据,移位寄存器还能实现数据逐位移动。
第九章 脉冲波形的产生与整形
脉冲波形的产生与整形电路常用于数字系统的信号变换、延时、定时和振荡。常见电路包括施密特触发器、单稳态触发器和多谐振荡器,其中 555 定时器是构成这些电路的典型集成器件。
一、三种常用脉冲电路的特点
1. 施密特电路
施密特电路也叫施密特触发器,主要用于波形整形和幅度鉴别。它具有两个不同的阈值电压:上限阈值电压 V_T+ 和下限阈值电压 V_T-。
主要特点:
- 输入为缓慢变化或带干扰的信号时,输出能迅速翻转为矩形波。
- 具有回差特性,即输入上升和下降时的翻转阈值不同。
- 抗干扰能力强,常用于信号整形、去抖动和电平转换。
2. 单稳态电路
单稳态电路只有一个稳定状态和一个暂稳状态。在外加触发脉冲作用下,电路从稳定状态进入暂稳状态,经过一定时间后自动返回稳定状态。
主要特点:
- 没有触发信号时,电路保持稳定状态。
- 每来一个有效触发脉冲,输出一个固定宽度的矩形脉冲。
- 输出脉冲宽度主要由外接
R、C参数决定。
3. 多谐振荡电路
多谐振荡电路没有稳定状态,只有两个暂稳状态。电路不需要外加触发信号,就能自动周期性翻转,产生连续矩形波。
主要特点:
- 能自激振荡,输出周期性脉冲波形。
- 输出频率和占空比通常由外接
R、C参数决定。 - 常用于时钟脉冲、方波信号和定时信号的产生。
二、施密特电路的电压传输特性
施密特电路的电压传输特性曲线体现了输出电压随输入电压变化的翻转规律。由于存在两个阈值电压,曲线具有回差现象。
1. 同相输出施密特电路
同相输出时,输出电平变化方向与输入变化方向一致:
- 当输入电压
u_i上升并超过V_T+时,输出由低电平跳变为高电平。 - 当输入电压
u_i下降并低于V_T-时,输出由高电平跳变为低电平。
1 | 同相输出: |
2. 反相输出施密特电路
反相输出时,输出电平变化方向与输入变化方向相反:
- 当输入电压
u_i上升并超过V_T+时,输出由高电平跳变为低电平。 - 当输入电压
u_i下降并低于V_T-时,输出由低电平跳变为高电平。
1 | 反相输出: |
其中,回差电压为:
1 | ΔV_T = V_T+ - V_T- |
回差电压越大,电路抗干扰能力越强。
三、施密特电路和单稳态电路的输出波形
1. 施密特电路输出波形
施密特电路常把缓慢变化的输入信号整形成边沿陡峭的矩形波。判断输出波形时,应重点观察输入信号何时超过 V_T+ 或低于 V_T-。
以同相输出为例:
1 | u_i: /‾‾\ /‾‾\ |
反相输出时,输出波形与同相输出相反。
2. 单稳态电路输出波形
单稳态电路在触发脉冲作用下输出一个固定宽度的脉冲。即使触发脉冲很窄,输出脉冲宽度也由电路参数决定。
1 | 触发输入:__|‾|__________|‾|________ |
其中,T_W 表示单稳态电路输出脉冲宽度。
四、555 定时器的三个基本应用
555 定时器内部通常由分压器、两个电压比较器、基本 RS 触发器、放电管和输出缓冲级组成。其典型比较电平为 1/3V_CC 和 2/3V_CC。
1. 555 构成施密特电路
将 555 定时器的触发端 TR 和阈值端 TH 接在一起作为输入端时,可以构成施密特电路。
基本特点:
- 输入电压上升到
2/3V_CC时,输出翻转。 - 输入电压下降到
1/3V_CC时,输出再次翻转。 - 回差电压为
1/3V_CC。
1 | V_T+ = 2/3 V_CC |
2. 555 构成单稳态电路
555 构成单稳态电路时,外接电阻 R 和电容 C 决定输出脉冲宽度。触发信号使输出进入暂稳态,电容充电到 2/3V_CC 后,输出返回稳定状态。
输出脉冲宽度近似为:
1 | T_W = 1.1RC |
波形特点:
1 | 触发输入:__|‾|________________ |
3. 555 构成多谐振荡电路
555 构成多谐振荡电路时,不需要外加触发脉冲,电容在 1/3V_CC 和 2/3V_CC 之间反复充放电,输出连续矩形波。
常见参数计算公式为:
1 | T_H = 0.7(R_1 + R_2)C |
其中,T_H 为输出高电平持续时间,T_L 为输出低电平持续时间,T 为周期,f 为振荡频率,q 为占空比。
输出波形:
1 | 电容电压:__/‾\__/‾\__/‾\__ |
五、第九章小结
本章重点可以归纳为四点:
- 施密特电路具有回差特性,适合波形整形和抗干扰;单稳态电路能输出固定宽度脉冲;多谐振荡电路能自动产生周期性矩形波。
- 施密特电路的同相输出和反相输出电压传输特性相反,但都由
V_T+和V_T-两个阈值控制。 - 画施密特电路波形时,要抓住输入跨越两个阈值的时刻;画单稳态电路波形时,要抓住触发脉冲和输出脉宽
T_W。 555定时器可构成施密特电路、单稳态电路和多谐振荡电路,常用参数包括阈值电压、输出脉宽、周期、频率和占空比。
📊 版本迭代记录
| 版本 | 日期 | 更新内容 |
|---|---|---|
| v0.0.1 | 2026-05-19 | 初始版本,整理第一章数制与码制基础内容,补充数制转换、二进制算术、BCD 码、格雷码、ASCII 码等内容 |
| v0.0.2 | 2026-05-19 | 补充原码、反码、补码章节,说明三者意义、计算方法、补码还原、表示范围、位数判断和补码运算示例 |
| v0.0.3 | 2026-05-19 | 新增第二章逻辑代数基础,包含基本逻辑门、逻辑函数表示方法、最小项、逻辑函数化简和与非-与非式转换 |
| v0.0.4 | 2026-05-22 | 新增第四章组合逻辑电路,补充组合电路特点、分析与设计方法、常用组合逻辑电路及 74LS138、74LS151、74LS153 应用 |
| v0.0.5 | 2026-05-22 | 新增第五章触发器,补充 SR、D、J-K、T、T’ 触发器逻辑功能、特性方程、功能转换、触发方式和异步控制端 |
| v0.0.6 | 2026-05-24 | 新增第六章时序逻辑电路,补充时序电路组成、分类、同步时序电路分析方法、集成计数器任意进制设计、寄存器和移位寄存器逻辑功能 |
| v0.0.7 | 2026-05-24 | 新增第九章脉冲波形的产生与整形,补充施密特电路、单稳态电路、多谐振荡电路和 555 定时器基本应用 |