N2 中断

GPIO:Gemral Pupose Input Output,通用目的输入输出。

引脚->输入输出引脚

GPIO 输入模式:监测引脚电平变化。

GPIO 输出模式:给定引脚高电平/低电平下,控制引脚输出高电平/低电平

一、中断系统

概念:当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。

实现这种功能的部件叫中断系统。

中断源:能够打断CPU执行当前任务源头/事件叫做中断源。

51单片机:5个中断源

外部中断0、外部中断1、定时器0、定时器1、串口。

外部中断:引脚电平的变化所引发的中断。
中断优先级:CPU处理中断任务时,需要比较中断优先级,优先去处理优先级更高的中断请求中断嵌套:CPU再处理一个中断任务时,嵌套处理其他优先级更高的中断任务(51单片机

最多允许嵌套两层)。

中断处理流程:

1.中断源发起中断请求

2.检查CPU是否允许中断及中断源是否被屏蔽

3.比较中断优先级

4.保护现场

5.执行中断服务函数

6.恢复现场

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

中断向量:中断向量表中各中断服务函数的标号

cs 复制代码
#include <reg51.h>
#include "key.h"

unsigned int g_n = 0;

// 外部中断0 中断服务函数
void int0_handler(void)		   interrupt 0
{
	g_n++;
}

// 外部中断0 初始化函数
void int0_init(void)
{
	// 将外部中断0引脚拉高
	P3 |= (1 << 2);

	// 打开CPU中断总开关
	IE |= (1 << 7);

	// 开启外部中断0子开关
	IE |= (1 << 0);

	// 设置外部中断0触发方式:下降沿触发
	TCON |= (1 << 0);
}

二、定时器

定时器:能够产生一个精准的定时。

时序:以时间先后次序,描述引脚上电压变化。

16位自增型定时器/计数器

0-65535

unsigned short count=65535 - 922 = 64613;

从初值开始++,+到6535溢出后向CPU发起定时器中断请求(初值大小,自增速率)。
Clock:时钟,CPU运行的速率

晶振频率:11.0592MIHZ

分频器:可以将晶振提供频率/分频系数,降低频率。

51单片机工作频率:11.0592MIHZ/12=0.9216MHZ

++所需要的时间:1/0.9216MIHZ=1.085uS1ms

定时:1ms=1000us

计数次数:1000us/1.085us=922

初值:65535-922 = 64613

cs 复制代码
void timer0_init(void)
{
	TMOD &= ~(0x0F << 0);
	TMOD |= (1 << 0);
	
	TL0 = 64613;
	TH0 = 64613 << 8; 

	TCON |= (1 << 4);

	IE |= (1 << 7);
	IE |= (1 << 1);

}

// 外部中断0服务函数
void timer0_handler(void) 	interrupt 1
{
	TH0 = 64613 >> 8;
	TL0 = 64613;

  	g_i++;
	if (g_i >= 1000)
	{
		led_nor();
		g_i = 0;	
	}
}

三、蜂鸣器

PWM:脉冲宽度调制,能够产生一个方波,能够让引脚电平周期性发生变化

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

PWM占空比:高电平在一个周期内所占的比例。
声-》波->音调->频率 高音 高频 低音 低频 音量->波的振幅能量大小

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

无源蜂鸣器:不存在震荡源,通电后不会发出声音,需要给定一个震荡

相关推荐
国科安芯3 小时前
立方星与微纳卫星综合电子微型化趋势下的抗辐射MCU选型综述
人工智能·单片机·嵌入式硬件·mcu·risc-v·抗辐射
xunyan62343 小时前
3-1 独立按键控制LED亮灭(SDCC + Notepad++ + STC-ISP/普中ISP)
单片机·嵌入式硬件·接口隔离原则
WD137298015574 小时前
WD5030L,为充电桩、工业设备、5G 基站、车载系统、消费电子提供电源,7-30V 的宽压输入
stm32·单片机·嵌入式硬件·5g·车载系统·51单片机
创界工坊工作室6 小时前
30-基于STM32的小麦烘干塔温度控制系统设计
stm32·单片机·嵌入式硬件·proteus
Zwawa7 小时前
先把轮子转稳,才不会烧心:编码器速度环 PID 怎么接回 PWM
c语言·单片机·嵌入式
单片机仿真设计8 小时前
【proteus仿真设计】基于 STM32 的开荒机器人遥控控制系统设计(仿真图+程序)
stm32·嵌入式硬件·机器人·proteus
smartpi_ai8 小时前
51 单片机写好了,大模型语音怎么接?17T 全驱动的现成方案、双板串口分工的边界与画板前的三项硬件确认
单片机·嵌入式硬件·学习
我先去打把游戏先8 小时前
NimBLE是什么-ESP32蓝牙协议栈详解
单片机·嵌入式硬件·ubuntu
木子n19 小时前
车载以太网与SOME/IP服务化通信实战-02.状态机与订阅:SOME/IP-SD的三态迁移、重传账与上电风暴
嵌入式硬件·网络协议·车载系统·车载以太网·some/ip
Gongsion9 小时前
30V输入耐压|1.5μA超低静态电流|200mA输出,CSM52系列:线性稳压器LDO,12V母线转3.3V/5V传感器、MCU弱电支路可靠稳压方案
单片机·嵌入式硬件·车载系统·无人机·智能家居