89C51单片机的中断基础
INT0表示interrupt 0即外部中断0
INT1表示interrupt 1即外部中断1
这是对应的锁存器控制,因为包含在头文件中所以不需要单独定义。
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;
}