89C51单片机的中断基础

89C51单片机的中断基础

 

INT0表示interrupt 0即外部中断0

INT1表示interrupt 1即外部中断1

89C51单片机的中断基础

这是对应的锁存器控制,因为包含在头文件中所以不需要单独定义。

INT0位于TCON锁存器中的最后一位

EX0位于IE锁存器的最后一位

ET0位于IE锁存器的倒数第二位

 

#include<reg52.h>

sbit led=P3^0;

void main()
{
	 IT0=1;	//设置外部中断0的触发方式为下降沿
	 EX0=1;	//开启外部中断0
						//中断的设置,首先设置中断的触发方式,再设置开启终端,最后开启总中断。
	 IT1=1; //设置外部中断1的触发方式为下降沿			 //顺序保证:最后开启总中断
	 EX1=1;	//开启外部中断1
	 EA =1;	//总中断开关
	while(1)
	{
		P0=0xaa;
		P0=0xff;
	}
}

void EX0_ISR(void) interrupt 0
{
	led=~led;
}

void EX1_ISR(void) interrupt 2     //外部中断1的中断在此为2!!!! 
{
	led=~led;
}