当前位置: 首页 > news >正文

蓝桥杯 嵌入式 客观题 [1000道]第二期 持续更新中

1.在蓝桥杯嵌入式竞赛常用的CT117E-M4开发板上,为了控制LED灯(LD1~LD8),使用了74HC573锁存器配合74LS138译码器进行片选。若要选通控制LED的锁存器(通常连接在Y4),则74LS138的输入端 A2, A1, A0 (对应微控制器的控制引脚) 应设置为:

A. 0, 0, 0

B. 1, 0, 0

C. 1, 0, 1

D. 1, 1, 0

【答案】 B

【解析】

  • 本题考点: CT117E板载硬件逻辑与3-8译码器真值表。

  • 详细分析: 74LS138译码器的输出为低电平有效。要使 Y4 输出低电平(选中LED锁存器),输入端的二进制组合 (A2 A1 A0) 必须等于十进制的 4,即二进制的 100。因此 A2=1, A1=0, A0=0。

  • 其他选项分析:

    • A选项 (0,0,0) 对应 Y0,通常不用于主要外设控制。

    • C选项 (1,0,1) 对应 Y5,对应十进制5,在开发板上通常用于选通蜂鸣器和继电器。

    • D选项 (1,1,0) 对应 Y6,对应十进制6,在开发板上通常用于数码管位选。


2. 在STM32中,某按键一端连接GPIO引脚,另一端接地(GND)。若外部电路未连接上拉电阻,为了能够稳定检测按键按下的状态(按下为低电平),应将该GPIO引脚配置为:

A. GPIO_MODE_INPUT (浮空输入)

B. GPIO_MODE_ANALOG (模拟输入)

C. GPIO_MODE_INPUT + GPIO_PULLUP (上拉输入)

D. GPIO_MODE_INPUT + GPIO_PULLDOWN (下拉输入)

【答案】 C

【解析】

当按键松开时,外部没有连接电阻,引脚处于悬空状态。

若配置为浮空输入(A选项),引脚电平会随机跳动。因此,必须在芯片内部开启上拉电阻 (Pull-Up),将默认电平钳位在高电平(3.3V)。这样按键松开读到1,按下读到0,逻辑稳定。

若选择D(下拉输入),引脚默认被拉低到0V,按下按键也是0V,无法检测按键动作。

B选项(模拟输入)用于ADC采集,无法读取数字逻辑状态。


3. 在32位Cortex-M4内核(如STM32G431)环境下,执行以下C语言代码:

uint32_t arr[5] = {1,2,3,4,5};

uint32_t *p = arr;

则 sizeof(arr) 和 sizeof(p) 的值分别是:

A. 20, 4

B. 5, 4

C. 20, 20

D. 5, 1

【答案】 A

【解析】

uint32_t类型占用 4 字节。

sizeof(arr)计算的是整个数组占用的字节空间:5个元素 × 4字节/元素 = 20字节。

sizeof(p)计算的是指针变量本身的大小。在32位系统中,任何类型的指针都存储一个32位地址,因此固定占用 4字节。

易错提醒: 不要把sizeof误当成计算数组元素个数(Length),也不要认为指针大小等于它指向的数组大小。


4. 已知STM32定时器时钟源频率为 80MHz。若要产生频率为 2kHz 的PWM波,且预分频器(PSC)设为 79,则自动重装载寄存器(ARR)的值应设为:

A. 1000

B. 999

C. 499

D. 40000

【答案】 C

【解析】

公式: PWM频率 = 系统时钟 / [(PSC+1) × (ARR+1)]

计算步骤:

计数器时钟频率 = 80,000,000 / (79 + 1) = 1,000,000 Hz (1MHz)。

目标PWM频率 = 2000 Hz。1,000,000 / (ARR + 1) = 2000。

解得 ARR + 1 = 500,所以 ARR = 499。

易错提醒: 计算ARR时切记要减1,因为计数器是从0开始计数的。


5.关于Cortex-M系列内核的中断优先级机制,下列说法正确的是:

A. 抢占优先级数值越大,中断优先级越高

B. 若抢占优先级相同,响应优先级高的中断可以打断正在执行的响应优先级低的中断

C. 只有抢占优先级高的中断才能打断(嵌套)抢占优先级低的中断

D. 复位(Reset)的优先级可以由用户软件修改

【答案】 C

【解析】C正确:中断嵌套(即打断正在执行的中断)发生的唯一条件是:新来的中断抢占优先级 高于 当前正在执行的中断的抢占优先级。

其他选项分析:

A错误:ARM内核规定,优先级数值越小,优先级越高。

B错误:抢占优先级相同时,不发生打断。响应优先级仅用于两个中断同时到达时的排队依据。

D错误:复位是系统最高异常,优先级固定且不可修改。


6. I2C通信协议中,主机发起“开始信号”(Start Condition)的时序定义是:

A. SCL为低电平时,SDA由高电平跳变为低电平

B. SCL为高电平时,SDA由高电平跳变为低电平

C. SCL为高电平时,SDA由低电平跳变为高电平

D. SCL和SDA同时由高变低

【答案】 B

【解析】

I2C总线空闲时,SDA和SCL都通过上拉电阻维持高电平。

起始信号(Start): 当 SCL 保持高电平时,SDA 线从高电平拉低到低电平,标志传输开始。

C选项(SCL高时SDA低变高)是停止信号(Stop)。


7. 在嵌入式C代码中,对于一个映射到硬件寄存器的变量(例如状态寄存器),为了防止编译器对其读写操作进行过度优化,应使用哪个关键字修饰?

A. static

B. const

C. volatile

D. extern

【答案】 C

【解析】

  • 详细分析: 硬件寄存器的值可能会在CPU不知情的情况下由外设硬件自动改变(如接收到数据标志位变1)。如果编译器开启优化,可能会认为代码没改过这个变量,就直接读取缓存值。使用volatile(易变的)关键字,就是强制编译器每次使用该变量时都去内存地址重新读取,保证数据准确。


8.STM32的ADC是12位分辨率,参考电压 VREF+ 为 3.3V。若ADC转换结果寄存器的值为 2048(十进制),则对应的实际输入电压约为:

A. 3.3 V

B. 1.65 V

C. 0.825 V

D. 0 V

【答案】B

[解析]

12位ADC的最大值是 2的12次方 - 1 = 4095 (约为4096)。

读取到的值 2048 刚好是满量程 4096 的一半 (2048 / 4096 = 0.5)。

因此实际电压也是参考电压的一半:3.3V × 0.5 = 1.65V。


9.关于AT24C02 EEPROM芯片,下列描述错误的是:

A. 它使用I2C接口进行通信

B. 它的存储容量是2K bits(256字节)

C. 向其写入数据时,不需要任何延时,可以连续无限高速写入

D. 它的设备地址可以通过引脚A0, A1, A2进行硬件配置

【答案】 C

【解析】

EEPROM(电可擦除可编程只读存储器)的写入速度比读取慢得多。写入一个字节或一页数据后,芯片内部需要约 5ms 的时间进行“搬运”存储周期。如果在该周期内继续发送写入指令,芯片将无法响应。因此C选项描述错误,实际编程中需要加入延时或查询ACK。

其他选项分析: A、B、D均是对AT24C02的正确描述。


10.在数字电路基础中,实现“仅当两个输入状态不同时,输出为1;两个输入状态相同时,输出为0”逻辑功能的门电路是:

A. 与非门 (NAND)

B. 或门 (OR)

C. 同或门 (XNOR)

D. 异或门 (XOR)

【答案】 D

【解析】

异或门 (XOR) 的逻辑定义就是“相异为真(1),相同为假(0)”。(例如:1⊕0=1, 1⊕1=0)。同或门 (XNOR) 与异或相反,相同输出1,不同输出0。或门 (OR) 只要有一个输入为1,输出即为1。

http://www.jsqmd.com/news/106759/

相关文章:

  • 拥抱AI,HPE Networking以“自动驾驶的网络”引领智能网络新时代
  • 2025 IT 行业就业全景:26 届及以后考生,计算机专业仍值得报考吗?
  • MongoDB Java
  • SQL必会必知整理-11-分组数据
  • AngularJS 表单
  • 2025 最新版 Kali Linux 教程:零基础小白入门到精通,工具使用全攻略一篇搞定!
  • 10个SolidWorks研发设计共享一台工作站——昆山精密机械工厂降本增效一举三得
  • 单页应用 (SPA):为什么现在的网页这么快?
  • JavaScript Window Location
  • React Native中实现鸿蒙跨平台开发使用状态管理库如`Redux`或`MobX`来管理应用状态,尤其是在处理多个组件共享状态时,使用`AsyncStorage`来存储用户数据和配置
  • SVG 多边形
  • 超适合CSDN站和B站的英语环境生成器。颠覆传统:忘掉“学”英语,开始“接触”英语!
  • 8个AI论文工具,专科生轻松搞定毕业写作!
  • 动态规划算法<1>为什么动态规划总让你头疼?看完这篇彻底入门
  • HTML 视频(Video)播放
  • WebUploader如何配合Vue2实现百万文件上传的批量处理?
  • Web 渗透测试零基础入门全攻略:核心概念梳理 + 实操步骤拆解 + 工具使用教程,一篇文章全掌握!
  • 【毕业设计】基于 SpringBoot+Vue 的校园论坛微信小程序的设计与实现基于springboot+微信小程序的校园活动管理系统设计与实现(源码+文档+远程调试,全bao定制等)
  • Harbor磁盘空间清理指南:如何安全清理半年前的镜像
  • 个人学习25.12.17 hunsec ctf-web week4
  • 彻底搞懂YOLOv1:R-CNN与YOLO架构的区别在哪里?
  • 如何用Java25编译Java17的项目
  • Cordova与OpenHarmony目标进度可视化
  • Python 爬虫实战:解析 JSON 数据接口的爬虫开发
  • 【毕业设计】基于springboot+微信小程序的应急救援小能手软件系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 树莓派运行 DeepSeek 大模型实战:轻量化模型选型与内存占用控制精要
  • Java 日期时间处理详解
  • EtherCAT分布式时钟
  • 国密加密在JQuery大文件上传中的实现思路与代码?
  • 计算机小程序毕设实战-基于springboot+微信小程序的钓鱼交友与渔具回收的微信小程序开发基于微信小程序的钓鱼交友渔具回收系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】