12th第一次省赛.客观题笔记

:trophy: 12th第一次省赛.客观题笔记

:date: 整理日期:2026-03-08
:pushpin: 题型:不定项选择(3 分 / 题,共 10 题,合计 30 分)
:bullseye: 本套题方向:MCS-51 中断系统、串口通信、模拟电路、数字逻辑、C 语言、IAP15F2K61S2 ADC


:bar_chart: 成绩总览

题号 主题 题型 正确答案 你的答案 结果
1 MCS-51 外部中断请求标志 单选 B C :cross_mark: 答错
2 串口通信波特率单位 单选 B AD :cross_mark: 答错
3 放大电路开环定义 单选 C C :white_check_mark: 答对
4 布尔代数等价表达式 单选 B B :white_check_mark: 答对
5 非时序逻辑电路识别 单选 C B :cross_mark: 答错
6 do-while 语句特性 单选 B B :white_check_mark: 答对
7 电压增益 dB 换算 单选 D D :white_check_mark: 答对
8 IAP15F2K61S2 特性判断 多选 AC D :cross_mark: 答错
9 多级放大电路通频带 单选 B B :white_check_mark: 答对
10 ADC 电压计算(ADRJ=0) 单选 A C :cross_mark: 答错

:white_check_mark: 答对:5 题(15 分) :cross_mark: 答错:5 题(0 分) 得分率:50%


:memo: 题目详解


第(1)题 · MCS-51 外部中断1的请求标志 · 单选 · :cross_mark: 答错(你选 C,正确答案 B)

题目:
MCS-51 单片机外部中断 1 的中断请求标志是()

选项:

  • A. ET1

  • B. IE1 :white_check_mark:

  • C. TF1

  • D. IT1

:white_check_mark: 正确答案:B(IE1)

解析:

在 MCS-51 的 TCON 寄存器(D8H) 中,8 个位的含义如下:

TCON 寄存器位功能表(位 7 → 位 0):
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0
 7     6     5     4     3    2     1     0
  • IE1(bit 3)= 外部中断 1 的中断请求标志位 ← 正确答案!当 INT1 引脚触发中断时,IE1 自动被硬件置 1;CPU 响应中断后自动清 0(边沿触发模式)。

  • IT1(bit 2)= 外部中断 1 的触发方式控制位(0 = 低电平触发,1 = 下降沿触发)

  • TF1(bit 7)= 定时器 1 溢出标志位(你选的 C 就是这个!是 T1 的标志,不是外部中断的!

  • ET1 = 定时器 1 的中断使能位,属于 IE 寄存器(A9H),不是 TCON 里的请求标志

:warning: 易错点:TF1 是 Timer1 的溢出标志,IE1 才是外部中断 1 的请求标志!字母含义:T=Timer,E=External,F=Flag,I=Interrupt。

:light_bulb: 记忆技巧: TCON 里的标志位命名规律:

  • 定时器类:TF0(Timer0 Flag)、TF1(Timer1 Flag)

  • 外部中断类:IE0(Int External 0 flag)、IE1(Int External 1 flag)

  • 两个 IT 是触发方式(Interrupt Type),不是标志!

:books: 拓展知识——MCS-51 中断系统速查:

中断源 请求标志 使能位 向量地址
外部中断 0(INT0) IE0(TCON.1) EX0(IE.0) 0003H
定时器 0(T0) TF0(TCON.5) ET0(IE.1) 000BH
外部中断 1(INT1) IE1(TCON.3) EX1(IE.2) 0013H
定时器 1(T1) TF1(TCON.7) ET1(IE.3) 001BH
串口(UART) TI/RI(SCON) ES(IE.4) 0023H

第(2)题 · 串口通信波特率单位 · 单选 · :cross_mark: 答错(你选 AD,正确答案 B)

题目:
串口通信中用于描述通信速度的波特单位是()

选项:

  • A. 字节/秒

  • B. 位/秒 :white_check_mark:

  • C. 帧/秒

  • D. 字/秒

:white_check_mark: 正确答案:B(位/秒)

解析:

波特(Baud) 由法国工程师 Émile Baudot 命名,定义为"每秒传输的码元(符号)数"。

在异步串行通信中,每个码元就是 1 个二进制位,因此:

  • 波特率 = 每秒传输的位数 = 位/秒(bps)

  • 常用波特率:9600 bps、19200 bps、115200 bps

其他选项分析:

  • A. 字节/秒:是吞吐量单位,不是波特率单位(字节/秒 = 位/秒 ÷ 8)

  • C. 帧/秒:是视频帧率或通信帧率,与波特率概念不同

  • D. 字/秒:无标准定义,错误

:warning: 易错点:注意区分 波特率(Baud,符号/秒)和 比特率(bps,位/秒)。在二进制通信中数值相等,但概念有区别。你选了 AD(字节/秒 + 字/秒),这两个都是完全错误的单位!

:light_bulb: 记忆技巧: Baud = Baudot(人名)= 每秒传多少个"1或0"= 位/秒。蓝桥杯考题中波特率 = 位/秒 ,记住这个结论就够了!

:books: 拓展知识——STC15F2K60S2 常用波特率配置:

使用定时器 1 工作在模式 2(8 位自动重装),以 11.0592MHz 晶振为例:

波特率 = 晶振频率 / (32 × 12 × (256 - TH1))  [12T 模式]
波特率 = 晶振频率 / (32 × 1 × (256 - TH1))   [1T 模式,STC15 默认]
​
9600 bps,1T,11.0592MHz → TH1 = TL1 = 0xFA

常用"11.0592MHz 晶振"的原因:能整除出精准波特率,不产生误差!蓝桥杯板载晶振为 12MHz,配置串口时需特别计算。


第(3)题 · 放大电路开环定义 · 单选 · :white_check_mark: 答对

题目:
放大电路的开环指的是()

选项:

  • A. 无负载

  • B. 无信号源

  • C. 无反馈通路 :white_check_mark:

  • D. 未接入电源

:white_check_mark: 正确答案:C(无反馈通路)

解析:

“开环”(Open Loop)的本质是断开反馈回路,使信号只能单向从输入流向输出,不存在从输出返回输入的路径。

  • “开环增益”(Open-loop Gain)= 放大电路在无反馈条件下的电压放大倍数,通常记为 A(或 Aod)

  • 加了反馈就叫"闭环"(Closed Loop)

  • 负反馈闭环:降低增益,但改善稳定性、展宽频带、减小失真

错误选项:

  • A. 无负载:叫"空载",与开环/闭环无关

  • B. 无信号源:叫"零输入"

  • D. 未接入电源:电路无法工作,不是"开环"概念

:light_bulb: 记忆技巧: “开环”= 反馈回路"开(断开)"了 → 无反馈通路!

:books: 拓展知识——负反馈四种组态:

组态 取样方式 接入方式 稳定的量
电压串联负反馈 电压取样 串联接入 输出电压
电压并联负反馈 电压取样 并联接入 输出电压
电流串联负反馈 电流取样 串联接入 输出电流
电流并联负反馈 电流取样 并联接入 输出电流

负反馈的作用口诀:“降益稳放宽带宽,减失真抗扰抗干扰”


第(4)题 · 布尔代数等价表达式 · 单选 · :white_check_mark: 答对

题目:
与 A+B+C 相等的表达式是()

选项:

  • A. Ā·B̄·C̄

  • B. 非(Ā·B̄·C̄) :white_check_mark:(即对 Ā·B̄·C̄ 整体取反)

  • C. Ā+B̄+C̄

  • D. Ā·B̄+C

:white_check_mark: 正确答案:B(Ā·B̄·C̄ 整体取反)

解析:

运用 德摩根定律(De Morgan’s Laws)

德摩根第一定律: 非(A+B+C) = Ā·B̄·C̄

两边同时取反:

A+B+C = 非(Ā·B̄·C̄)

这就是选项 B(对 Ā·B̄·C̄ 整体加非号)。

验证其他选项:

  • A. Ā·B̄·C̄ = 非(A+B+C),与 A+B+C 互为反函数 :cross_mark:

  • C. Ā+B̄+C̄ = 非(A·B·C)(德摩根第二定律),不等于 A+B+C :cross_mark:

  • D. Ā·B̄+C 是别的表达式,显然不等 :cross_mark:

:light_bulb: 记忆技巧——德摩根两条定律:

  • 非(A+B) = Ā·B̄ (或运算取反 = 各自取反后做与)

  • 非(A·B) = Ā+B̄ (与运算取反 = 各自取反后做或)

  • 口诀: “断开线,改符号”——横线断开,运算符号 + ↔ ·

:books: 拓展知识——蓝桥杯常考布尔化简方法:

常用公式速查:

  • 吸收律:A + A·B = A;A·(A+B) = A

  • 冗余律:A + Ā·B = A + B

  • 同一律:A + 0 = A;A·1 = A

  • 互补律:A + Ā = 1;A·Ā = 0

  • 双非:非(非A) = A

  • 德摩根:非(A+B) = Ā·B̄;非(A·B) = Ā+B̄


第(5)题 · 非时序逻辑电路识别 · 单选 · :cross_mark: 答错(你选 B,正确答案 C)

题目:
下列哪个电路不是时序逻辑电路()

选项:

  • A. 计数器

  • B. 寄存器

  • C. 译码器 :white_check_mark:

  • D. 触发器

:white_check_mark: 正确答案:C(译码器)

解析:

首先明确两类逻辑电路的本质区别:

类型 特征 有无记忆
组合逻辑电路 输出只取决于当前输入 :cross_mark:
时序逻辑电路 输出取决于当前输入 + 历史状态 :white_check_mark:

各选项分析:

  • A. 计数器:靠触发器记住当前计数值 → 时序

  • B. 寄存器:靠触发器存储数据位 → 时序 ✓(你答 B 是错的!寄存器内部有 D 触发器,当然是时序电路!

  • C. 译码器:2-4 线译码器、3-8 线译码器(蓝桥杯板上的 74HC138!)输出完全由当前输入决定,无内部存储 → 组合

  • D. 触发器:是时序电路的最基本单元,本身就有存储功能 → 时序

:warning: 易错点:寄存器(Register)由 D 触发器构成,有存储能力,是时序电路!不要因为"寄存器只存数据,功能简单"就误认为是组合电路。

:light_bulb: 记忆技巧: 有没有"记忆"功能是关键。译码器只是"翻译"地址,没有记忆,是纯组合电路。蓝桥杯板上的 74HC138(3-8 译码器)用于选通 LED 和数码管,正是典型组合逻辑元件!

:books: 拓展知识——蓝桥杯板 74HC138 使用方式:

74HC138 (3-8线译码器) 在蓝桥杯板上的作用:
   - Y0~Y5 控制 LED 锁存器、数码管位选等外设
   - 输入:P2[5:7] = A、B、C 三位地址
   - 输出:低电平有效,对应 Y0~Y7 之一
​
P2 操作套路(写完马上恢复为 0xFF 释放总线):
   P2 = (P2 & 0x1F) | 0x80;  // Y4:LED 控制
   P0 = led_val;
   P2 = (P2 & 0x1F);         // 关闭译码器

第(6)题 · do-while 语句特性 · 单选 · :white_check_mark: 答对

题目:
下列关于 do-while 语句的说法正确的是()

选项:

  • A. 可能一次都不执行

  • B. 至少执行一次 :white_check_mark:

  • C. 先判断条件,再执行循环体

  • D. 以上说法均不正确

:white_check_mark: 正确答案:B(至少执行一次)

解析:

do-while 的执行顺序:

do {
    // 循环体先执行
} while (条件);  // 条件后判断

执行流程:先执行循环体 → 再判断条件 → 为真则再循环,为假则退出

因此无论条件是否满足,循环体至少会被执行一次

对比 while 和 do-while:

语句 执行顺序 最少执行次数
while (条件) { … } 先判断后执行 0 次
do { … } while (条件); 先执行后判断 至少 1 次
for (;:wink: { … } 先判断后执行 0 次

:light_bulb: 记忆技巧: do-while = “做了再说”,先 do(做)再 while(判断)!

:books: 拓展知识——蓝桥杯中 do-while 的实际应用:

// 按键消抖常见写法,适合用 do-while 保证至少读一次
uint8_t key_scan(void) {
    uint8_t key_val = 0;
    do {
        key_val = P3 & 0x0F;  // 读按键
    } while (key_val == last_key_val);  // 等待稳定(实际消抖更复杂)
    return key_val;
}
​
// 更常见的 while 延时等待写法:
while (DS18B20_busy());  // 等待传感器就绪(可能 0 次)

第(7)题 · 电压增益 dB 换算 · 单选 · :white_check_mark: 答对

题目:
当放大电路的电压增益为 -20dB 时,说明它的电压放大倍数为()

选项:

  • A. -20 倍

  • B. 20 倍

  • C. 10 倍

  • D. 0.1 倍 :white_check_mark:

:white_check_mark: 正确答案:D(0.1 倍)

解析:

电压增益与电压放大倍数的换算公式:

增益(dB)= 20 × log10(|Av|)

已知增益 = -20dB,代入求 |Av|:

-20 = 20 × log10(|Av|)
log10(|Av|) = -1
|Av| = 10^(-1) = 0.1

所以电压放大倍数 = 0.1 倍(即输出是输入的十分之一,实为"衰减"而非放大)。

增益为负(dB 值为负)说明电路对信号有衰减作用,输出幅度小于输入。

常用 dB 值对照速查:

增益(dB) 电压放大倍数
+40 dB 100 倍
+20 dB 10 倍
+6 dB ≈ 2 倍
0 dB 1 倍(增益为 1)
-6 dB ≈ 0.5 倍
-20 dB 0.1 倍
-40 dB 0.01 倍

:warning: 易错点:增益 -20dB 不等于放大倍数 -20,放大倍数没有负号(负号表示反相,绝对值才是倍数)!

:light_bulb: 记忆技巧: 每增加 20dB,放大倍数 ×10;每减少 20dB,放大倍数 ÷10。从 0dB(1倍)出发:-20dB = 1÷10 = 0.1 倍。

:books: 拓展知识——dB 在滤波器设计中的应用:

  • -3dB 点:对应放大倍数 = 1/√2 ≈ 0.707,是截止频率(通频带边界)

  • -3dB 带宽 = 上截止频率 - 下截止频率 = BW

  • 功率增益:Ap(dB) = 10 × log10(Po/Pi)(注意是 10 倍,不是 20 倍!)

  • 电压/电流增益:Au/Ai(dB) = 20 × log10(Vo/Vi)(20 倍)


第(8)题 · IAP15F2K61S2 特性判断 · 多选 · :cross_mark: 答错(你选 D,正确答案 AC)

题目:
关于 IAP15F2K61S2 单片机,以下说法中正确的有()

选项:

  • A. 主时钟可以是内部 R/C 时钟,也可以是外部晶体产生的时钟。 :white_check_mark:

  • B. 提供 14 个中断源请求,所有中断源均具有 2 个中断优先级。

  • C. 具有 2 个串行通信端口,每个端口均可以同时收、发数据。 :white_check_mark:

  • D. 2K SRAM,最高运行主频 24MHz。

:white_check_mark: 正确答案:A、C

解析:

逐项分析:

A. :white_check_mark: 正确
IAP15F2K61S2(STC15 系列)支持双时钟源:

  • 内部高精度 IRC(Internal R/C Oscillator):出厂已校准,精度约 ±1%,无需外部晶体也能工作

  • 外部晶体振荡器:接在 XTAL1/XTAL2 引脚,适合对时序精度要求极高的场合

B. :cross_mark: 错误!关键错误在"2 个中断优先级"

  • “提供 14 个中断源请求”::white_check_mark: 正确(STC15F2K60S2/IAP15F2K61S2 确实有 14 个中断源)

  • “所有中断源均具有 2 个中断优先级”::cross_mark: 错误!STC15 系列升级为 4 级中断优先级,而非传统 8051 的 2 级!通过 IPH 和 IP 两个寄存器的组合(PX0H+PX0)实现 4 级配置(00/01/10/11)。

C. :white_check_mark: 正确
IAP15F2K61S2 内置 UART1 和 UART2 两个串行通信端口:

  • 每个 UART 都是全双工(Full Duplex):TXD 发送、RXD 接收互相独立,可同时工作

  • UART1 默认在 P3.0(RXD)/ P3.1(TXD),可切换到 P3.6/P3.7

  • UART2 在 P1.0(RXD2)/ P1.1(TXD2)

D. :cross_mark: 错误!关键错误在最高主频

  • “2K SRAM”::white_check_mark: 正确(IAP15F2K61S2 有 2048 字节内部 SRAM)

  • “最高运行主频 24MHz”::cross_mark: 错误!IAP15F2K61S2 最高工作频率可达 35MHz,24MHz 只是常用外部晶振频率之一,并非最大值。蓝桥杯板通常使用 12MHz 晶振,内部 IRC 可调到更高频率。

:warning: 易错点 1:STC15 是 4 级中断优先级,不是传统 8051 的 2 级!
:warning: 易错点 2:24MHz 不是 IAP15F2K61S2 的最高频率,35MHz 才是上限!

:light_bulb: 记忆技巧:IAP15F2K61S2 = 61KB Flash + 2KB SRAM + 2个UART + 4级中断 + 最高35MHz + 内部IRC + 1T架构

:books: 拓展知识——IAP15F2K61S2 与传统 8051 对比:

特性 传统 MCS-51 IAP15F2K61S2(STC15)
指令架构 12T(12 个时钟/机器周期) 1T(1 个时钟/机器周期)
中断优先级 2 级 4 级
中断源数量 5 个 14 个
串口数量 1 个 2 个
内置 ADC 10 位,8 通道
PWM 输出 7 路 PCA/PWM
内部 RC 振荡 有,出厂校准
EEPROM IAP 方式模拟

第(9)题 · 多级放大电路通频带 · 单选 · :white_check_mark: 答对

题目:
理论上,多级放大电路和组成它的各单级放大电路相比,通频带()

选项:

  • A. 变宽

  • B. 变窄 :white_check_mark:

  • C. 不变

  • D. 无关联

:white_check_mark: 正确答案:B(变窄)

解析:

将 n 个相同单级放大器级联,每级的上截止频率为 fH、下截止频率为 fL,则多级总通频带:

总 BW = BW × 根号下(2的(1/n)次方 - 1)

(其中 BW = fH - fL 为单级带宽)

以 2 级为例:总 BW ≈ 0.64 × 单级 BW

这说明每增加一级,总通频带都会收窄

直觉理解:每一级放大器都对高频和低频有所截止,级联后高频截止点下移(从 fH 降为更低的 fH_total),低频截止点上移,所以通频带必然变窄。

错误选项排除:

  • A. 变宽:错误,级联只会让带宽更窄,不会更宽

  • C. 不变:错误,各级独立截止效应叠加,必然变窄

  • D. 无关联:错误,各级频率特性相乘,带宽肯定有影响

:warning: 易错点:多级放大电路总增益 = 各级增益之积(dB 相加),但总带宽比每级都窄!增益上去了,带宽却下来了——这是放大器设计的核心矛盾!

:light_bulb: 记忆技巧: “多级串联,带宽缩水”。就像通过多道关卡,每道关卡都会拦截一些频率,通过所有关卡的频率范围自然越来越窄。

:books: 拓展知识——增益带宽积(GBW):

对于单个运算放大器,增益 × 带宽 = 常数(Gain-Bandwidth Product)

  • 增益调高,带宽变窄

  • 增益调低,带宽变宽

  • GBW 是 OpAmp 的重要参数(如 LM358 的 GBW ≈ 1MHz)

这就是为什么高增益放大器通常带宽窄,而宽带放大器往往增益不高!


第(10)题 · ADC 电压计算(ADRJ=0)· 单选 · :cross_mark: 答错(你选 C,正确答案 A)

题目:
5V 供电的情况下,使用 IAP15F2K61S2 的 AD 功能,配置 ADRJ 位为 0,当 ADC_RES 寄存器值为 30H,ADC_RESL 寄存器值为 03H 时,AD 转换的结果应为()

选项:

  • A. 0.93V :white_check_mark:

  • B. 3.98V

  • C. 2.02V

  • D. 0.95V

:white_check_mark: 正确答案:A(0.93V)

解析:

第一步:理解 ADRJ=0 的数据存储格式(左对齐模式)

ADRJ=0 时(左对齐,高位优先):
┌─────────────────────────────────────────────┐
│  ADC_RES[7:0]  存储 ADC 结果的高 8 位 [9:2] │
│  ADC_RESL[7:6] 存储 ADC 结果的低 2 位 [1:0] │
│  ADC_RESL[5:0] 恒为 0                       │
└─────────────────────────────────────────────┘

第二步:提取 10 位 ADC 原始值

ADC_RES  = 0x30 = 0011 0000(这是结果的 bit9 ~ bit2)
ADC_RESL = 0x03 = 0000 0011
​
ADC_RESL[7] = bit7 of 0x03 = 0  → 结果的 bit1 = 0
ADC_RESL[6] = bit6 of 0x03 = 0  → 结果的 bit0 = 0
​
10位 ADC 结果 = [ 0011 0000 ][ 0 0 ]
             =   0011 0000 00(二进制)
             = 192(十进制)

:warning: 注意:ADC_RESL = 0x03,但有效的两位是 bit7 和 bit6,而 0x03 的 bit7=0、bit6=0,所以低两位贡献为 0!0x03 里的 “11” 在低位(bit1、bit0),ADRJ=0 时不参与计算!

第三步:换算电压

Vref = VCC = 5V(5V 供电时,基准电压 = VCC)
满量程 ADC 值 = 2^10 - 1 = 1023
​
Vin = (ADC值 / 1023) × Vref
    = (192 / 1023) × 5
    = 960 / 1023
    ≈ 0.938V
    ≈ 0.93V

最接近选项:A(0.93V) :white_check_mark:

你选 C(2.02V)对应 ADC 值约为 413,与任何合理的 0x30/0x03 解读都不符,属于计算方法错误。

:warning: 易错点 1:ADRJ=0 时低 2 位在 ADC_RESL[7:6](高两位),不是 ADC_RESL[1:0](低两位)!
:warning: 易错点 2:0x03 的二进制是 0000 0011,其 bit7 和 bit6 都是 0,不要误读为 11!

:light_bulb: 记忆技巧: ADRJ=0(左对齐)= 数据往左靠 = 高位优先 = ADC_RES 装满高 8 位,RESL 的高 2 位([7:6])放低 2 位。

:books: 拓展知识——ADRJ=1 情形下的计算对比:

ADRJ=1 时(右对齐,低位优先):
ADC_RES[1:0]  = 结果的高 2 位 [9:8]
ADC_RESL[7:0] = 结果的低 8 位 [7:0]
​
10位结果 = (ADC_RES & 0x03) << 8 | ADC_RESL
​
例:若 ADC_RES=0x03, ADC_RESL=0x30:
  10位结果 = 0x03 << 8 | 0x30 = 0x330 = 816
  Vin = (816/1023) × 5 ≈ 3.99V

两种模式的 C 语言读取代码:

// ADRJ=0(默认左对齐),推荐使用
uint16_t adc_result = ((uint16_t)ADC_RES << 2) | (ADC_RESL >> 6);
​
// ADRJ=1(右对齐)
uint16_t adc_result = ((uint16_t)(ADC_RES & 0x03) << 8) | ADC_RESL;
​
// 换算为电压(毫伏,避免浮点数)
uint32_t voltage_mv = (uint32_t)adc_result * 5000 / 1023;

:clipboard: 速查卡:本套题核心知识点汇总


:red_circle: MCS-51 / STC15 中断系统

知识点 关键内容
TCON 寄存器 TF1/TF0=定时器溢出标志;IE1/IE0=外部中断请求标志;IT1/IT0=触发方式
外部中断1请求标志 IE1(TCON.3),不是 TF1!
STC15 中断优先级 4 级(传统 8051 是 2 级)
STC15 中断源数量 14 个
中断使能寄存器 IE(A8H):EA、ET2、ES、ET1、EX1、ET0、EX0

:orange_circle: 串口通信

知识点 关键内容
波特率单位 位/秒(bps)
波特率配置 通常用 T1 模式 2,11.0592MHz 晶振无误差
STC15 串口数量 2 个 UART(全双工)
蓝桥杯板晶振 12MHz(配置串口需重新计算波特率参数)

:yellow_circle: 模拟电路

知识点 关键内容
开环定义 无反馈通路(不是无负载、无信号源)
负反馈作用 降低增益、展宽带宽、减小失真、提高稳定性
dB 换算 Au(dB) = 20·log10(
多级放大带宽 级联后通频带变窄,总带宽 < 每级带宽
增益带宽积 对单个 OpAmp,增益 × 带宽 = 常数(GBW)

:green_circle: 数字逻辑

知识点 关键内容
德摩根定律 非(A+B)=Ā·B̄;非(A·B)=Ā+B̄
A+B+C 等价 = 非(Ā·B̄·C̄),即对 Ā·B̄·C̄ 整体取反
时序逻辑电路 计数器、寄存器、触发器(有记忆)
组合逻辑电路 译码器、加法器、多路复用器(无记忆)
74HC138 3-8 线译码器,组合逻辑,蓝桥杯板用于地址译码

:blue_circle: C 语言

知识点 关键内容
do-while 特点 先执行后判断,循环体至少执行 1 次
while 特点 先判断后执行,可能 0 次
for 特点 先判断后执行,可能 0 次

:purple_circle: IAP15F2K61S2 硬件特性

特性 规格
Flash 61KB(IAP)
SRAM 2KB(2048 字节)
最高主频 35MHz(不是 24MHz!)
中断源 14 个
中断优先级 4 级(不是 2 级!)
串口 2 个 UART,全双工
ADC 10 位,8 通道(P1.0~P1.7)
时钟源 内部 IRC 外部晶振,均可用
架构 1T(1 时钟 = 1 机器周期,速度约为传统 8051 的 12 倍)

:high_voltage: IAP15F2K61S2 ADC 使用要点

要点 内容
分辨率 10 位(最大值 1023)
参考电压 Vref = VCC(5V 供电 → Vref = 5V)
ADRJ=0(左对齐) ADC_RES 存高 8 位[9:2],ADC_RESL[7:6] 存低 2 位[1:0]
ADRJ=1(右对齐) ADC_RES[1:0] 存高 2 位[9:8],ADC_RESL 存低 8 位[7:0]
电压换算公式 Vin = (ADC值 / 1023) × Vref
C 读取(ADRJ=0) result = (ADC_RES << 2)
:warning: 常见误区 ADRJ=0 时低 2 位在 RESL 的 [7:6](高两位),不是 [1:0]!

1 个赞