数制
- 位权
- 二进制 2k,八进制 8k,十六进制 16k
- 转为十进制
- Σ dk·bk
- 从十进制转换
- 除以基数,余数从下往上读
- 十六进制 ↔ 二进制
- 一位十六进制数 = 4 位二进制
- 二进制补码
- 按位取反后加 1
公式表、每个专题的关键方法步骤和 6 道练习题,完整解答附在最后。
把 −82 写成 8 位补码模式。再把该模式当作无符号二进制数读出:它的十进制值 U 是多少?
12 位补码能存储的最小(最负)整数 N 是多少?
用卡诺图求 F(A, B, C) = Σm(0, 1, 3, 7) 的最简积之和 (SOP) 形式。它总共包含多少个文字 L(带撇的变量算一个文字)?
一个 8 位行波(异步)计数器由传播延迟均为 25 ns 的触发器构成。所有输出必须在下一个时钟边沿之前稳定下来。求最高时钟频率 fmax。
一台记录仪用 24 位 ADC 对 8 个通道各以 20 kHz 采样。每个采样点以整数个字节存储。求 15 min 记录所需的内存 M,单位 MB(1 MB = 10⁶ 字节)。
一个时钟为 2 MHz 的微控制器把其 UART 波特率设为 fclk/(16·D),其中 D 是四舍五入到最接近值的整数。目标是 9600 波特。求实际波特率的百分比误差(偏快时为正)。
答案: U = 174
位置计数制:每个数位的值等于该数字乘以基数的某次幂。二进制各位的权为 1、2、4、8、16、……;十六进制为 1、16、256、……,A–F 代表 10–15。在 8 位补码中,最左边一位的权是 −128 而不是 +128,负数就是这样存储的。
答案: N = −2048
位置计数制:每个数位的值等于该数字乘以基数的某次幂。二进制各位的权为 1、2、4、8、16、……;十六进制为 1、16、256、……,A–F 代表 10–15。在 8 位补码中,最左边一位的权是 −128 而不是 +128,负数就是这样存储的。
答案: L = 4
卡诺图:各格按格雷码(00, 01, 11, 10)排列,所以相邻的格子(包括跨越边界的格子)恰好只有一个变量不同。把 1 圈成由 1、2、4、8 或 16 个格子组成的矩形,圈尽可能大、尽可能少,直到每个 1 都被覆盖。每个圈对应一个乘积项:圈内保持不变的变量。由 2ᵏ 个格子组成的圈会消去 k 个变量。无关项 (X) 可用来使圈变大,但不必被覆盖。改为圈 0 则得到最简 POS 形式。
每个圈都是由 2ᵏ 个格子组成的矩形;边上的格子与对边上的格子相邻。
答案: fmax = 5 MHz
触发器与计数器:触发器只在时钟的有效边沿改变。D 复制其输入 (Q⁺ = D);T 在 T = 1 时翻转;JK 在 00 时保持,01 时复位,10 时置位,11 时翻转。n 位二进制计数器有 2ⁿ 个状态,按模 2ⁿ 计数;模 N 计数器依次计 0, 1, …, N − 1 然后回到 0,需要满足 2ⁿ ≥ N 的最小 n 个触发器。行波计数器的每一级使频率减半,所以模 N 计数器的最后一级输出频率为 fclk/N。n 个触发器的约翰逊计数器有 2n 个状态,环形计数器有 n 个。
答案: M = 432 MB
数据速率:每个通道每秒提供 fs 个 N 位的采样,因此原始速率为 通道数 × fs × N bit/s。在内存中一个采样占用整数个字节(12 位采样存为 2 个字节),因此一段记录的内存为 通道数 × fs × 每个采样的字节数 × 时间。多路复用 ADC 依次转换各通道:每次转换(含建立时间)需要 t,所以 n 个通道转一轮需要 n·t,每个通道的采样频率为 1/(n·t)。
答案: e = 0.1603 %
UART:异步串行链路把每个字节作为一帧发送:一个起始位(低电平)、若干数据位、一个可选的校验位以及一个或两个停止位(高电平)。波特率是每秒的位数,所以一位持续 Tb = 1/波特率,n 位的一帧持续 n/波特率。常见的 8N1 格式每个字节占 10 位。波特率发生器对时钟分频:波特率 = fclk/(16·D),其中 D 为整数,因此实际波特率与目标值略有差别;误差在约 2 % 以内通常可以接受。
误差低于约 2 % 通常可以接受。
ExamProblems · examproblems.com/courses/digital-electronics