蓝桥杯单片机之中断学习记录

前言

蓝桥杯单片机中断系统学习记录

一、硬件原理

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
在这里插入图片描述
P3.2引脚与P3.3引脚分别对应外部中断0和外部中断1功能,两者引脚在原理图上是按键的一部分,将COM3中2、3脚短接,即共同接地,所以当按键按下时即触发下降沿中断。
在这里插入图片描述
所以根据以上中断结构图来配置相应的位即可。

二、程序搭建

main.c

#include "bsp_init.h"
#include "bsp_led.h"
#include "Delay.h"
#include "Int_init.h"

/*全局变量*/
unsigned char ucled;
unsigned char i;

void main(void)
{
	Cls_Peripheral();
	Int_init();
	while(1);
}

/**
  * 函数名:外中断0中断服务函数
  * 函数功能:完成LED的反转
  * 入口参数:无
  * 返回值:无
  */
isr_itr_0() interrupt 0//函数+中断号
{
	for(i=0;i<3;i++)
  {	
		ucled = 0x01;
		Led_Disp(ucled );
		Delay(200);
		ucled = 0x00;
		Led_Disp(ucled );
		Delay(200);
  }
}

/**
  * 函数名:外中断1中断服务函数
  * 函数功能:完成LED的反转
  * 入口参数:无
  * 返回值:无
  */
isr_itr_1() interrupt 2//函数+中断号
{	
	for(i=0;i<5;i++)
  {	
		ucled = 0x02;
		Led_Disp(ucled );
		Delay(500);
		ucled = 0x00;
		Led_Disp(ucled );
		Delay(500);
  }
}

Int_init.c

#include "Int_init.h"

/**
  * 函数名:外部中断初始化函数
  * 函数功能:对外中断初始化,并配置成下降沿触发
  * 入口参数:无
  * 返回值:无
  */
void Int_init(void)
{
	IT0 = 1;//配置成下降沿触发,如果是0则上升沿下降沿均可触发
	EX0 = 1;//配置外中断0使能
	PX0 = 1;//配置成高优先级
	
	IT1 = 1;//配置成下降沿触发
	EX1 = 1;//配置外中断1使能,如果是0则上升沿下降沿均可触发
	PX1 = 0;//配置成低优先级
	
	EA = 1;//打开总中断
}

Int_init.h

#include "STC15F2K60S2.H"

/**
  * 函数名:外部中断初始化函数
  * 函数功能:对外中断初始化,并配置成下降沿触发
  * 入口参数:无
  * 返回值:无
  */
void Int_init(void);

其他的.c/.h文件在我这篇文章里【蓝桥杯单片机之点灯学习记录】,相当于是在原来的基础上再添加的,只需修改函数,添加头文件和中断服务函数即可,这里就不贴出了。

中断嵌套效果演示

中断嵌套演示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小小的Wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值