应朋友的要求,说明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授权后发布,版权归原作者所有。该平台仅提供信息存储服务。本文仅代表作者的个人观点,并不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!