单片机DAY_2
1.GPIO
GPIO:通用目的输入输出
两种工作模式
输出模式:LED控制,数码管控制,蜂鸣器控制
输入模式:检测引脚电平变化(检测外部电平信号 按键检测、检测ADC变化)
2.中断
中断的概念:CPU在处理某个任务时,被外界更为紧急的事件打断,要求CPU优先去处理这个更为紧急的事件;处理完紧急事件后,再回到之前被打断的地方继续向下执行
3.51单片机中断源类型及个数
外部中断0、外部中断1、定时器0、定时器1、串口
个数:5个
4.什么是外部中断
引脚电平变化引起的中断
INT0:外部中断0 P3_2引脚
INT1:外部中断1 P3_3引脚
5.中断处理流程
中断源发出中断请求
检查CPU是否允许中断(总开关 能够响应外部中断)及该中断源是否被屏蔽(子开关 能够产生对应的中断)
比较中断优先级
保护现场
执行中断服务函数(回调函数)
恢复现场
6.51单片机中有几个定时器
两个定时器,定时器0和定时器1
7.定时器工作模式
模式0 :13位定时器
工作方式:仅作为定时器,自动重载。
工作情景:用于周期性的定时任务,产生固定时间间隔的中断。
模式1:16位定时器
工作方式:仅作为定时器,手动重载。
工作情景:用于需要更长时间跨度的定时任务,由软件手动控制定时器的重装值。
模式2:8位自动重装定时器
工作方式:作为定时器,并在中断处理程序中自动重装初值。
工作情景:适用于需要周期性定时任务,且中断处理程序需要花费较长时间。
模式3:双重8位定时器
工作方式:两个8位定时器/计数器一起工作。
工作情景:适用于需要同时进行两个定时任务或频率测量的情况。
8.定时器配置流程
1.赋初值(TH、TL 配置)
赋初值:cnt = 64535 TL 初值低位 TH 初值高位
2.启动定时器
打开计数器,开始计数
3.计数运行逻辑
按照固定的频率 ++
计数器加到 65535 + 1 -> 溢出 -> CPU 定时器中断请求
4.定时时间计算(配置初值的依据)
从初值 + 溢出 -> 所经历的时间:1. 初值大小 2. 频率 1ms 的精准定时: 晶振频率:12MHZ 11.0592MHZ 51 单片机实际工作频率:12MHZ 11.0592 / 12 = 1MHZ 0.9MHZ 时间:1 / 1MHZ = 1us 1 / 0.9MHZ = 1.1us 1ms 定时:1ms = 1000us 计数次数:1000us / 1us = 1000 定时器初值:65535 - 1000 = 64535
9.8位自动重装载定时器工作原理
10.PWM周期
一个方波所经历的周期(上升沿/下降沿到下一个上升沿/下降沿所经历的时间)
11.PWM占空比
在一个周期内高电平所占的比例(LCD屏幕亮度调节、LED灯亮度调节、蜂鸣器)
12.有源蜂鸣器和无源蜂鸣器
有源蜂鸣器:内部存在震荡源,通电后可以发出持续固定频率的声音 无源蜂鸣器:不存在震荡源,需要给定对应引脚一个高低电平产生震荡(可以输出指定频率音调 )
