【51单片机】外部中断

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

1、硬件
【51单片机】外部中断_第1张图片

2、软件

#include 
#include 
#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);
}

你可能感兴趣的:(STC51单片机,51单片机,单片机,嵌入式硬件)