嵌入式第四十五篇——51单片机基础
本文摘要:文章介绍了单片机GPIO的输入输出模式(开漏、推挽、浮空等),独立按键的工作原理(高低电平检测),中断的概念与处理流程(优先级、嵌套、寄存器配置),定时器的应用(16位计数器、寄存器设置),PWM调制原理(周期与占空比),以及蜂鸣器的分类与发声原理(有源/无源、频率控制)。重点阐述了51单片机的中断机制和定时器配置方法,为嵌入式系统开发提供了基础技术参考。
一、GPIO(Genral Purpose Input Output,通用输入输出)
1、输出模式:控制引脚输出高电平/低电平(给定控制信号)
(1)开漏输出
(2)推挽输出
(3)复用开漏
(4)复用推挽
2、输入模式:检测引脚的电平(接收外部信号)
(1)上拉输入
(2)下拉输入
(3)浮空输入
(4)模拟输入
二、独立按键
1、原理图

2、工作原理
当按键未被按下时,引脚会呈现高电平,当按键被按下时,会造成引脚和GND短路到一起,此时对应的引脚会呈现低电平。
判断按键是否被按下,只需要判断引脚是否为低电平即可
三、中断
1、中断概念:
当CPU正在执行某个任务的时候,此时外界发生了一个紧急的事件,要求CPU能够暂停当前的任务,转而去执行这个更为紧急的事件,执行完这个紧急事件再回到刚才被打断的地方,继续执行,这个过程叫做中断
2. 中断源:
能够打断CPU执行当前任务的源头/事件
3. 中断源分类:
外部中断:引脚电平的变化所引发的中断
(1)外部中断0;INT0 -> P32引脚
(2)外部中断1;INT1 -> P33引脚
(3)定时器0
(4)定时器1
(5)串口
4. 中断优先级:
当CPU在执行一个任务的时候,此时可能有多个中断源同时发起中断请求,此时CPU比较中断源的优先级,优先处理优先级高的中断

5. 中断嵌套:
CPU在处理一个中断任务的时候,再去嵌套另外的一个中断任务(51单片机中最多允许嵌套两层)
6. 中断处理流程:
(1)中断源发出中断请求
(2)检查CPU是否允许中断及该中断源是否被屏蔽
(3)比较中断优先级
(4)保护现场
(5)执行中断处理函数(回调函数)
(6)恢复现场
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周期内所占的比例
六、蜂鸣器
震荡源 声音(波)-> 音调 -> 波的频率发生了变化 -> 高音 (高频) 低音(低频)-> 音量 -> 振
幅 能量大小
蜂鸣器分类:
(1)有源蜂鸣器:有源蜂鸣器内部有震荡源,上电后会持续发出一个固定频率的声音
(2)无源蜂鸣器:无源蜂鸣器内部没有震荡源,需要给定蜂鸣器一个震荡
原理图:

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)