数制
- 位权
- 二进制 2k,八进制 8k,十六进制 16k
- 转为十进制
- Σ dk·bk
- 从十进制转换
- 除以基数,余数从下往上读
- 十六进制 ↔ 二进制
- 一位十六进制数 = 4 位二进制
- 二进制补码
- 按位取反后加 1
公式表、每个专题的关键方法步骤和 6 道练习题,完整解答附在最后。
设置各位,使其以 8 位补码存储 −79。按无符号数读取,该位模式的值 U 是多少?
把各位设置为 0100 0101 >> 2 的 8 位结果。该结果的十进制值 R 是多少?
用卡诺图求 F(A, B, C, D) = Σm(2, 5, 8, 9, 12, 13, 15) 的最简积之和 (SOP) 形式。它总共包含多少个文字 L(带撇的变量算一个文字)?
求 F(A, B, C, D) = Σm(5, 6, 7, 9, 10) + d(3, 11, 15) 的最简 SOP 形式,其中 d 表示无关项。它包含多少个文字 L?
一条 UART 以 2400 波特、8E1 格式发送字节:8 个数据位、一个偶校验位和 1 个停止位,外加起始位。求它每秒最多能传输多少个数据字节。
一个 8 通道的多路复用器为一个 ADC 供给信号。每次转换需要 10 µs,每次切换通道后输入还需要 2.5 µs 建立。各通道不间断地依次扫描。求每个通道的采样率 fs,单位 kHz。
答案: U = 177
设置比特位:每一位对应 2 的一个幂(128、64、…、1)。一个十六进制数字恰好是四位,在 8 位补码中最左边的位权重为 −128。按位运算对每个位位置分别进行。
答案: R = 17
设置比特位:每一位对应 2 的一个幂(128、64、…、1)。一个十六进制数字恰好是四位,在 8 位补码中最左边的位权重为 −128。按位运算对每个位位置分别进行。
右移 2 位,把每一位向右移动 2 个位置;从右端移出的位丢失,左侧补入 0。
答案: L = 12
卡诺图:各格按格雷码(00, 01, 11, 10)排列,所以相邻的格子(包括跨越边界的格子)恰好只有一个变量不同。把 1 圈成由 1、2、4、8 或 16 个格子组成的矩形,圈尽可能大、尽可能少,直到每个 1 都被覆盖。每个圈对应一个乘积项:圈内保持不变的变量。由 2ᵏ 个格子组成的圈会消去 k 个变量。无关项 (X) 可用来使圈变大,但不必被覆盖。改为圈 0 则得到最简 POS 形式。
每个圈都是由 2ᵏ 个格子组成的矩形;边上的格子与对边上的格子相邻。
答案: L = 12
卡诺图:各格按格雷码(00, 01, 11, 10)排列,所以相邻的格子(包括跨越边界的格子)恰好只有一个变量不同。把 1 圈成由 1、2、4、8 或 16 个格子组成的矩形,圈尽可能大、尽可能少,直到每个 1 都被覆盖。每个圈对应一个乘积项:圈内保持不变的变量。由 2ᵏ 个格子组成的圈会消去 k 个变量。无关项 (X) 可用来使圈变大,但不必被覆盖。改为圈 0 则得到最简 POS 形式。
由 1 和 X 能够构成的最大的圈。
答案: RB = 218.2 B/s
UART:异步串行链路把每个字节作为一帧发送:一个起始位(低电平)、若干数据位、一个可选的校验位以及一个或两个停止位(高电平)。波特率是每秒的位数,所以一位持续 Tb = 1/波特率,n 位的一帧持续 n/波特率。常见的 8N1 格式每个字节占 10 位。波特率发生器对时钟分频:波特率 = fclk/(16·D),其中 D 为整数,因此实际波特率与目标值略有差别;误差在约 2 % 以内通常可以接受。
答案: fs = 10 kHz
数据速率:每个通道每秒提供 fs 个 N 位的采样,因此原始速率为 通道数 × fs × N bit/s。在内存中一个采样占用整数个字节(12 位采样存为 2 个字节),因此一段记录的内存为 通道数 × fs × 每个采样的字节数 × 时间。多路复用 ADC 依次转换各通道:每次转换(含建立时间)需要 t,所以 n 个通道转一轮需要 n·t,每个通道的采样频率为 1/(n·t)。
ExamProblems · examproblems.com/courses/digital-electronics