欢迎来到我司精密电阻产品网站!
微控制器的中断是什么?
精密电阻 2022-11-28

应朋友的要求,说明MCU中断的知识。

今天,我以51 MCU的外部中断0为例,简要解释MCU中断的用法。

1 51单片机的中断源51单片机有5个中断源,分别是:外部中断0定时器0中断外部中断1定时器1中断串口中断每个中断对应一个中断向量,该中断向量表如下:2什么是中断事件?发生中断时,微控制器会暂时放下正在执行的程序以处理中断事件。

当中断事件被处理时,它将继续处理先前的事件,这可以大大减少微控制器的资源并提高执行效率。

举个例子来说明什么是中断:我非常喜欢玩CS。

我每天晚上花时间玩CS,但与此同时厨房里水沸腾了。

为了防止水沸腾干dry,我每隔5分钟去厨房检查一次水。

确实发生了,但是这错过了比赛,总是被别人的爆头杀死。

我很伤心。

我该怎么办?因此,我在互联网上买了一个水壶,当水烧开时,水壶会沸腾,这样我就不必每5分钟去厨房一次,这样我就可以专注于玩游戏了。

只有当我听到水壶发出吱吱声时,才将水倒出。

就是这样。

在此示例中,玩游戏是主要任务,开水是中断,吱吱声是中断向量。

当我听到吱吱声时,我知道水正在沸腾。

这时候,我想暂时放下玩游戏的主要任务。

为了解决沸腾水的中断问题,倒水后我回到了游戏的主要任务。

这会提高玩游戏的效率吗? 3中断的硬件实现51单片机的外部中断0引脚连接到一个按钮,该按钮通过上拉电阻连接到电源。

即,当按下按钮时,单片机检测到高电平。

是低级的。

单片机的P0.0引脚以吸收电流的方式连接到LED。

按下按钮时,LED指示灯点亮;没有按钮时,LED指示灯熄灭。

4中断软件的实现MCU中断功能的写入方法相对固定。

51 MCU中断函数的编写方法如下:void Initd()interrupt 0其中:void:是中断函数的返回类型,并且中断函数大多为null类型; Initd():是中断函数的名称,此函数名称可以符合C语言函数的命名规范,只需启动它即可;中断:是51单片机中断的关键字,必须这样写(51单片机必须写这个); 0:是中断向量,详细值请参见第一个表,如果是外部中断1,则写2;如果是定时器1中断,则写3;如果是外部中断1,写3。

只要在发生中断事件时,不需要在主函数中调用中断函数,微控制器本身就会主动调用中断函数。

该示例的功能如下:5模拟实现按下一个键时,LED灯点亮,如下图所示。

注意比较两个图中按钮的状态。

免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!