【51单片机】外部中断

0、前言

参考:普中 51 单片机开发攻略 第16章 及17章

1、硬件

2、软件

c 复制代码
#include <reg52.h>
#include <intrins.h>
#include "delayms.h"

typedef unsigned char u8;
typedef unsigned int u16;

sbit led = P2^0;
sbit key3 = P3^2;

//外部中断0初始化函数
void Int0Init()
{
	//设置INT0
	IT0 = 1; //跳变沿出发方式(下降沿)
	EX0 = 1; //打开INT0的中断允许
	EA = 1; //打开总中断
}

void Int0() interrupt 0
{
	delayms(100); //正常消抖10ms,但是中断触发100ms实际效果更加
	if(key3 == 0)
	{
		led = ~led;
	}
}

void main()
{
	Int0Init();
	while(1);
}
相关推荐
我送炭你添花17 分钟前
工业触摸屏:电阻式触摸屏控制器选型详解
单片机·嵌入式硬件·自动化
17(无规则自律)18 分钟前
【CSAPP 读书笔记】第一章:计算机系统漫游
linux·c语言·arm开发·嵌入式硬件·学习·ubuntu
国科安芯23 分钟前
永磁同步电机驱动控制系统中MCU的抗干扰设计
单片机·嵌入式硬件·性能优化·架构·安全性测试
梁洪飞38 分钟前
内核启动卡死在Starting kernel ...,没有任何打印如何定位
linux·arm开发·嵌入式硬件·arm
济6171 小时前
linux 系统移植(第十六期)---Linux 内核移植(5)-- 修改网络驱动(1)--- Ubuntu20.04
linux·嵌入式硬件
雾削木1 小时前
STM32 HAL库 BMP280气压计读取
linux·stm32·单片机·嵌入式硬件
OopspoO1 小时前
lubancat-A1
嵌入式硬件
Y1rong1 小时前
STM32之ADC
stm32·单片机·嵌入式硬件
蓬荜生灰1 小时前
STM32(8)-- 自己创建库函数
stm32·单片机·嵌入式硬件
qq_401700411 小时前
基于CN3762 PWM 降压模式双节18650锂电池充电管理芯片
单片机·嵌入式硬件