15th第一次省赛.客观题笔记
赛事:第十五届蓝桥杯单片机省赛真题
整理日期:2026-03-16
成绩总结:10题答对 3题(Q1
、Q3
、Q5
),答错 7题(Q2/Q4/Q6/Q7/Q8/Q9/Q10
)
Q1 · ADC分辨率计算 · 单选 ·
答对
题目:一个 10 位逐次逼近型 ADC 的分辨率是多少?
-
A:1%
-
B:0.1%

-
C:0.01%
-
D:0.001%
正确答案:B(0.1%)
解析:
ADC 分辨率 = 1 / (2^N) × 100%(其中 N 为位数)
10 位 ADC:1 / 2^10 = 1 / 1024 ≈ 0.0977% ≈ 0.1%
记忆技巧:
-
8位 → 1/256 ≈ 0.4%
-
10位 → 1/1024 ≈ 0.1%
-
12位 → 1/4096 ≈ 0.024%
规律:每增加2位,分辨率提高约4倍(精度更高,百分比数字更小)。
拓展知识:ADC 类型对比
| ADC类型 | 速度 | 精度 | 典型应用 |
|---|---|---|---|
| 逐次逼近型(SAR) | 中等 | 中高 | PCF8591(蓝桥杯板载) |
| 双积分型 | 慢 | 高 | 数字万用表 |
| Flash型 | 极快 | 低 | 示波器 |
| Σ-Δ型 | 慢 | 极高 | 音频ADC |
蓝桥杯板载 PCF8591 是 8 位 ADC,分辨率为 1/256 ≈ 0.4%,输出范围 0~255(0x00~0xFF)。
Q2 · SPI片选信号 · 单选 ·
答错(你答B,正确答案D)
题目:SPI 通讯中,主设备通过哪个信号来选择从设备?
-
A:MOSI
-
B:SCLK
-
C:MISO
-
D:NSS

正确答案:D(NSS)
解析:
SPI 四根线各司其职:
| 信号线 | 全称 | 方向 | 作用 |
|---|---|---|---|
| MOSI | Master Out Slave In | 主→从 | 主发数据 |
| MISO | Master In Slave Out | 从→主 | 从发数据 |
| SCLK | Serial Clock | 主→从 | 同步时钟 |
| NSS/CS | Slave Select | 主→从 | 片选从设备 |
NSS(也叫 CS/SS)低电平有效,主设备拉低哪个从设备的 NSS,那个从设备才开始通信。
易错点:SCLK 是时钟信号(控制速率),不是选择信号!MOSI 是发送数据用的,也不是选择信号!
记忆技巧:NSS = “No, Slave Selected!” 拉低就是"你被选中了!"
拓展知识:SPI vs I2C vs UART 对比
| 特性 | SPI | I2C(蓝桥杯常用) | UART |
|---|---|---|---|
| 线数 | 4根 | 2根(SDA/SCL) | 2根(TX/RX) |
| 速率 | 最快 | 中等(100k/400k) | 可变 |
| 从机识别 | NSS片选 | 地址寻址 | 点对点 |
| 全双工 | |||
| 蓝桥杯应用 | 较少 | DS1302/AT24C02等 | 串口通信题 |
Q3 · 网络传输速率单位 · 单选 ·
答对
题目:网络的传输速率通常用什么单位来表示?
-
A:Mbps

-
B:GHz
-
C:MHz
-
D:MB
正确答案:A(Mbps)
解析:
-
Mbps = Megabits per second = 每秒兆比特 → 速率单位

-
GHz / MHz = 频率单位(CPU频率、晶振频率)
-
MB = 存储容量单位
注意区分:Mbps(小b,bit)≠ MB/s(大B,Byte)
1 MB/s = 8 Mbps
拓展知识:单位换算速查
| 单位 | 含义 | 用于 |
|---|---|---|
| bps / Kbps / Mbps | 比特每秒 | 网络速率、串口波特率 |
| B/s / KB/s / MB/s | 字节每秒 | 文件传输速度 |
| Hz / KHz / MHz | 频率 | 晶振、PWM频率、CPU主频 |
| KB / MB / GB | 存储容量 | Flash、RAM大小 |
蓝桥杯串口题:波特率单位是 bps,STC15F2K60S2 常用 9600bps / 115200bps。
Q4 · 单片机堆栈大小决定因素 · 单选 ·
答错(你答C,正确答案D)
题目:在单片机系统中,堆和栈的大小是由什么决定的?
-
A:内核架构
-
B:操作系统
-
C:芯片的 FLASH 空间
-
D:程序设计者

正确答案:D(程序设计者)
解析:
-
栈(Stack):用于函数调用、局部变量,大小由程序员在链接脚本(.ld)或启动文件(startup.s)中配置
-
堆(Heap):用于动态内存分配(malloc),大小同样由程序员配置
各选项分析:
-
A 内核架构:决定指令集和寻址方式,不决定堆栈大小
-
B 操作系统:RTOS下OS参与管理,但裸机单片机(如STC15)根本没有OS
-
C FLASH空间:FLASH存放程序代码,堆栈在 RAM 里,不在FLASH!
-
D 程序设计者
:在Keil中可直接配置堆栈大小
易错点:你选了C(FLASH空间),这是典型混淆!堆栈在 RAM 中,FLASH 只存代码!
Keil配置:在 startup_stc15.a51 或 Options→Target 中设置 ISTACK/XSTACK 大小。
拓展知识:STC15F2K60S2 存储器结构
| 存储区 | 大小 | 用途 |
|---|---|---|
| Flash(ROM) | 60KB | 程序代码、常量 |
| SRAM(RAM) | 2KB | 变量、堆、栈 |
| EEPROM | 内置(IAP模拟) | 掉电保存数据 |
| SFR区 | 128字节 | 特殊功能寄存器 |
Q5 · 易失性存储器辨别 · 多选 ·
答对
题目:下列哪些存储器掉电后数据丢失?
-
A:RAM

-
B:FLASH
-
C:EEPROM
-
D:DDR2

正确答案:A + D(RAM 和 DDR2)
解析:
| 存储器 | 类型 | 掉电后 |
|---|---|---|
| RAM | 易失性(Volatile) | 数据丢失 |
| FLASH | 非易失性 | 数据保留(STC15代码就存这里) |
| EEPROM | 非易失性 | 数据保留(AT24C02就是EEPROM) |
| DDR2 | 动态RAM(易失性) | 数据丢失 |
你的错误:选了FLASH和EEPROM,恰恰相反!这两个都是非易失性存储器!
-
FLASH掉电不丢失,这就是为什么单片机程序断电还能保留
-
EEPROM掉电不丢失,蓝桥杯用AT24C02存储掉电参数就是这个原理!
记忆技巧:
-
带"RAM"字样的(DRAM、SRAM、DDR2)→ 易失性,掉电丢
-
Flash、ROM、EEPROM → 非易失性,掉电不丢
拓展知识:蓝桥杯常见存储器应用
| 器件 | 类型 | 掉电保持 | 蓝桥杯用途 |
|---|---|---|---|
| STC15内部RAM | SRAM | 变量、堆栈 | |
| STC15 Flash | Flash | 程序存储 | |
| AT24C02 | EEPROM(I2C) | 掉电存数据 | |
| STC15 IAP/EEPROM | Flash模拟 | 掉电存参数 |
Q6 · ISR中不适合的操作 · 多选 ·
答错(你答BCD,正确答案ABCD)
题目:以下哪些操作不适合在中断服务程序中实现?
-
A:printf 输出

-
B:复杂的业务逻辑

-
C:大量的浮点运算

-
D:动态内存分配

正确答案:A + B + C + D(全选!)
解析:
ISR(中断服务程序)的铁律:快进快出!
| 操作 | 不适合原因 |
|---|---|
| printf 输出 | 阻塞式I/O,耗时极长(毫秒级),非可重入,会嵌套死锁 |
| 复杂业务逻辑 | ISR应只做标志位置位,逻辑交给主循环处理 |
| 大量浮点运算 | 8051无FPU,软件浮点耗时巨大,严重延误其他中断 |
| 动态内存分配 | malloc/free非可重入,ISR中调用可能破坏堆结构 |
你漏选了A(printf)!printf在ISR中是最危险的操作之一!
ISR正确做法:
// ✅ 正确:ISR中只置标志位
void Timer0_ISR() interrupt 1 {
flag_1ms = 1; // 仅设标志
}
// ✅ 主循环处理业务
if (flag_1ms) {
flag_1ms = 0;
// 在这里做复杂操作
}
拓展知识:STC15 中断优先级
| 中断源 | 默认优先级 | 向量号 |
|---|---|---|
| INT0(外部中断0) | 高 | 0 |
| Timer0 | 高 | 1 |
| INT1 | 中 | 2 |
| Timer1 | 中 | 3 |
| UART | 低 | 4 |
| Timer2 | 低 | 12 |
Q7 · PWM应用场合 · 多选 ·
答错(你答AB,正确答案ABCD)
题目:PWM 技术通常应用于哪些场合?
-
A:LED 调光

-
B:电机调速

-
C:电源转换

-
D:DA 转换

正确答案:A + B + C + D(全选!)
解析:
PWM(脉宽调制)= 通过改变占空比来控制等效电压/功率
| 应用场合 | 原理 |
|---|---|
| LED调光 | 占空比越大,LED平均电流越大,越亮 |
| 电机调速 | 占空比控制电机平均电压,改变转速 |
| 电源转换 | 开关电源(Buck/Boost)用PWM控制MOSFET开关 |
| DA转换 | PWM信号经RC低通滤波器,输出等于占空比×Vcc的直流电压 |
你漏选了C和D!电源转换和DA转换都是PWM的重要应用!
PWM占空比公式:
-
等效电压 = 占空比 × 电源电压
-
占空比 = 高电平时间 / 周期时间
-
例:VCC=5V,占空比=60%,等效输出 = 3V
拓展知识: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;
}
Q8 · 理想运算放大器特性 · 多选 ·
答错(你答BC,正确答案ABD)
题目:在模拟电路中,运算放大器的理想特性是指?
-
A:无限大的开环增益

-
B:零输出阻抗

-
C:零共模抑制比
-
D:无限大的输入阻抗

正确答案:A + B + D
解析:
理想运放的五大特性(背下来!):
| 特性 | 理想值 | 说明 |
|---|---|---|
| 开环增益 Aod | → ∞(无穷大) | A选项 |
| 输入阻抗 Rid | → ∞(无穷大) | D选项 |
| 输出阻抗 Ro | = 0(零) | B选项 |
| 共模抑制比 CMRR | → ∞(无穷大) | |
| 带宽 BW | → ∞(无穷大) | 无限带宽 |
C是陷阱! 理想运放的共模抑制比(CMRR)应该是无穷大,而不是零!
CMRR越大说明运放越好(能更好地抑制共模噪声),零CMRR代表完全无法抑制共模干扰,是最差的运放!
你的错误:选了C(零共模抑制比),这恰恰相反!同时漏选了A(无限大开环增益)。
记忆口诀:“理想运放三个无穷大(增益、输入阻抗、CMRR),一个为零(输出阻抗)”
拓展知识:虚短与虚断
理想运放两个推论:
-
虚短:V+ ≈ V-(由无穷大增益推出,两输入端电压相等)
-
虚断:输入电流 ≈ 0(由无穷大输入阻抗推出)
这两个概念是分析运放电路的基础!
Q9 · BUCK电路关键器件 · 多选 ·
答错(你答AC,正确答案ABCD)
题目:典型的 BUCK 电源电路包含哪些关键器件?
-
A:电容

-
B:二极管

-
C:电感

-
D:MOSFET

正确答案:A + B + C + D(全选!)
解析:
BUCK(降压型开关电源)电路拓扑:
Vin ─── MOSFET ─┬─── 电感L ─── Vout
│ │
二极管D 电容C
│ │
GND ────────── GND
| 器件 | 作用 |
|---|---|
| MOSFET(开关管) | 高速开关,控制能量传递,占空比决定输出电压 |
| 二极管(续流) | MOSFET关断时,为电感电流提供续流通路 |
| 电感L(储能) | 储存能量,平滑电流,抑制电流纹波 |
| 电容C(滤波) | 稳定输出电压,抑制电压纹波 |
你漏选了B(二极管)和D(MOSFET)!这两个是BUCK电路最核心的器件!
没有MOSFET就没有开关动作;没有续流二极管,电感会产生高压尖峰损坏电路!
BUCK核心公式:Vout = D × Vin(D = 占空比)
拓展知识:三种基本开关电源对比
| 类型 | 输出 | 核心特征 |
|---|---|---|
| BUCK(降压) | Vout < Vin | 电感串联在输出端 |
| BOOST(升压) | Vout > Vin | 电感串联在输入端 |
| BUCK-BOOST | 可升可降 | 输出反相 |
Q10 · 降低MCU功耗方法 · 多选 ·
答错(你答BD,正确答案ACD)
题目:以下哪些方法可以有效降低 MCU 的功耗?
-
A:降低主频

-
B:使用外部晶振作为系统时钟源
-
C:空闲时进入空闲模式

-
D:空闲时进入掉电模式

正确答案:A + C + D
解析:
| 选项 | 能否降低功耗 | 原因 |
|---|---|---|
| A 降低主频 | 动态功耗 P = C×V²×f,频率越低功耗越低 | |
| B 使用外部晶振 | 外部晶振不一定比内部IRC省电;且外部晶振电路本身也耗电 | |
| C 空闲模式 | 关闭CPU时钟,外设继续运行,功耗显著降低 | |
| D 掉电模式 | 几乎关闭所有模块,是最低功耗模式 |
你选了B(外部晶振),这是错的!外部晶振的目的是提高时钟精度和稳定性,不是为了省电!
你漏选了A(降低主频),这是最基础的降功耗方法!
STC15低功耗模式:
-
空闲模式(Idle):CPU停止,定时器/中断继续工作,可被任意中断唤醒
-
掉电模式(Power Down):振荡器停止,功耗 < 1μA,只能被外部中断/低电平唤醒
拓展知识:STC15 功耗管理
// 进入空闲模式(PCON.0 = 1)
PCON |= 0x01; // IDL位置1
// 进入掉电模式(PCON.1 = 1)
PCON |= 0x02; // PD位置1
降低功耗的综合策略:
-
降低工作电压(3.3V比5V省电约56%) -
降低主频(必要时才提速) -
关闭不用的外设时钟 -
空闲时进入低功耗模式
速查卡 · 本套题核心知识点汇总
ADC知识
-
N位ADC分辨率 = 1/2^N × 100%
-
10位 ≈ 0.1%,8位 ≈ 0.4%,12位 ≈ 0.024%
-
蓝桥杯板载PCF8591 = 8位ADC(0~255)
SPI通信
-
四线:MOSI(主发)/ MISO(从发)/ SCLK(时钟)/ NSS(片选)
-
NSS低电平有效,选中从设备
存储器易失性
高频考点
-
易失性(掉电丢):RAM、SRAM、DRAM、DDR2
-
非易失性(掉电不丢):Flash、EEPROM、ROM
-
AT24C02 = EEPROM = 掉电不丢

ISR编程规范
-
ISR应快进快出,只做标志位置位
-
禁止在ISR中:printf / malloc / 复杂逻辑 / 浮点运算
PWM应用(全面!)
-
LED调光 / 电机调速 / 开关电源 / DAC(PWM+RC滤波)
-
等效电压 = 占空比 × VCC
理想运放特性 
-
三个无穷大:开环增益、输入阻抗、共模抑制比(CMRR)
-
一个为零:输出阻抗
-
CMRR越大越好,不是越小越好!
BUCK降压电源
-
四大器件:MOSFET + 续流二极管 + 储能电感 + 滤波电容
-
Vout = 占空比 × Vin
MCU低功耗策略
-
有效:降低主频、空闲模式、掉电模式、关闭外设
-
无效:换外部晶振(晶振 = 精度,不等于省电)
-
掉电模式 < 空闲模式 < 正常运行(功耗由低到高)
堆栈知识
-
堆栈在 RAM 中(不在FLASH!)
-
大小由程序设计者配置(Keil启动文件/链接脚本)
本次做题总结:多选题失分严重,主要原因是漏选(Q6漏A、Q7漏CD、Q9漏BD、Q10漏A)和选错(Q8)。建议重点复习存储器类型、ISR规范、运放理想特性这几个易错点!加油