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

:clipboard: 15th第一次省赛.客观题笔记

:trophy: 赛事:第十五届蓝桥杯单片机省赛真题
:date: 整理日期:2026-03-16
:bullseye: 成绩总结:10题答对 3题(Q1​:white_check_mark:、Q3​:white_check_mark: 、Q5​:white_check_mark:),答错 7题(Q2/Q4/Q6/Q7/Q8/Q9/Q10 :cross_mark:


:memo: Q1 · ADC分辨率计算 · 单选 · :white_check_mark: 答对

题目:一个 10 位逐次逼近型 ADC 的分辨率是多少?

  • A:1%

  • B:0.1% :white_check_mark:

  • C:0.01%

  • D:0.001%

:white_check_mark: 正确答案:B(0.1%)

解析
ADC 分辨率 = 1 / (2^N) × 100%(其中 N 为位数)

10 位 ADC:1 / 2^10 = 1 / 1024 ≈ 0.0977% ≈ 0.1%

:light_bulb: 记忆技巧

  • 8位 → 1/256 ≈ 0.4%

  • 10位 → 1/1024 ≈ 0.1%

  • 12位 → 1/4096 ≈ 0.024%

规律:每增加2位,分辨率提高约4倍(精度更高,百分比数字更小)。

:telescope: 拓展知识:ADC 类型对比

ADC类型 速度 精度 典型应用
逐次逼近型(SAR) 中等 中高 PCF8591(蓝桥杯板载)
双积分型 数字万用表
Flash型 极快 示波器
Σ-Δ型 极高 音频ADC

:warning: 蓝桥杯板载 PCF8591 是 8 位 ADC,分辨率为 1/256 ≈ 0.4%,输出范围 0~255(0x00~0xFF)。


:memo: Q2 · SPI片选信号 · 单选 · :cross_mark: 答错(你答B,正确答案D)

题目:SPI 通讯中,主设备通过哪个信号来选择从设备?

  • A:MOSI

  • B:SCLK

  • C:MISO

  • D:NSS :white_check_mark:

:white_check_mark: 正确答案:D(NSS)

解析
SPI 四根线各司其职:

信号线 全称 方向 作用
MOSI Master Out Slave In 主→从 主发数据
MISO Master In Slave Out 从→主 从发数据
SCLK Serial Clock 主→从 同步时钟
NSS/CS Slave Select 主→从 片选从设备 :white_check_mark:

NSS(也叫 CS/SS)低电平有效,主设备拉低哪个从设备的 NSS,那个从设备才开始通信。

:warning: 易错点:SCLK 是时钟信号(控制速率),不是选择信号!MOSI 是发送数据用的,也不是选择信号!

:light_bulb: 记忆技巧:NSS = “No, Slave Selected!” 拉低就是"你被选中了!"

:telescope: 拓展知识:SPI vs I2C vs UART 对比

特性 SPI I2C(蓝桥杯常用) UART
线数 4根 2根(SDA/SCL) 2根(TX/RX)
速率 最快 中等(100k/400k) 可变
从机识别 NSS片选 地址寻址 点对点
全双工 :white_check_mark: :cross_mark: :white_check_mark:
蓝桥杯应用 较少 DS1302/AT24C02等 串口通信题

:memo: Q3 · 网络传输速率单位 · 单选 · :white_check_mark: 答对

题目:网络的传输速率通常用什么单位来表示?

  • A:Mbps :white_check_mark:

  • B:GHz

  • C:MHz

  • D:MB

:white_check_mark: 正确答案:A(Mbps)

解析

  • Mbps = Megabits per second = 每秒兆比特 → 速率单位 :white_check_mark:

  • GHz / MHz = 频率单位(CPU频率、晶振频率)

  • MB = 存储容量单位

:light_bulb: 注意区分:Mbps(小b,bit)≠ MB/s(大B,Byte)
1 MB/s = 8 Mbps

:telescope: 拓展知识:单位换算速查

单位 含义 用于
bps / Kbps / Mbps 比特每秒 网络速率、串口波特率
B/s / KB/s / MB/s 字节每秒 文件传输速度
Hz / KHz / MHz 频率 晶振、PWM频率、CPU主频
KB / MB / GB 存储容量 Flash、RAM大小

:warning: 蓝桥杯串口题:波特率单位是 bps,STC15F2K60S2 常用 9600bps / 115200bps。


:memo: Q4 · 单片机堆栈大小决定因素 · 单选 · :cross_mark: 答错(你答C,正确答案D)

题目:在单片机系统中,堆和栈的大小是由什么决定的?

  • A:内核架构

  • B:操作系统

  • C:芯片的 FLASH 空间

  • D:程序设计者 :white_check_mark:

:white_check_mark: 正确答案:D(程序设计者)

解析

  • 栈(Stack):用于函数调用、局部变量,大小由程序员在链接脚本(.ld)或启动文件(startup.s)中配置

  • 堆(Heap):用于动态内存分配(malloc),大小同样由程序员配置

各选项分析:

  • A 内核架构:决定指令集和寻址方式,不决定堆栈大小

  • B 操作系统:RTOS下OS参与管理,但裸机单片机(如STC15)根本没有OS

  • C FLASH空间:FLASH存放程序代码,堆栈在 RAM 里,不在FLASH!

  • D 程序设计者 :white_check_mark::在Keil中可直接配置堆栈大小

:warning: 易错点:你选了C(FLASH空间),这是典型混淆!堆栈在 RAM 中,FLASH 只存代码!

:light_bulb: Keil配置:在 startup_stc15.a51 或 Options→Target 中设置 ISTACK/XSTACK 大小。

:telescope: 拓展知识:STC15F2K60S2 存储器结构

存储区 大小 用途
Flash(ROM) 60KB 程序代码、常量
SRAM(RAM) 2KB 变量、堆、栈
EEPROM 内置(IAP模拟) 掉电保存数据
SFR区 128字节 特殊功能寄存器

:memo: Q5 · 易失性存储器辨别 · 多选 · :white_check_mark: 答对

题目:下列哪些存储器掉电后数据丢失?

  • A:RAM :white_check_mark:

  • B:FLASH

  • C:EEPROM

  • D:DDR2 :white_check_mark:

:white_check_mark: 正确答案:A + D(RAM 和 DDR2)

解析

存储器 类型 掉电后
RAM 易失性(Volatile) 数据丢失 :white_check_mark:
FLASH 非易失性 数据保留(STC15代码就存这里)
EEPROM 非易失性 数据保留(AT24C02就是EEPROM)
DDR2 动态RAM(易失性) 数据丢失 :white_check_mark:

:warning: 你的错误:选了FLASH和EEPROM,恰恰相反!这两个都是非易失性存储器!

  • FLASH掉电不丢失,这就是为什么单片机程序断电还能保留

  • EEPROM掉电不丢失,蓝桥杯用AT24C02存储掉电参数就是这个原理!

:light_bulb: 记忆技巧

  • 带"RAM"字样的(DRAM、SRAM、DDR2)→ 易失性,掉电丢

  • Flash、ROM、EEPROM → 非易失性,掉电不丢

:telescope: 拓展知识:蓝桥杯常见存储器应用

器件 类型 掉电保持 蓝桥杯用途
STC15内部RAM SRAM :cross_mark: 变量、堆栈
STC15 Flash Flash :white_check_mark: 程序存储
AT24C02 EEPROM(I2C) :white_check_mark: 掉电存数据
STC15 IAP/EEPROM Flash模拟 :white_check_mark: 掉电存参数

:memo: Q6 · ISR中不适合的操作 · 多选 · :cross_mark: 答错(你答BCD,正确答案ABCD)

题目:以下哪些操作不适合在中断服务程序中实现?

  • A:printf 输出 :white_check_mark:

  • B:复杂的业务逻辑 :white_check_mark:

  • C:大量的浮点运算 :white_check_mark:

  • D:动态内存分配 :white_check_mark:

:white_check_mark: 正确答案:A + B + C + D(全选!)

解析
ISR(中断服务程序)的铁律:快进快出!

操作 不适合原因
printf 输出 阻塞式I/O,耗时极长(毫秒级),非可重入,会嵌套死锁
复杂业务逻辑 ISR应只做标志位置位,逻辑交给主循环处理
大量浮点运算 8051无FPU,软件浮点耗时巨大,严重延误其他中断
动态内存分配 malloc/free非可重入,ISR中调用可能破坏堆结构

:warning: 你漏选了A(printf)!printf在ISR中是最危险的操作之一!

:light_bulb: ISR正确做法

// ✅ 正确:ISR中只置标志位
void Timer0_ISR() interrupt 1 {
    flag_1ms = 1;  // 仅设标志
}
​
// ✅ 主循环处理业务
if (flag_1ms) {
    flag_1ms = 0;
    // 在这里做复杂操作
}

:telescope: 拓展知识:STC15 中断优先级

中断源 默认优先级 向量号
INT0(外部中断0) 0
Timer0 1
INT1 2
Timer1 3
UART 4
Timer2 12

:memo: Q7 · PWM应用场合 · 多选 · :cross_mark: 答错(你答AB,正确答案ABCD)

题目:PWM 技术通常应用于哪些场合?

  • A:LED 调光 :white_check_mark:

  • B:电机调速 :white_check_mark:

  • C:电源转换 :white_check_mark:

  • D:DA 转换 :white_check_mark:

:white_check_mark: 正确答案:A + B + C + D(全选!)

解析
PWM(脉宽调制)= 通过改变占空比来控制等效电压/功率

应用场合 原理
LED调光 占空比越大,LED平均电流越大,越亮
电机调速 占空比控制电机平均电压,改变转速
电源转换 开关电源(Buck/Boost)用PWM控制MOSFET开关
DA转换 PWM信号经RC低通滤波器,输出等于占空比×Vcc的直流电压

:warning: 你漏选了C和D!电源转换和DA转换都是PWM的重要应用!

:light_bulb: PWM占空比公式

  • 等效电压 = 占空比 × 电源电压

  • 占空比 = 高电平时间 / 周期时间

  • 例:VCC=5V,占空比=60%,等效输出 = 3V

:telescope: 拓展知识:STC15 PWM实现方式

蓝桥杯常用定时器模拟PWM

// 用Timer0中断模拟PWM(周期=1000个单位,duty=占空比)
void Timer0_ISR() interrupt 1 {
    pwm_cnt++;
    if (pwm_cnt >= 1000) pwm_cnt = 0;
    PWM_PIN = (pwm_cnt < duty) ? 1 : 0;
}

:memo: Q8 · 理想运算放大器特性 · 多选 · :cross_mark: 答错(你答BC,正确答案ABD)

题目:在模拟电路中,运算放大器的理想特性是指?

  • A:无限大的开环增益 :white_check_mark:

  • B:零输出阻抗 :white_check_mark:

  • C:零共模抑制比

  • D:无限大的输入阻抗 :white_check_mark:

:white_check_mark: 正确答案:A + B + D

解析
理想运放的五大特性(背下来!):

特性 理想值 说明
开环增益 Aod → ∞(无穷大) A选项 :white_check_mark:
输入阻抗 Rid → ∞(无穷大) D选项 :white_check_mark:
输出阻抗 Ro = 0(零) B选项 :white_check_mark:
共模抑制比 CMRR → ∞(无穷大) :cross_mark: C选项说"零"是错的!
带宽 BW → ∞(无穷大) 无限带宽

:warning: C是陷阱! 理想运放的共模抑制比(CMRR)应该是无穷大,而不是零!
CMRR越大说明运放越好(能更好地抑制共模噪声),零CMRR代表完全无法抑制共模干扰,是最差的运放!

:warning: 你的错误:选了C(零共模抑制比),这恰恰相反!同时漏选了A(无限大开环增益)。

:light_bulb: 记忆口诀:“理想运放三个无穷大(增益、输入阻抗、CMRR),一个为零(输出阻抗)”

:telescope: 拓展知识:虚短与虚断

理想运放两个推论:

  • 虚短:V+ ≈ V-(由无穷大增益推出,两输入端电压相等)

  • 虚断:输入电流 ≈ 0(由无穷大输入阻抗推出)

这两个概念是分析运放电路的基础!


:memo: Q9 · BUCK电路关键器件 · 多选 · :cross_mark: 答错(你答AC,正确答案ABCD)

题目:典型的 BUCK 电源电路包含哪些关键器件?

  • A:电容 :white_check_mark:

  • B:二极管 :white_check_mark:

  • C:电感 :white_check_mark:

  • D:MOSFET :white_check_mark:

:white_check_mark: 正确答案:A + B + C + D(全选!)

解析
BUCK(降压型开关电源)电路拓扑:

Vin ─── MOSFET ─┬─── 电感L ─── Vout
                 │              │
               二极管D         电容C
                 │              │
                GND ────────── GND
器件 作用
MOSFET(开关管) 高速开关,控制能量传递,占空比决定输出电压
二极管(续流) MOSFET关断时,为电感电流提供续流通路
电感L(储能) 储存能量,平滑电流,抑制电流纹波
电容C(滤波) 稳定输出电压,抑制电压纹波

:warning: 你漏选了B(二极管)和D(MOSFET)!这两个是BUCK电路最核心的器件!
没有MOSFET就没有开关动作;没有续流二极管,电感会产生高压尖峰损坏电路!

:light_bulb: BUCK核心公式:Vout = D × Vin(D = 占空比)

:telescope: 拓展知识:三种基本开关电源对比

类型 输出 核心特征
BUCK(降压) Vout < Vin 电感串联在输出端
BOOST(升压) Vout > Vin 电感串联在输入端
BUCK-BOOST 可升可降 输出反相

:memo: Q10 · 降低MCU功耗方法 · 多选 · :cross_mark: 答错(你答BD,正确答案ACD)

题目:以下哪些方法可以有效降低 MCU 的功耗?

  • A:降低主频 :white_check_mark:

  • B:使用外部晶振作为系统时钟源

  • C:空闲时进入空闲模式 :white_check_mark:

  • D:空闲时进入掉电模式 :white_check_mark:

:white_check_mark: 正确答案:A + C + D

解析

选项 能否降低功耗 原因
A 降低主频 :white_check_mark: 有效 动态功耗 P = C×V²×f,频率越低功耗越低
B 使用外部晶振 :cross_mark: 无效 外部晶振不一定比内部IRC省电;且外部晶振电路本身也耗电
C 空闲模式 :white_check_mark: 有效 关闭CPU时钟,外设继续运行,功耗显著降低
D 掉电模式 :white_check_mark: 有效 几乎关闭所有模块,是最低功耗模式

:warning: 你选了B(外部晶振),这是错的!外部晶振的目的是提高时钟精度和稳定性,不是为了省电!
:warning: 你漏选了A(降低主频),这是最基础的降功耗方法!

:light_bulb: STC15低功耗模式

  • 空闲模式(Idle):CPU停止,定时器/中断继续工作,可被任意中断唤醒

  • 掉电模式(Power Down):振荡器停止,功耗 < 1μA,只能被外部中断/低电平唤醒

:telescope: 拓展知识:STC15 功耗管理

// 进入空闲模式(PCON.0 = 1)
PCON |= 0x01;  // IDL位置1
​
// 进入掉电模式(PCON.1 = 1)
PCON |= 0x02;  // PD位置1

降低功耗的综合策略:

  1. :battery: 降低工作电压(3.3V比5V省电约56%)

  2. :battery: 降低主频(必要时才提速)

  3. :battery: 关闭不用的外设时钟

  4. :battery: 空闲时进入低功耗模式



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

:pushpin: ADC知识

  • N位ADC分辨率 = 1/2^N × 100%

  • 10位 ≈ 0.1%,8位 ≈ 0.4%,12位 ≈ 0.024%

  • 蓝桥杯板载PCF8591 = 8位ADC(0~255)

:pushpin: SPI通信

  • 四线:MOSI(主发)/ MISO(从发)/ SCLK(时钟)/ NSS(片选)

  • NSS低电平有效,选中从设备

:pushpin: 存储器易失性 :warning: 高频考点

  • 易失性(掉电丢):RAM、SRAM、DRAM、DDR2

  • 非易失性(掉电不丢):Flash、EEPROM、ROM

  • AT24C02 = EEPROM = 掉电不丢 :white_check_mark:

:pushpin: ISR编程规范

  • ISR应快进快出,只做标志位置位

  • 禁止在ISR中:printf / malloc / 复杂逻辑 / 浮点运算

:pushpin: PWM应用(全面!)

  • LED调光 / 电机调速 / 开关电源 / DAC(PWM+RC滤波)

  • 等效电压 = 占空比 × VCC

:pushpin: 理想运放特性 :light_bulb:

  • 三个无穷大:开环增益、输入阻抗、共模抑制比(CMRR)

  • 一个为零:输出阻抗

  • :warning: CMRR越大越好,不是越小越好!

:pushpin: BUCK降压电源

  • 四大器件:MOSFET + 续流二极管 + 储能电感 + 滤波电容

  • Vout = 占空比 × Vin

:pushpin: MCU低功耗策略

  • 有效:降低主频、空闲模式、掉电模式、关闭外设

  • 无效:换外部晶振(晶振 = 精度,不等于省电)

  • 掉电模式 < 空闲模式 < 正常运行(功耗由低到高)

:pushpin: 堆栈知识

  • 堆栈在 RAM 中(不在FLASH!)

  • 大小由程序设计者配置(Keil启动文件/链接脚本)


:pushpin: 本次做题总结:多选题失分严重,主要原因是漏选(Q6漏A、Q7漏CD、Q9漏BD、Q10漏A)和选错(Q8)。建议重点复习存储器类型、ISR规范、运放理想特性这几个易错点!加油 :flexed_biceps:

1 个赞