【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);
}
相关推荐
振浩微433射频芯片1 小时前
从门锁到考勤,VRC522B如何在近场读卡场景中“稳坐C位”?
网络·人工智能·单片机·物联网
Groundwork Explorer13 小时前
W5500 网卡编程初始化与使用指南
python·单片机
智闲电子设计15 小时前
STM32 SD 卡 + FatFS 实战:掉电丢数据?f_sync 和簇对齐写救你
stm32·单片机·嵌入式硬件
ヾChen17 小时前
ESP32 OTA 踩坑实录
stm32·单片机·嵌入式硬件·物联网·学习
DevHub17 小时前
probe-rs 教程:一行命令替代 OpenOCD 烧写调试 Cortex-M
arm开发·嵌入式硬件·mcu·rust
小僧景贤17 小时前
嵌入式ADC高阶深度解析:基于STM32底层原理、误差溯源、硬件调校与工业级落地
单片机·嵌入式硬件·stm32 adc·工业级高精度采集·adc 误差校准·量产固件开发
黑猫学长呀18 小时前
【驱动开发常见问题】编译出现rm: cannot remove `asm/arch‘: Is a directory
驱动开发·单片机·嵌入式硬件·bug·编译报错·kernrl
雨田言炎18 小时前
STM32专题之内部FLASH详解
笔记·stm32·单片机
Be for thing20 小时前
【嵌入式成长10】STC89C51蜂鸣器|有源/无源蜂鸣器区分、三极管驱动、定时器播放音乐实战
单片机·嵌入式硬件·学习
郎哥编程课堂21 小时前
单片机零基础训练营第2天:嵌入式开发常用的三种进制
单片机·嵌入式硬件