嵌入式实验---实验二 中断功能实验

一、实验目的

1、掌握STM32F103中断程序设计流程;

2、熟悉STM32固件库的基本使用。

二、实验原理

1、在上一章的实验基础上,添加一个按键和一个LED;

2、使用中断的方式实现以下两个功能:

(1)KEY1按键按下,LED1点亮;

(2)KEY2按键按下,LED2点亮。

三、实验设备和器材

电脑、Keil uVision5软件、Proteus 8 Professional软件

四、实验内容和步骤

4.1 代码开发

按照书本中实验流程在Keil中完成中断实验的代码开发;

4.2 原理图设计

在Proteus中完成原理图的设计,如图2所示。

图2 中断实验原理图

五、实验记录和实验结果

5.1 实验效果记录(附照片即可)

5.2 实验效果说明

当KEY1、KEY2都是谈起状态,D1、D2也是熄灭状态;当KEY1按下时,D1被点亮,再按下KEY2时,D2也被点亮。

六、实验预习要求

  1. 实验前认真阅读本实验指导;
  2. 熟悉书本中相关操作及相关器件。
  3. 完成5.1和5.2内容。

七、思考题

  1. 简述中断运行流程

  2. 中断发生:外部设备或系统的一个事件发生,例如按下按钮、定时器超时、接收到串口数据等。这些事件会引发中断请求(IRQ)。

  3. CPU响应:当中断发生时,CPU会暂停当前正在执行的指令,保存当前上下文(通常是将寄存器状态保存到堆栈中)。

  4. 中断服务程序(ISR)执行:CPU根据中断向量表(或中断服务程序表)确定哪个中断服务程序(ISR)应该执行,然后跳转到相应的ISR代码处执行。

  5. 中断服务程序执行:ISR是一段特殊的代码,用于处理特定的中断事件。它可能会执行一些预定的操作,例如清除中断标志、读取传感器数据、更新状态等。

  6. 中断结束:在ISR执行完毕后,通常需要恢复之前保存的CPU上下文(从堆栈中恢复寄存器状态)。

  7. 返回到主程序:执行完ISR后,CPU会返回到中断发生之前的程序位置继续执行。

2、中断功能的意义

  1. 提高系统响应速度:中断允许系统在等待某些事件发生时继续执行其他任务。这种事件驱动的响应机制可以显著提高系统的响应速度和效率。例如,当传感器检测到物理事件(如按钮按下、数据接收),中断能够立即通知CPU并处理相应的事件,而不需要CPU持续轮询检测。

  2. 支持多任务处理:在多任务操作系统中,中断使得系统可以快速响应各种事件,包括时间触发、通信完成等。通过合理的中断管理,系统可以有效地管理和调度多个任务,提高系统的并发性和效率。

  3. 节省系统资源:使用中断可以有效地节省系统资源,因为它避免了需要周期性轮询的常规检测方法。这对于资源受限的嵌入式系统尤为重要,因为它们通常需要尽可能高效地利用处理器和内存。

  4. 实现实时性:中断是实时系统中实现实时性的关键机制之一。通过响应硬件事件的方式,系统可以在严格的时间限制内完成必要的任务,例如控制和监视。

  5. 模块化和可维护性:中断使得系统的不同部分能够独立地响应和处理事件,从而提高了系统的模块化和可维护性。开发人员可以更容易地理解和调试系统的不同部分,使得代码更加清晰和可靠。

相关推荐
云泽8087 分钟前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
星栖与芯4 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
JNX_SEMI5 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件
Zw-awa6 小时前
重新认识结构体:为什么 STM32 库函数喜欢接收一大包参数
stm32
智购科技无人售货机工厂6 小时前
2026自动售货机AI智能体架构:从47个小模型到33.7亿Token的工程实践~YH
android·人工智能·驱动开发·单片机·pandas
单片机仿真设计7 小时前
【proteus仿真】基于 STM32 单片机太阳能双轴追踪系统 Proteus 仿真设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·课设
zhangzhangkeji8 小时前
stm32 3-4 : 按键控制 LED,光敏传感器控制蜂鸣器
stm32·arm
Lzh编程小栈8 小时前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试
新晨单片机设计9 小时前
S016A-基于STM32单片机电子秤(LCD1602显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
wuyk5559 小时前
从零吃透 MQTT 通信|第 11 章 MQTT 项目调试验证、性能优化、常见疑难问题、OTA 升级基础
c语言·开发语言·stm32·学习·性能优化