1.中断与函数调用的差异性
中断过程与调用一般函数过程的相似性:两者都需要保护断点,都可实现多级嵌套等。
中断过程与调用一般函数过程的差异性:
(1)前者是程序设计者事先安排的(断点是明确的),而后者却是系统根据工作环境随机决定的(断点则是随机的)。
(2)主函数与调用函数之间具有主从关系,而主函数与中断函数之间则是平行关系;
(3)一般函数调用是纯粹软件处理过程,而中断函数调用却是需要软、硬件配合才能完成的过程。
2.中断源
一共有五种中断源
(1)外部中断源(INT0和INT1):外部中断
(2)内部中断源(T0和T1):定时器溢出中断
(3)内部中断源(TX和RX):串行口中断
3.中断寄存器(重点)
(1)TCON:定时/计数器的控制寄存器(Timer/Counter Control Register),字节地址为88H,可位寻址。
51单片机复位后,TCON初值为0,即默认为无上述4个中断请求、电平触发外部中断方式。
(2)SCON:串口控制寄存器(Serial control register),字节地址为98H,可位寻址。
TI和RI虽然是2个中断请求标志位,但在SCON之后经或门电路合成为1个信息,统一接受中断管理。
(3)IE:中断允许寄存器(Interrupt Enable Register),字节地址为A8H,可位寻址。
单片机复位后,IE的初值为0,即默认为整体禁止中断。
(4)IP:中断优先级寄存器(Interrupt Priority Registers),字节地址为B8H,可位寻址。
51单片机复位后,IP初值为0,即默认为全部低优先级中断。
(5)优先级
1)高级中断请求可以打断正在执行的低级中断;
2)同级或低级中断请求不能打断正在执行的中断;
3)同级中断源同时提出请求时按自然优先级响应:INT0→ T0 → INT1→T1→TI/RI
4)单片机复位时,IP各位都被置0,所有中断源为低级中断
4.中断请求的撤除:把它的相应标志位复位成“0”状态
(1)定时器溢出中断请求的撤除:自动撤除
(2)串行口中断请求的撤除:通过指令撤除
1) CLR TI ;撤除发送中断
CLR RI ;撤除接收中断
2)ANL SCON,#0FCH;撤除发送和接收中断
(3)外部中断的撤除:在负边沿触发方式下
CPU在响应中断时自动复位IE0和IE1,以撤除INT0或INT1上的中断请求
在电平触发方式下
必须使INT0或INT1上低电平随着其中断被CPU响应而变为高电平。
〔例〕 请写出INT0为低电平触发的中断系统初始化程序。