中断寄存器:
EA 为 总控制开关
ET0,EX1等为特定一个的开关
中断信号存在优先级,1.1 1.0 0.1 0.0优先级依次递减
硬件会先执行优先级高的信号,执行完后再执行优先级低的信号
使用中断命令,需要定义一个函数
例如函数void Time0Handler() interrupt 1
后面的interrupt1代表控制的是INT1的中断。这个函数可以和main一起执行(类似多线程)
定义中断服务函数
函数类型 函数名 (形式参数) interrupt n [using n]
中断号 中断源 中断向量
0 外部中断0 0003H
1 定时器/计数器0 000BH
2 外部中断1 0013H
3 定时器/计数器1 001BH
4 串行口 0023H
interrupt 关键字是不可缺少的,由它告诉编译器该函数是中断服务函数,并由后面的
n 指明所使用的中断号。n 的取值范围为0-31,但具体的中断号要取决于芯片的型号,像
AT89C51 实际上就使用0-4 号中断。每个中断号都对应一个中断向量,具体地址为8n+3,
中断源响应后处理器会跳转到中断向量所处的地址执行程序,编译器会在这地址上产生一个
无条件跳转语句,转到中断服务函数所在的地址执行程序。
//此处引用至 单片机中断中 void time0() interrupt 1 using 1中的interrupt 1 和 using 1各代表什么意思_武武haha的博客-CSDN博客