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

一、实验目的

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

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘4 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd8451015004 天前
RS485 总线详解
单片机·嵌入式硬件
牛根生同志4 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
goldenrolan4 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘4 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展4 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司4 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑4 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
CC城子4 天前
STM32H7_FDCAN 驱动笔记
stm32·can·canfd
意法半导体STM324 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发