嵌入式硬件第二弹——51单片机(2)

(续接上篇)

3. GPIO

Genral Purpose Input Output:通用目的输入输出

3.1 输出模式

给定引脚电平,控制引脚高低电平的变化

  • 推挽输出
  • 开漏输出 LED 数码管
  • 复用推挽
  • 复用开漏

3.2 输入模式

检测引脚电平变化

  • 上拉输入
  • 下拉输入
  • 浮空输入
  • 模拟输入

4. 中断

4.1 概念

4.1.1 中断

当CPU执行某个任务时,外界发生了一个紧急事件,要求CPU放下 当前的任务,转而去执行这个更为紧急的事件,执行完紧急事件后再回到 原来被打断的地方继续向下执行

4.1.2 中断源

打断CPU执行当前任务的源头/事件

5个:外部中断0、外部中断1、定时器0、定时器1、串口

4.1.3 中断优先级

CPU去执行中断任务时,会去比较多个中断的优先级 优先去执行优先级更高的中断

51单片机中最多允许中断嵌套两层

4.2 中断处理流程

  1. 中断源发出中断请求

  2. 检查CPU是否响应中断(总开关)及该中断源被屏蔽(子开关)

  3. 比较中断优先级

  4. 保护现场

  5. 执行中断服务函数

  6. 恢复现场

中断向量表:本质就是一个数组,数组中存放的是中断服务函数入口地址

中断向量:本质上是一个标号,可以通过标号在中断向量表中找到中断服务函数的 入口地址

4.3 外部中断

4.3.1 概念

引脚电平的变化所引发的中断(P3_2 P3_3)

4.3.2 流程

4.4 定时器

  • timer0 计数器0
  • timer1 计数器1

16位模式定时器 65535 自增型定时器

4.4.1 初值计算

clock 时钟

CPU工作频率

12MHZ -> 定时器

11.0592MHZ -> 波特率

分频器

12MHZ / 12 = 1MHZ

11.0592MHZ / 12 = 0.9216MHZ

时间: 1 / 1MHZ = 1us 1 / 0.9216MHZ = 1.085us timer 0 1ms

定时: 1ms = 1000us 1000us / 1us = 1000 922

初值:65535 - 1000 = 64535 12MHZ 64,613 11.0592MHZ

4.4.2 流程

4.5 蜂鸣器

4.5.1 PWM

脉冲宽度调制 :能够使引脚产生一个方波 PWM可以让引脚电平周期性进行翻转

PWM周期:一个PWM方波所经历的时间(从上升沿/下降沿到下一个上升沿/ 下降沿所经历的时间)

PWM占空比:高电平在一个周期内所占的比例

4.5.2 震荡源

波 -> 音调不同 :高音 高频 、低音 低频

音量 -> 振幅大小

4.5.3 分类

  • 有源蜂鸣器:内部会存在震荡源,上电后蜂鸣器会发出固定频率的声音
  • 无源蜂鸣器:内部不存在震荡源,上电后不会发出声音,需要给定一个震荡
相关推荐
Devlab2 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder5 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡7 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛139246256737 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun9 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界10 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈10 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun10 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果10 小时前
28-DRV8825PWPR步进电机驱动器
单片机
恒锐丰科技韩生11 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程