51单片机外部中断

目录

1.外部中断介绍

STC89C5X系列单片机提供了4个外部中断:外部中断0(INTO)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)。

当进入主程序main开始,从上往下去执行,当此时突然来了中断响应,此时程序会暂停当前执行的行数,去执行中断函数,当中断函数里面的程序执行完成,此时会回到刚才程序暂停的位置继续往下执行下一行代码,继续一行一行的往下走。

外部中断0,通过TCON里面的IT0来设置,当IT0设置0时候,那么就是电平促发,如果IT0设置1的时候,那么就是下降沿促发,IE0是外部中断促发标志,判断P3.2引脚是否有中断促发,如果有,IE0系统内部自动设置1,就是当IT0设置1或者0的时候,P3.2引脚来一个低电平或者下降沿的时候,此时IE0就会促发中断标志,自己自动设置成1,同时还需要设置IE里面的EX0和EA中断总开关都需要设置成1,这样的话,CPU检测到了中断,就促发了中断。

对于外部中断1,跟外部中断0操作方式一模一样,只是外部中断0是P3.2,外部中断1是P3.3

                      单片机引脚图

外部中断0在单片机的P3.2引脚功能,外部中断1在单片机P3.3

                   IE寄存器内部设置

当我想要使用外部中断0或者外部中断1的时候,只需要将EX0或者EX1设置1,并且还要将EA总中断开关设置1,对IE寄存器操作
                   TCON寄存器内部设置

IT0或者IT1设置外部中断促发方式,当成功促发则IE0或者IE1自动设置成1

2.外部中断配置

1、中断源有中断请求;

2、中断源的中断允许位为1;

3、CPU开中断(即EA=1)。

3.硬件设计

外部中断0是P32引脚,外部中断1是P33引脚,这里都接了一个开关,P32和P33引脚接了一个上拉电阻,当什么都不操作的时候,都是高电平,当按下开关后,就会变成低电平,也就是说当按钮按下由高电平变成低电平就是一个下降沿,此时正好促发外部中断0或者外部中断1

4.实现功能

通过外部中断0和外部中断1控制LED灯亮灭操作

5.软件设计

c 复制代码
#include <reg51.h>
#include <intrins.h>
#define u16 int
#define u8 char
sbit LED = P2^5;
void delay_50ms(u16 us) {
	while(us--);
}
void exter0_init(void) {
	EA = 1;  //打开总中断开关
	EX0 = 1; //打开外部中断0
	IT0 = 1; //下降沿促发方式
}

void exter1_init(void) {
	EA = 1;  //打开总中断开关
	EX1 = 1; //打开外部中断0
	IT1 = 1; //下降沿促发方式
}
void main() {
	exter0_init();
	exter1_init();
    while(1) {
		
	}
}
void int0() interrupt 0 {
   LED = !LED;
}
void int1() interrupt 2 {
   LED = !LED;
}

6.电路仿真设计

当按下P3.2引脚对应的开关就是从1变成0下降沿,外部中断0触发,外部中断0的功能就是让LED5取反,当按下p3.3引脚对应的开关也是从1变成0下降沿,外部中断1触发,外部中断1的功能也是让LED5取反,可以做到P3.2开关开灯,P3.3开关进行关灯。

相关推荐
潘潘的嵌入式日记1 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
AOI小白新手上路2 小时前
江科协51单片机16-1 AD/DA ADC 三通道综合显示(LCD1602 版)改造说明
单片机·嵌入式硬件·51单片机
xx~t2 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
HUI-4743 小时前
EG1135|SSOP‑16 同步整流降压控制器,大功率外置 MOS 降压优选
单片机·嵌入式硬件·硬件工程
单片机仿真设计4 小时前
【proteus仿真】基于 STM32 单片机恒温箱控制系统设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
国科安芯4 小时前
星载CAN总线通信网络中抗辐射MCU的通信可靠性设计分析
网络·人工智能·分布式·单片机·嵌入式硬件·架构
新晨单片机设计5 小时前
S003A-基于STM32单片机温度计(数码管显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·stm32单片机功能定制
AOI小白新手上路5 小时前
江科协51单片机16-1 DA数模转换实验(PWM 呼吸灯)
单片机·嵌入式硬件·51单片机
羚尔6 小时前
C语言数组
c语言·开发语言
hongmai6668886 小时前
告别Wi-Fi,专注Mesh:ESP32-H2-MINI-1U-H2S模组规格与应用
单片机·嵌入式硬件·物联网·5g·h.265