day40- 硬件学习之 51单片机II (中断处理)

一、独立按键的使用

main.c


key.c


key.h

二、中断处理

2.1 定义

中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。


当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为 ++中断 ;++


实现这种功能的部件称为++中断系统++


请示CPU中断的请求源称为++中断源++
51单片机中嵌套优先级最多两层;

若中断优先级相同,中断号越小,越先响应;


中断执行流程:

  1. 中断源发出中断请求;
  2. CPU检查是否响应中断及该中断源是否屏蔽;
  3. 检查中断优先级;
  4. 保护现场;
  5. 执行中断服务函数;
  6. 恢复现场;
    中断向量表:

一个指针的数组,其中保存中断服务函数的入口地址;

51中的中断向量:

中断设置:中断方式、中断允许;

中断和轮询之间的区别

  1. 中断时,设备会通知CPU引起注意;而在轮询中,CPU会稳定地检查设备是否需要注意。
  2. 中断不是协议,而是一种硬件机制;轮询反之。
  3. 在中断中,该设备由中断处理程序提供服务;轮询时,该设备由CPU维修。
  4. 中断可以随时发生;轮询时,CPU会以固定的间隔稳定地对设备进行投票。
  5. 在中断中,中断请求线用作指示设备需要维修的指示;在轮询时,命令就绪位用作指示,表明设备需要维修。
  6. 在中断中,一旦任何设备将其中断,处理器就会受到干扰;在轮询中,处理器通过重复检查每个设备的命令就绪位来浪费无数的处理器周期。

2.2 外部中断使用方法

2.2.1 IE寄存器

2.2.2 IPH与IP寄存器

2.2.3 TCON寄存器

下降沿触发:从高电平到低电平的过程;

低电平触发:电平一直为低电平;

三、定时器/计数器

定时器的工作原理:

定时器的原理是一个加法器,通过晶振分之一开始加,直到溢出,发生中断;

定时器的功能:

LED点亮、数码管显示及模拟PWM功能

3.1 TCON寄存器

3.2 TMOD寄存器

四、PWM(脉冲宽度调制)及 蜂鸣器

PWM:一种通过数字信号控制模拟电路的技术;

指标:占空比、周期
蜂鸣器:分为有源和无源,源不是指电源而是指震荡源


通过按键实现蜂鸣器发出响声:

main.c :

相关推荐
星马梦缘6 天前
如何用VSCODE开发stm32 (日志输出打印)
ide·vscode·stm32·单片机·keil·keil assistant
小龙报6 天前
【51单片机】 给单片机加 “安全锁”!看门狗 WDT:原理 + 配置 + 复位验证全拆解,让程序稳定不跑飞
驱动开发·stm32·单片机·嵌入式硬件·物联网·51单片机·硬件工程
恶魔泡泡糖7 天前
51单片机DS1302时钟
单片机·嵌入式硬件·51单片机
嵌入式×边缘AI:打怪升级日志9 天前
C语言算术赋值运算复习笔记
c语言·stm32·单片机·算法·51单片机·proteus·代码
想放学的刺客9 天前
整理了120道单片机嵌入式面试题与答案,覆盖了硬件电路和C语言等核心领域。
c语言·c++·stm32·单片机·嵌入式硬件·mcu·51单片机
恶魔泡泡糖10 天前
51单片机-DS18B20温度传感器
单片机·嵌入式硬件·51单片机
小龙报11 天前
【51单片机】不止是调光!51 单片机 PWM 实战:呼吸灯 + 直流电机正反转 + 转速控制
数据结构·c++·stm32·单片机·嵌入式硬件·物联网·51单片机
送外卖的工程师11 天前
STM32 驱动五线四相步进电机(28BYJ-48+ULN2003)教程
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·proteus
CodeQingqing11 天前
cubemx + Keil + vscode + Keil Assistant 工作流
ide·vscode·编辑器·keil
清风66666613 天前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业