单片机期末考试试卷及答案.pdfVIP

  • 1
  • 0
  • 约1.12万字
  • 约 16页
  • 2026-03-06 发布于河南
  • 举报

单片机期末考试试卷及答案

这一路真好,篇一:单片机期末考试试卷及答案

题目部分

1)电子与电路基础(易)

给定一个简单的LED灯组接在微控制器的GPIO口上,要求实现

“逐级闪烁”的序列输出:先点亮一个LED,随后逐位点亮,直到全部

点亮后再逆序熄灭。请给出需要配置的GPIO方向寄存器设置及实现该

序列的伪代码思路(不要求具体MCU的寄存器名,仅给出逻辑步骤和

循环结构)。

2)基本数字逻辑与时序(易)

在一个包含8位并行输入端口A与8位并行输出端口B的系统中,

要求把A的最低4位搬运到B的高4位,其余位保持不变。请写出寄

存器操作的思路(用常见的位运算表达式),并给出一段简要伪代码。

3)定时/中断设计(中)

系统时钟为8MHz,需用一个8位定时器实现每1ms产生一次中

断的功能。请给出:A)采用哪种工作模式和分频系数的取值范围;B)

如何确定中断计数器初始值OCR/ARR;C)计算公式与一个具体的数

值举例(假设定时器支持CTC/比较模式且能使用最近的整值)。

说明若采用1ms中断,计数器溢出前的初始值应设为何值,以及

为何这么设。

4)脉冲宽度调制(中)

要求在某引脚输出1kHz的PWM波形,PWM的占空比随外部模

拟量A/D转换值变化,范围从0%~100%。请给出:A)选择PWM计

数器的分辨率与时钟前提下,如何由ADC值映射到比较寄存器的值;

B)给出一个简单的映射公式与边界处理方法。

5)模拟数字转换与量化误差(中)

若一个12位ADC的参考电压Vref为33V,输入端实际电压为

165V,采样得到的数字代码应接近多少?请给出计算公式、若干近似

值及若干常见误差来源(如量化误差、采样保持噪声等)。

6)I2C外设读写(中)

请设计一个读写I2C外设的场景:主机地址为0x50的24C04

EEPROM,需从地址0x10连续读取4字节。请给出I2C传输的步骤要

点(起始条件、地址字节、读写位、重复起始等),以及遇到

ACK/NACK时的处理要点。

7)UART串口通信(简/中)

给定UART波特率1152008N1,系统主机向MCU发送字符串

“HELLO”连续5字符,请给出MCU收到并保存该字符串所需的寄存

器配置要点,以及一个简单的接收伪代码思路(轮询或中断均可)。

8)嵌入式系统的容错与鲁棒性(中)

设计一个简单的看门狗策略,确保在主循环中断外设驱动部分出错

时能够恢复系统。请给出看门狗触发条件、喂狗时机、以及在看门狗

触发后系统的复位/自恢复流程。

9)综合设计题(难)

请设计一个温湿度监控系统的软件架构:系统从一个热敏电阻通过

ADC获取温度,从某传感器读取湿度(假设湿度传感器通过UART提

供数据),若温度超过设定阈值或湿度超出范围,则点亮报警灯并通

过UART输出警报信息。请给出模块划分、主要数据结构、任务间通

信方式(事件/队列/标志位),以及一个简要的状态机流程图描述。

答案部分

1)答案要点

确保GPIO口设置为推挽输出。

以循环方式生成逐级点亮序列,外部延时函数或计时器中断实现延

时。

具体实现要点:初始化输出位、构造位掩码序列、循环写入端口、

插入短延时以保证肉眼可见。

简单伪代码要给出:

clearbefore下一轮。

2)答案要点

使用位掩码将A的最低4位清除,再把这4位左移4位后与B的

原值按位或得到新B;避免改变B的高4位。

表达式:B:=(B&0xF0)|((A&0x0F)<<4)

3)答案要点

常见分频:若时钟8MHz,若定时器提供分频选项Fdiv,最常用

的是64、256、1024等;要得到1ms,一个简单方案是以8MHz/8

=1MHz的计数频率,在CTC/比较模式下设OCR为999(若计数从0

开始),得到1ms。也可使用更小的分频组合。

公式:T=(OCR+1)Prescaler

文档评论(0)

1亿VIP精品文档

相关文档