响应处 若有多个中断响应,需要先执行中断优先级高的
中断嵌套:A程序执行,中断服务程序B打断A,执行B,执行B时又有中断服务程序C打断C,先执行C,再执行B,再执行A
下图最重要!
共八个中断端口:外部中断(0 1 2 3)+定时器(0 1 2 )+串口
8051或8052等较低级单片机有5个:外部中断(0 1)定时器(0 1)+串口
优先级问题:
外部中断优先级排列:(从上到下,优先级依次降低)
INTO(外部中断0)>TO(定时器0)>INT1(外部中断1)>T1(定时器1)>RX>TX(RX+TX组成串口)
若通过寄存器改变默认(上述优先级),形成两个优先级相同,则也需要比较默认优先级高低来执行
INT0,连接P3^2管脚,通过寄存器生效,选择是下降沿触发还是低电平触发,
将INTO设置成0,则非后为1,则为低电平触发。将INTO设置成1,则选择下降沿触发,不管选择哪一个,都作用于IEO,IEO为中断标志,自动生成1。将外部势能中断EXO打开为1,再打开全局中断EA为1。IP默认选择之后,传递给中断入口
INT1,连接P3^3管脚,....
TO,连接P3^4管脚,寄存器16位,范围0~65535,若是65536,则溢出,TFO自动置1,ETO置哦,EA连接,PXO默认选择,传递给中断入口
T1,连接P3^5管脚,......
RX+TX,对应P3^0+P3^1功能,传递给RI和TI,经过或门(有一个为1就为1),传递给ES置1,PS置1,传递给中断入口
注:需要打开总中断,否则任意一个中断都无法工作
(上一张图EX部分为寄存器)
EA为总中断,ES为串行口中断允许位,......
已介绍过,可跳过
注:编程时,中断号对应的中断源程序要背会,如0对应INTO......不能更改,不能记错
解释:中断请求+中断代码+总中断打开
进入中断需要interrupt关键字,不能写错.....0对应外部中断0,不能写错 using 1可省略