《单片机中断系统PPT课件》由会员分享,可在线阅读,更多相关《单片机中断系统PPT课件(41页珍藏版)》请在金锄头文库上搜索。
1、第第5章章 单片机的中断系统单片机的中断系统5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统5.3 中断处理过程中断处理过程5.4 中断的编程及应用中断的编程及应用5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统5.3 中断处理过程中断处理过程5.4 中断的编程及应用中断的编程及应用5.1 中断的概念中断的概念某人正在看报某人正在看报电话铃响了电话铃响了去接电话去接电话继续接电话继续接电话继续看报继续看报跑向厨房跑向厨房关煤气、灌开水关煤气、灌开水水开了水开了日常生活的中断现象举例日常生活的中断现象举例正在执行显示程序正在执行显示程序有人按键有人按键处理键盘扫描处理键盘
2、扫描继续处理键盘扫描继续处理键盘扫描继续执行显示程序继续执行显示程序处理定时器动作处理定时器动作“看门狗看门狗”喂狗喂狗看门狗看门狗时间到时间到计算机的中断应用举例计算机的中断应用举例要求:要求:若有按键压下,使若有按键压下,使LED的状态反转。的状态反转。实例实例1 单片机开关状态检测单片机开关状态检测#include #include sbit p1_0=P10;void delay (void) /延时程序延时程序 int a=5000; while (a-)_nop_ (); void INT0_srv (void) interrupt 0 using 1 /外部中断外部中断0处理程序
3、处理程序 delay(); if(INT0=0) p1_0 =!p1_0; while (INT0=0);void main() p1_0 =0; EA=1; EX0=1; while(1);1、主程序(死循环)中并、主程序(死循环)中并没有调用没有调用int0_srv()函数,函数,它是如何自动执行的?它是如何自动执行的?2、主程序中那几个变量赋、主程序中那几个变量赋值语句的作用是什么?值语句的作用是什么?3、这种程序结构的意义是、这种程序结构的意义是什么?什么?问题:问题:#include #include sbit p1_0=P10;void delay (void) /延时程序延时程序
4、 int a=5000; while (a-)_nop_ (); void INT0_srv (void) interrupt 0 using 1 /外部中断外部中断0处理程序处理程序 delay(); if(INT0=0) p1_0 =!p1_0; while (INT0=0);void main() p1_0 =0; EA=1; EX0=1; while(1);1、int0_srv() 是一个中断服是一个中断服务程序,是系统在感受到某务程序,是系统在感受到某种特定信息后自动启动的;种特定信息后自动启动的;2、那几个变量赋值语句是、那几个变量赋值语句是针对中断系统的管理命令;针对中断系统的管
5、理命令;3、可使系统实现多任务操、可使系统实现多任务操作功能。作功能。解答:解答:#include #include sbit p1_0=P10;void delay (void) /延时程序延时程序 int a=5000; while (a-)_nop_ (); void INT0_srv (void) interrupt 0 using 1 /外部中断外部中断0处理程序处理程序 delay(); if(INT0=0) p1_0 =!p1_0; while (INT0=0);void main() p1_0 =0; EA=1; /开开CPU中断中断 EX0=1; /开外部中断开外部中断1 w
6、hile(1);中断是指在突发事件到来时先中止当前正在进行的工作,中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。止的工作处,继续进行随后的工作。中断与子程序调用的区别:中断与子程序调用的区别:一般子程序的返回断点是已知的一般子程序的返回断点是已知的中断子程序的返回断点是随机的中断子程序的返回断点是随机的中断源、中断请求、中断服务等概念:中断源、中断请求、中断服务等概念:引起突发事件的来源称为引起突发事件的来源称为中断源中断源中断源要求服务的请求称为中断源要求服
7、务的请求称为中断请求中断请求对中断请求提供的服务称为对中断请求提供的服务称为中断服务中断服务中断管理系统处理事件的过程称为中断管理系统处理事件的过程称为中断响中断响应过程应过程中断中断1、可实现分时操作(、可实现分时操作(CPU与多个外设并行工作)与多个外设并行工作)温度温度压力压力断电断电MCU2、可实现实时处理(被控对象信息随机变化)、可实现实时处理(被控对象信息随机变化)外设外设1外设外设2外设外设nMCU3、可进行故障处理(及时处理突发事件)、可进行故障处理(及时处理突发事件)中断的意义:中断的意义:5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统 5.2.1 中断系统的结
8、构中断系统的结构 5.2.2 中断管理寄存器中断管理寄存器5.3 中断处理过程中断处理过程5.4 中断的编程及应用中断的编程及应用5.2 中断控制系统中断控制系统引脚引脚P3.2的电平的电平/脉冲变化脉冲变化外部中断外部中断0,INT0引脚引脚P3.3的电平的电平/脉冲变化脉冲变化外部中断外部中断1,INT1定时定时/计数器计数器0产生溢出产生溢出定时器定时器0中断,中断,T0定时定时/计数器计数器1产生溢出产生溢出定时器定时器1中断,中断,T1串口一帧数据发送串口一帧数据发送/接收完成接收完成串口中断,串口中断,TI/RI80C51具有五个具有五个中断源中断源:5.2.1 中断系统的结构中断
9、系统的结构五个中断源可以引导五个中断服务程序,中断服务程序五个中断源可以引导五个中断服务程序,中断服务程序的入口地址的入口地址向(矢)量地址(向(矢)量地址(ROM地址单元)地址单元) 。中断服务程序的入口地址中断服务程序的入口地址中断源中断源中断服务程序中断服务程序入口地址入口地址外部中断外部中断0(/INT0)定时器定时器0溢出溢出(T0)外部中断外部中断1 (/INT1)定时器定时器1溢出溢出(T1) 串行口中断串行口中断(RI/TI)0003H 000BH0013H001BH0023H5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统 5.2.1 中断系统的结构中断系统的结构
10、 5.2.2 中断管理寄存器中断管理寄存器5.3 中断处理过程中断处理过程5.4 中断的编程及应用中断的编程及应用5.2 中断控制系统中断控制系统共有四个共有四个中断管理寄存器中断管理寄存器TCON、SCON、IE、IP5.2.2 中断管理寄存器中断管理寄存器IT0:外部中断:外部中断0触发方式选择位触发方式选择位 0:低电平触发低电平触发 1: 负跳变触发负跳变触发IE0:外部中断:外部中断0中断请求标志中断请求标志IT1、IE1 类似类似 IT0、IE0,分别是外部中断,分别是外部中断1触发方式选择位触发方式选择位和外部中断和外部中断1中断请求标志中断请求标志TR0:定时:定时/计数器计数
11、器0运行控制位运行控制位 0:停止停止 1:运行运行TR1:定时:定时/计数器计数器1运行控制位运行控制位 0:停止停止 1:运行运行TF0:定时:定时/计数器计数器0中断请求标志位中断请求标志位TF1:定时:定时/计数器计数器1中断请求标志位中断请求标志位TR1、TF1 类似类似 TR0、TF0,用作定时,用作定时/计数器计数器1的启停控制的启停控制位和中断请求标志位位和中断请求标志位(1)定时器控制寄存器定时器控制寄存器(TCON)IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
12、TCON88H 7 6 5 4 3 2 1 0IT1和和IT0:INT1和和INT0的触发方式选择位的触发方式选择位 0电平,电平,1脉冲脉冲低电平有效低电平有效负边沿有效负边沿有效边沿触发在脉冲结束后,中断请求信号即可自行消失边沿触发在脉冲结束后,中断请求信号即可自行消失但电平触发信号却不会立即自行消失但电平触发信号却不会立即自行消失引起继续中断请求引起继续中断请求建议减量采用边沿触发方式建议减量采用边沿触发方式(1)定时器控制寄存器定时器控制寄存器(TCON)IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1 8FH 8EH 8DH 8CH 8
13、BH 8AH 89H 88HTCON88H 7 6 5 4 3 2 1 0TCON复位值复位值00H,默认状态为:,默认状态为: 无中断请求无中断请求+电平触发电平触发TI:串口串口发送发送中断标志位,一帧内部数据被送入发送缓冲器后由硬件自中断标志位,一帧内部数据被送入发送缓冲器后由硬件自动置动置1发送中断请求发送中断请求 中断响应后,标志位需要用软件方式撤销中断响应后,标志位需要用软件方式撤销RI:串口串口接收接收中断标志位,一帧外部数据被送入接收缓冲器中断标志位,一帧外部数据被送入接收缓冲器后由硬件自动置后由硬件自动置1 接收中断请求接收中断请求 中断响应后,标志位需要用软件方式撤销中断响
14、应后,标志位需要用软件方式撤销(2) 串口控制寄存器(串口控制寄存器(SCON)RIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0 9FH 9EH 9DH 9CH 9BH 9AH 99H 98HSCON98H 7 6 5 4 3 2 1 0EA:中断总允许位,:中断总允许位,1开放全部中断,开放全部中断,0禁止全部中断禁止全部中断ES:串口中断允许位,:串口中断允许位,1允许,允许,0禁止禁止ET1和和ET0:定时器中断允许位,:定时器中断允许位,1允许,允许,0禁止禁止EX1和和EX0:外部中断允许位,:外部中断允许位,1允许,允许, 0禁止禁止(3)
15、中断允许寄存器(中断允许寄存器(IE)EX0EX0ET0ET0EX1EX1ET1ET1ESES- - -EAEA AFH AEH ADH ACH ABH AAH A9H A8HIEA8H 7 6 5 4 3 2 1 0中断源、中断入口、标志位、使能位中断源、中断入口、标志位、使能位中断源中断源中断服务程序中断服务程序入口地址入口地址标志位标志位中断允许位中断允许位(使能位使能位)外部中断外部中断0(/INT0)定时器定时器0溢出溢出(T0)外部中断外部中断1 (/INT1)定时器定时器1溢出溢出(T1) 串行口中断串行口中断(RI/TI)0003H 000BH0013H001BH0023HIE
16、0TF0IE1TF1TI/RIEX0ET0EX1ET1ESEX0EX0ET0ET0EX1EX1ET1ET1ESES- - -EAEA AFH AEH ADH ACH ABH AAH A9H A8HIEA8H 7 6 5 4 3 2 1 0RIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0 9FH 9EH 9DH 9CH 9BH 9AH 99H 98HSCON98H 7 6 5 4 3 2 1 0IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1 8FH 8EH 8DH 8CH 8BH 8AH 89H 88HTC
17、ON88H 7 6 5 4 3 2 1 0PS:串口优先级设定位,串口优先级设定位,1高优先级,高优先级,0低优先级低优先级PT1和和PT0:T1和和T0的优先级设定位,的优先级设定位,1高优先级高优先级, 0低优先级低优先级PX1和和PX0:INT1和和INT0的优先级设定位,的优先级设定位,1高优高优先级,先级,0 低优先级低优先级自然优先顺序,逐渐自然优先顺序,逐渐(4) 中断优先级寄存器(中断优先级寄存器(IP)PX0PX0PT0PT0PX1PX1PT1PT1PSPS- - - - BFH BEH BDH BCH BBH BAH B9H B8HIPB8H 7 6 5 4 3 2 1 0
18、中断源、中断入口、标志位、使能位、优先级设置位中断源、中断入口、标志位、使能位、优先级设置位PX0PX0PT0PT0PX1PX1PT1PT1PSPS- - - - BFH BEH BDH BCH BBH BAH B9H B8HIPB8HEX0EX0ET0ET0EX1EX1ET1ET1ESES- - -EAEA AFH AEH ADH ACH ABH AAH A9H A8HIEA8HRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0 9FH 9EH 9DH 9CH 9BH 9AH 99H 98HSCON98HIT0IT0IE0IE0IT1IT1IE1IE1T
19、R0TR0TF0TF0TR1TR1TF1TF1 8FH 8EH 8DH 8CH 8BH 8AH 89H 88HTCON88HEX0ET0EX1ET1ES中断允许位中断允许位(使能位使能位)IE0TF0IE1TF1TI/RI0003H 000BH0013H001BH0023H中断服务程序中断服务程序入口地址入口地址PX0PT0PX1PT1PS外部中断外部中断0(/INT0)定时器定时器0溢出溢出(T0)外部中断外部中断1 (/INT1)定时器定时器1溢出溢出(T1) 串行口中断串行口中断(RI/TI)中断优先中断优先级设置级设置中断源中断源标志位标志位1)高级中断请求可以打断正在执行的低级中断;
20、)高级中断请求可以打断正在执行的低级中断;2)同级或低级中断请求不能打断正在执行的中断;)同级或低级中断请求不能打断正在执行的中断;3)同级中断源同时提出请求时按自然优先级响应:)同级中断源同时提出请求时按自然优先级响应: INT0 T0 INT1T1TI/RI4)单片机复位时,)单片机复位时,IP各位都被置各位都被置0, 所有中断源为低级中断所有中断源为低级中断优先级原则:优先级原则:中断系统的结构小结中断系统的结构小结5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统5.3 中断处理过程中断处理过程 5.3.1 中断响应条件中断响应条件 5.3.2 中断响应过程中断响应过程 5.
21、3.3 中断的撤消中断的撤消5.4 中断的编程及应用中断的编程及应用5.3 中断处理过程中断处理过程有中断请求有中断请求(标志位置标志位置1)中断总允许位中断总允许位EA=1,即,即CPU要开中断要开中断中断源允许位为中断源允许位为1,即没有被屏蔽,即没有被屏蔽无同级或者更高级中断正在被服务无同级或者更高级中断正在被服务中断响应条件中断响应条件中断响应的基本条件如下:中断响应的基本条件如下:注意:下列任何一种情况存在时,中断响应都会阻止而无注意:下列任何一种情况存在时,中断响应都会阻止而无法得到响应:法得到响应:(1) CPU正在执行一个同级或高优先级的中断服务程序;正在执行一个同级或高优先级
22、的中断服务程序;(2) 正在执行的是一条指令还没有执行完;正在执行的是一条指令还没有执行完;(3) 当前正的执行的指令是当前正的执行的指令是RETI或访问或访问IE或或IP的指令。的指令。机器周期的机器周期的S6期间期间,CPU对中断标志位采样对中断标志位采样阻断同级或低级中断阻断同级或低级中断将程序断点存入栈区将程序断点存入栈区中断矢量地址装入中断矢量地址装入PC,转入对应的入口地址,转入对应的入口地址 中断响应时间为中断响应时间为38个机器周期个机器周期5.3.2 中断响应过程中断响应过程CPU在中断响应完成后完成如下操作在中断响应完成后完成如下操作(1) 硬件清除中断标志(串行中断除外)
23、。硬件清除中断标志(串行中断除外)。 (2) 执行一条硬件子程序,保护断点,并转向中断服务程序入口。执行一条硬件子程序,保护断点,并转向中断服务程序入口。(3) 中断服务中断服务, 即为相应的中断源服务。即为相应的中断源服务。(4)结束中断服务时,通过执行结束中断服务时,通过执行RETI指令恢复断点,返回主程序。指令恢复断点,返回主程序。 中断响应后,中断请求标志位和中断请求信号应及时清除,中断响应后,中断请求标志位和中断请求信号应及时清除,否则就意味着中断请求仍然存在。否则就意味着中断请求仍然存在。5.3.3 中断的撤消中断的撤消关中断(防止高级中断对现场保护的干扰)关中断(防止高级中断对现
24、场保护的干扰)保护现场(将保护现场(将PSW,Rn,A等内容压入堆栈)等内容压入堆栈)开中断(允许高级中断请求)开中断(允许高级中断请求)中断服务中断服务(处理中断事件)(处理中断事件)关中断(防止高级中断对现场恢复的干扰)关中断(防止高级中断对现场恢复的干扰)恢复现场(将恢复现场(将PSW,Rn,A等内容弹出堆栈)等内容弹出堆栈)开中断(允许高级中断请求)开中断(允许高级中断请求)中断返回中断返回(断点弹出(断点弹出”优先级激活优先级激活“触发器复位)触发器复位)可视需可视需要缺省要缺省可视需可视需要缺省要缺省中断服务程序执行流程中断服务程序执行流程5.4 中断的编程及应用中断的编程及应用n
25、5.1 中断的概念中断的概念n5.2 中断控制系统中断控制系统n5.3 中断处理过程中断处理过程n5.4 中断的编程及应用中断的编程及应用n5.4.1 中断程序设计举例中断程序设计举例n5.4.2 扩展外部中断源扩展外部中断源C51中断服务程序是一种特殊的函数,它的说明形式为:中断服务程序是一种特殊的函数,它的说明形式为: void 函数名函数名 (void) interrupt n using m 函数体语句函数体语句 interrupt表示该函数是一个中断服务函数表示该函数是一个中断服务函数 整数整数n表示该中断服务函数对应哪一个中断源表示该中断服务函数对应哪一个中断源5.4.1 中断程序
26、设计举例中断程序设计举例EX0ET0EX1ET1ES中断允许位中断允许位(使能位使能位)IE0TF0IE1TF1TI/RI0003H 000BH0013H001BH0023H中断服务程序中断服务程序入口地址入口地址PX0PT0PX1PT1PS外部中断外部中断0(/INT0)定时器定时器0溢出溢出(T0)外部中断外部中断1 (/INT1)定时器定时器1溢出溢出(T0) 串行口中断串行口中断(RI/TI)中断优先中断优先级设置级设置中断源中断源标志位标志位中断中断编号编号01234u using msing m 指定该中断服务程序要使用的工作寄存器组号,指定该中断服务程序要使用的工作寄存器组号,m
27、 m为为0 03 3。若缺省若缺省usingusing项,则编译系统默认为是当前工作寄存器组。项,则编译系统默认为是当前工作寄存器组。C51中断服务程序是一种特殊的函数,它的说明形式为:中断服务程序是一种特殊的函数,它的说明形式为: void 函数名函数名 (void) interrupt n using m 函数体语句函数体语句 在不查询按键时,如何得知按键有动作动作?在不查询按键时,如何得知按键有动作动作?如何保证能快速响应按键操作,又不过多占用如何保证能快速响应按键操作,又不过多占用CPU时间?时间?中断扫描法中断扫描法只有在键盘有键按下时,才执行键盘扫描只有在键盘有键按下时,才执行键盘
28、扫描程序。如无键按下,程序。如无键按下,CPU可不考虑键盘的存在。可不考虑键盘的存在。查询扫描法需要花费很多查询扫描法需要花费很多CPU机时,在机时,在CPU任务繁重的情任务繁重的情况下往往无法实现。况下往往无法实现。实例实例2 中断扫描法行列式键盘中断扫描法行列式键盘增加一个与门,利用按键压下时的电平产生增加一个与门,利用按键压下时的电平产生INT1中断请中断请求信号;求信号;改用改用P0口(中断接口(中断接P3.3)。)。改进硬件电路:改进硬件电路:#include char led_mod = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0
29、x6f,0x77,0x7c,0x58,0x5e,0x79,0x71; /led字模字模char key_buf = 0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82, 0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88; /键值键值#define uint unsigned int#define uchar unsigned charvoid init(); /初始化函数初始化函数void key_scan(); /键盘扫描函数键盘扫描函数bit int1_flag; /外部中断外部中断1标志变量标志变量char key=0, k=0;
30、 /键值,显示下标键值,显示下标void main() P2 = 0x00; /关显示关显示 P0=0xf0;/为扫描键盘做准备为扫描键盘做准备 init();/初始化初始化 while(1)/无限循环无限循环 if(int1_flag) P2=led_modk; /有外部中断有外部中断1,则将键盘扫描结果送显示,则将键盘扫描结果送显示 int1_flag=0;/外部中断外部中断1标志变量复位标志变量复位实例实例2的的C语言程序语言程序void init() /初始化程序初始化程序 IE=0xff; /允许所有中断允许所有中断 IP=0x04; /外中断外中断1为高中断优先级为高中断优先级 T
31、CON=0x05;/外部中断外部中断0和外部中断和外部中断1圴设置为负跳变触发圴设置为负跳变触发 int1_flag=0;/外部中断外部中断1标志复位标志复位 P0=0xf0; /P0端开始初始化为低四位全为端开始初始化为低四位全为0,高四位全为,高四位全为1void key_scan() interrupt 2 /外部中断外部中断1服务程序服务程序 uint t; char i; uchar keycode,scancode,flag=0xff;/键码,扫描码,标志键码,扫描码,标志 int1_flag=1; /外部中断外部中断1标志置位标志置位 t=5000; while(t-); /延时
32、,避免干拢信号延时,避免干拢信号 if(INT1=1) return ; /按非中断不做处理按非中断不做处理 EX1=0; /中断有效,先关键盘中断中断有效,先关键盘中断 scancode=0xf7; /设扫描码设扫描码 实例实例2的的C语言程序语言程序(续续)IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1 8FH 8EH 8DH 8CH 8BH 8AH 89H 88HTCON88H实例实例2的的C语言程序语言程序(续续)while(scancode!=0xff)/有键被按下有键被按下 P0=scancode; /扫描码为扫描码为1111 01
33、11,即开始扫描,即开始扫描P0.3所在的行所在的行 keycode=P0; /读出数据,看是否是该行上某列键盘被按下读出数据,看是否是该行上某列键盘被按下 if(keycode&0xf0)!=0xf0) break; /如果被按下的键在该行中,则退出如果被按下的键在该行中,则退出 scancode=(keycode1)|0xf0; /否刚继续扫描否刚继续扫描P0.2所在的行,以此循环直到扫描到被按下的键所在的行,以此循环直到扫描到被按下的键 keycode=keycode; /为比较键值表将按键所在行列位变为比较键值表将按键所在行列位变1,其它行列变,其它行列变0 key=keycode;
34、/传给全局变量传给全局变量KEY; P0=0xf0;/为下次键扫描做准备为下次键扫描做准备 for (i = 0 ; i 16 ; i+) /查键值表,其顺序号即为键码,值为查键值表,其顺序号即为键码,值为0Fif (key_bufi = key)k=i; EX1=1;/开键盘中断,即外部中断开键盘中断,即外部中断1 return;运行效果图运行效果图两个外部中断两个外部中断同时存在,其同时存在,其中中INT0用于计用于计数统计,数统计,INT1用于蜂鸣器,用于蜂鸣器,主程序刷新计主程序刷新计数显示数显示实例实例ORG0000HSJMPMAINORG0003H;INT0中断矢量中断矢量SJMP
35、EXT0ORG0013H;INT1中断矢量中断矢量SJMPEXT1MAIN:MOVIE,#10000101B ; INT0,1中断使能中断使能MOVIP,#00000001B ;INT0中断优先中断优先MOVTCON,#0000101B ;INT0,1中断下降沿触发中断下降沿触发MOVR2,#0;LOOP:MOVP2,R2CLRP3.0SJMPLOOPEXT0:INCR2 ;INT0中断子程序中断子程序RETIEXT1:SETBP3.0 ;INT1中断子程序中断子程序ACALLDELAYRETIDELAY: MOVR3,#255;延时子程序延时子程序DEL:MOVR4,#255DJNZR4,$
36、DJNZR3,DELRETEND5.4.2 扩展外部中断源扩展外部中断源n1. 利用定时器扩展外部中断源利用定时器扩展外部中断源n如果将定时器设置在计数状态,并且计数初值定为全如果将定时器设置在计数状态,并且计数初值定为全“1”,则从外部引脚输入一个计数脉冲就可引发中断。相当于将外则从外部引脚输入一个计数脉冲就可引发中断。相当于将外部中断源增了两个。部中断源增了两个。n2. 利用查询法扩展外部中断源利用查询法扩展外部中断源n用线与方式将多个高电平有效的中断请求信号通过非门接到用线与方式将多个高电平有效的中断请求信号通过非门接到一个外部中断引脚,同时接入某个并行口的引脚,在触发中一个外部中断引脚
37、,同时接入某个并行口的引脚,在触发中断后,再通过读引脚状态确定是多个中断源中的哪一个引发断后,再通过读引脚状态确定是多个中断源中的哪一个引发的中断。的中断。本章小结本章小结n51单片机的中断系统,包括中断控制寄存器、中断响单片机的中断系统,包括中断控制寄存器、中断响应和中断处理过程。应和中断处理过程。n中断处理流程的基本步骤是:关中断中断处理流程的基本步骤是:关中断保护现场保护现场开开中断中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断中断中断返回。返回。nC51中断函数声明的格式为:中断函数声明的格式为: void 函数名函数名 (void) interrupt n using m 函数体语句函数体语句