单片机day2

十、GPIO

  • Genral Purpose Input Output,通用输入输出,是与外界交互最基本的形式,可以独立的将引脚配置为输入模式/输出模式

输出模式:控制引脚输出高电平/低电平(给定控制信号)

  • 开漏输出
  • 推挽输出
  • 复用开漏
  • 复用推挽

输入模式:检测引脚的电平(接收外部信号)

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

十一、独立按键

1.原理图

2.工作原理

当按键未被按下时,引脚会呈现高电平,当按键被按下时,会造成引脚和GND短路到一起,此时对应的引脚会呈现低电平。

判断按键是否被按下,只需要判断引脚是否为低电平即可。

十二、中断

1. 中断概念:

  • 当CPU正在执行某个任务的时候,此时外界发生了一个紧急的事件,要求CPU能够暂停当前的任务,转而去执行这个更为紧急的事件,执行完这个紧急事件再回到刚才被打断的地方,继续执行,这个过程叫做中断。

2. 中断源:

外部中断:引脚电平的变化所引发的中断

  • 外部中断0

INT0 -> P32引脚

  • 外部中断1

INT1 -> P33引脚

  • 定时器0
  • 定时器1
  • 串口

4. 中断优先级:

  • 当CPU在执行一个任务的时候,此时可能有多个中断源同时发起中断请求,此时CPU比较中断源的优先级,优先处理优先级高的中断

5. 中断嵌套:

  • CPU在处理一个中断任务的时候,再去嵌套另外的一个中断任务(51单片机中最多允许嵌套两层)

6. 中断处理流程

  • 中断源发出中断请求
  • 检查CPU是否允许中断及该中断源是否被屏蔽
  • 比较中断优先级
  • 保护现场
  • 执行中断处理函数(回调函数)
  • 恢复现场

7.中断相关寄存器:

(1)中断允许寄存器 IE寄存器

EA:

  • 置1:代表CPU允许所有中断请求
  • 置0:代表CPU屏蔽所有的中断请求

EX0:

  • 置1:允许外部中断0产生中断
  • 置0:禁止外部中断0产生中断

(2)定时器/计数器中断控制寄存器 TCON寄存器:

IT0:

  • 置1:代表外部中断0引脚(P32引脚)下降沿触发中断
  • 置0:代表外部中断0引脚(P32引脚)低电平触发中断

十三、定时器

1.定时器

  • 产生精准时间,不同外设对时间要求是精准的
  • 51单片机中有两个定时器,分别是Timer0和Timer1,是自增型定时器

2. 定时器工作原理:

  • 定时器内部有个16位的计数器,给定计数器一个初值,会按照1us的速率进行自增,加到65535溢出时向CPU发起中断请求,CPU响应定时器中断并执行中断处理函数

3. 定时器寄存器:

TMOD 定时器模式配置寄存器

  1. 将TMOD寄存器中的低4位清0

  2. 将M0置1,M1清0,代表定时器0工作在16位定时器模式下

TCON 定时器控制寄存器:

将TCON寄存器中的TR0这一位置1,代表打开定时器,开始计数

将IE寄存器中的bit7和bit1置1,代表允许CPU响应所有中断 + 允许定时器0产生中断

十四、PWM

  • 脉冲宽度调制,能够让引脚产生一个方波,让引脚电平周期性的翻转
  • PWM周期:一个方波所经历的周期(从上升沿/下降沿到下一个上升沿/下降沿所经历的时间)
  • PWM占空比:高电平在一个PWM周期内所占的比例

蜂鸣器:

震荡源 声音(波)-> 音调 -> 波的频率发生了变化 -> 高音 (高频) 低音(低频)-> 音量 -> 振幅 能量大小

  • 有源蜂鸣器:有源蜂鸣器内部有震荡源,上电后会持续发出一个固定频率的声音
  • 无源蜂鸣器:无源蜂鸣器内部没有震荡源,需要给定蜂鸣器一个震荡
相关推荐
尼喃2 小时前
面向双节串联锂电池的高效充电解决方案,5V升压至8.4V/2A充电芯片PW4253及其系列选型指南
单片机·51单片机·芯片
上大科技蔡生2 小时前
FP5207兼容替代芯片CS5717:2.7V-36V宽输入,单节锂电池适用,异步升压DCDC
单片机·嵌入式硬件·dcdc
v先v关v住v获v取2 小时前
磁性数据线吸力测试装置设计8张cad+三维图+设计说明书
科技·单片机·51单片机
Q_21932764552 小时前
基于STM32的Buck变换器设计与控制系统
单片机·嵌入式硬件
爱潜水的小L2 小时前
自学linuxday46
单片机·嵌入式硬件
YuZou 邹宇2 小时前
macOS 下 STM32CubeMX 无法访问 Desktop / 打不开 .ioc 文件的解决方法
stm32·嵌入式硬件·macos
三花猫咪3 小时前
UBUNTU串口打印终端,X86主机变开发板
linux·运维·嵌入式硬件·ubuntu
mftang11 小时前
STM32 IO接口推挽输出 (PP)和开漏输出 (OD)
stm32·嵌入式硬件·推挽输出·开漏输出
天骄t12 小时前
嵌入式系统与51单片机核心原理
linux·单片机·51单片机