51单片机GPIO与中断全解析

一.GPIO:Genral Purpose Input/Output。是51单片机和外界交互最基本的方式

工作模式:1)输出模式:单片机给定引脚一个电平(高电平(5v)低电平(0v)),控制引脚实现高低电平

2)输入模式:检测引脚电平变化(按键)

1.按键:低电平是被按下

二.中断

1)概念:CPU在执行一个任务的时候,被外界更为紧急的事件打断,转而处理这个紧急事件,处理完以后在回到原来被中断的地方继续执行原来的工作。

2)中断源:打断CPU执行当前任务的事件/源头叫做中断源(51单片机5个中断源)

3)中断源分类:外部中断0,外部中断1,定时器0,定时器1,串口

外部中断:单片机上的引脚电平变化所引发的中断(INT0(P3-2),INT1(P3-3))

4)中断优先级:CPU在处理中断任务时,会去比较多个中断的优先级,优先处理优先级高的中断

5)中断嵌套:处理一个中断时,在嵌套另外的中断。51单片机只允许嵌套2层

6)中断处理流程:

a.中断源发出中断请求

b.检查CPU是否响应中断及该中断源是否被屏蔽

c.比较中断的优先级

d.保护现场

e.执行中断服务函数

f.恢复现场

三.中断相关寄存器配置

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

(1)将IE寄存器中的bit7,EA置1,代表CPU能够响应所有中断

(2)将IE寄存器中的bit0,EX0置1,代表允许外部中断0产生中断

2)TCON寄存器(定时器寄存器)

(1)将TCON寄存器的bit1,IE0置1,代表向CPU发起中断请求,CPU响应完中断请求后,硬件请"0"

(2)将TCON寄存器的bit0,IT0置1,代表外部中断0下降沿触发中断

四.定时器

概念:能够产生一个精准的定时,不同外设对时序的要求高(高电平和低电平时间时精准的)

51单片机内部有两个定时器,分别为timer0,timer1,所使用自增型定时器(计数器 16 位)

Clock,时钟,CPU运行节拍,频率(单位 赫兹)

五.定时器相关寄存器配置

8位自动重装载定时器:分为TL0和TH0两部分,1byte,实际参与计数的只有TL0,当TL0中的值加到255溢出后,再将TH0中的值重新装入TL0中

TCON寄存器:

(1)bit4置1,代表允许定时器开始计数

TMOD寄存器

(1)定时器0->低四位请0

(2)将TMOD寄存器中的M0,bit0置1,代表定时器0工作在16位定时器/计数器模式

流程:

1.先配置TMOD模式选择寄存器,将低四位请0,再将bit0置1代表工作在16位定时器

2.向TH0和TL0中装入定时器的初值

3.将TCON寄存器中的bit6置1,代表允许定时器开始计数

4.将IE寄存器中的bit7和bit1置1,开启中断总开关和定时器0的开关

5.编写定时器0的中断服务

六.PWM

概念:脉冲宽度调制,能够让引脚产生一个方波,周期性的让引脚的电平发生翻转

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

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

蜂鸣器:

1)有源蜂鸣器:存在震荡源,通电后蜂鸣器会持续发出频率的声音

2)无源蜂鸣器:不存在震荡源,

相关推荐
Zeku20 小时前
20251125 - 韦东山Linux第三篇笔记【上】
linux·笔记·单片机
芯联智造1 天前
【stm32简单外设篇】- 单路 TTP223 电容式触摸传感器
c语言·stm32·单片机·嵌入式硬件
张工在路上1 天前
(深入探讨句柄泄漏、内存泄漏检测工具)我将分析可能导致内存泄漏(包括托管内存和非托管内存,如句柄泄漏)
stm32·单片机·嵌入式硬件
工程师平哥1 天前
APE-01 新建工程
笔记·嵌入式硬件
恒锐丰小吕1 天前
无锡黑锋 HF6206 系列低压差线性稳压器技术解析
嵌入式硬件·硬件工程
周周记笔记1 天前
[元器件专题] RC充电电路(七)
嵌入式硬件·测试工具·硬件开发
ACP广源盛139246256731 天前
GSV2712@ACP#2 进 1 出 HDMI 2.0/Type-C DisplayPort 1.4 混合切换器 + 嵌入式 MCU
单片机·嵌入式硬件·计算机外设·音视频
沉在嵌入式的鱼1 天前
STM32--GY906体温检测传感器
stm32·单片机·嵌入式硬件·gy906·体温检测
cooldream20091 天前
基于 RISC-V VisionFive 的桌面数字时钟项目实战
嵌入式硬件·risc-v·嵌入式开发
小李做物联网1 天前
26.3基于stm32单片机毕业设计物联网软硬件智能遮阳棚设计
stm32·单片机·嵌入式硬件·物联网