第6章 中断系统.ppt
《第6章 中断系统.ppt》由会员分享,可在线阅读,更多相关《第6章 中断系统.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第6章 中断系统2 第第6 6章章 AT89S52AT89S52单片机的中断系统单片机的中断系统23 【内容概要内容概要】本章介绍本章介绍AT89S52单片机片内功能部件中断系统的硬件单片机片内功能部件中断系统的硬件结构和工作原理。结构和工作原理。AT89S52的中断系统能够实时地响应片内功能部件和外的中断系统能够实时地响应片内功能部件和外围设备发出的中断请求并进入中断服务子程序进行处理。通过本章学习,围设备发出的中断请求并进入中断服务子程序进行处理。通过本章学习,读者应重点掌握与中断系统有关的特殊功能寄存器及中断系统的应用特性读者应重点掌握与中断系统有关的特殊功能寄存器及中断系统
2、的应用特性,应能熟练地进行中断系统的初始化编程以及中断函数的设计。,应能熟练地进行中断系统的初始化编程以及中断函数的设计。在计算机(单片机)系统中,都具有在计算机(单片机)系统中,都具有对外界随机发生的事件对外界随机发生的事件的的作出及时作出及时响应并处实时处理响应并处实时处理的功能,这是靠中断技术来实现的。的功能,这是靠中断技术来实现的。46.1 6.1 单片机中断技术概述单片机中断技术概述 中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。提出的服务请求,并快速响应与及时处理
3、。 图图6-16-1显示单片机对外设中断服务请求整个中断响应和处理过程。显示单片机对外设中断服务请求整个中断响应和处理过程。图图6-1 中断响应和处理过程中断响应和处理过程5当某个中断请求源发出中断请求时,并且中断请求被允许的话,单片机当某个中断请求源发出中断请求时,并且中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。中暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被中止的程序之处(断点),继续执行被断服务请求处理完后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。中断的主程序。如没有单片
4、机中断系统,大量时间可能会浪费在查询是否有服务请求的如没有单片机中断系统,大量时间可能会浪费在查询是否有服务请求的定时查询操作上,即不论是否有服务请求,都必须去查询。采用中断技术完定时查询操作上,即不论是否有服务请求,都必须去查询。采用中断技术完全消除查询方式的等待,大大提高单片机工作效率和实时性。全消除查询方式的等待,大大提高单片机工作效率和实时性。6.2 AT89S56.2 AT89S52 2中断系统结构中断系统结构中断系统结构见中断系统结构见图图6-26-2。中断系统有。中断系统有6 6个中断请求源个中断请求源(简称中断源),(简称中断源),2 2个个中断优先级,可实现中断优先级,可实现
5、2 2级级中断服务程序嵌套。每一中断源可用软件独立控制中断服务程序嵌套。每一中断源可用软件独立控制为允许中断或关闭中断状态;每一个中断源的优先级均可用软件设置。为允许中断或关闭中断状态;每一个中断源的优先级均可用软件设置。6 图图6-26-2 AT89S5 AT89S52 2的中断系统结构的中断系统结构7 6.2.1 6.2.1 中断请求源中断请求源 由由图图6-26-2,中断系统共有,中断系统共有6 6个中断请求源,它们是:个中断请求源,它们是:(1 1)INT0INT0* *外部中断请求外部中断请求0 0,外部中断请求信号(低电平或负跳变有效),外部中断请求信号(低电平或负跳变有效)由由I
6、NT0INT0* *引脚输入,中断请求标志为引脚输入,中断请求标志为IE0IE0。(2 2)INT1INT1* *外部中断请求外部中断请求1 1,外部中断请求信号(低电平或负跳变有效),外部中断请求信号(低电平或负跳变有效)由由INT1INT1* *引脚输入,中断请求标志为引脚输入,中断请求标志为IE1IE1。(3 3)定时器定时器/ /计数器计数器T0T0计数溢出的中断请求,标志为计数溢出的中断请求,标志为TF0TF0。(4 4)定时器定时器/ /计数器计数器T1T1计数溢出的中断请求,标志为计数溢出的中断请求,标志为TF1TF1。(5 5)串行口中断请求,标志为发送中断串行口中断请求,标志
7、为发送中断TITI或接收中断或接收中断RIRI。 (6 6)定时器定时器/ /计数器计数器T2T2的中断请求源,含有计数溢出(的中断请求源,含有计数溢出(TF2TF2)和)和“捕捉捕捉”(EXF2EXF2)两种中断请求标志,经或门共用一个中断向量。两种中断触发是由)两种中断请求标志,经或门共用一个中断向量。两种中断触发是由T2T2的两种不同工作方式决定的。的两种不同工作方式决定的。 8 6.2.2 6.2.2 中断请求标志寄存器中断请求标志寄存器6 6个中断请求源的中断请求标志分别由个中断请求源的中断请求标志分别由特殊功能寄存器特殊功能寄存器TCONTCON和和SCONSCON相应位相应位锁存
8、(见锁存(见图图6-26-2)。)。1 1TCONTCON寄存器寄存器为定时器为定时器/ /计数器的控制寄存器,计数器的控制寄存器,字节地址为字节地址为88H88H,可位寻址。既包括定时,可位寻址。既包括定时器器/ /计数器计数器T0T0、T1T1溢出中断请求标志位溢出中断请求标志位TF0TF0和和TF1TF1,也包括两个外部中断请求的,也包括两个外部中断请求的标志位标志位IE1IE1与与IE0IE0,还包括两个外部中断请求源的中断触发方式选择位。,还包括两个外部中断请求源的中断触发方式选择位。TCONTCON格式见格式见图图6-36-3。9图图6-3 特殊功能寄存器特殊功能寄存器TCON的格
9、式的格式10 TCONTCON寄存器中与中断系统有关各标志位功能如下:寄存器中与中断系统有关各标志位功能如下:(1 1)TF1TF1定时器定时器/ /计数器计数器T1T1的溢出中断请求标志位。的溢出中断请求标志位。 当启动当启动T1T1计数后,计数后,T1T1从初值开始加从初值开始加1 1计数,当最高位产生溢出时,硬件计数,当最高位产生溢出时,硬件 置置TF1TF1为为“1”1”,向,向CPUCPU申请中断,申请中断,响应响应TF1TF1中断时,中断时,TF1TF1标志硬件自动清标志硬件自动清“0”“0”,TF1TF1也可由软件清也可由软件清“0”“0”。(2 2)TF0TF0定时器定时器/
10、/计数器计数器T0T0溢出中断请求标志位,与溢出中断请求标志位,与TF1TF1类似。类似。(3 3)IE1IE1外部中断请求外部中断请求1 1中断请求标志位。中断请求标志位。(4 4)IE0IE0外部中断请求外部中断请求0 0中断请求标志位,与中断请求标志位,与IE1IE1类似。类似。 11(5 5)IT1IT1选择外中断请求选择外中断请求1 1为跳沿触发还是电平触发方式。为跳沿触发还是电平触发方式。0 0-电平触发电平触发方式,加到方式,加到INT0INT0* *脚脚上的外中断请求输入信号为低电平上的外中断请求输入信号为低电平有效,并把有效,并把IE1IE1置置“1”1”。转向中断服务程序时
11、,则。转向中断服务程序时,则由硬件自动把由硬件自动把IE1IE1清清“0”0”。1 1-跳沿触发跳沿触发方式,加到方式,加到INT1INT1* *脚脚上的外中断请求输入信号从上的外中断请求输入信号从高到低高到低的负跳变的负跳变有效,并把有效,并把IE1IE1置置“1”1”。转向中断服务程序时,则。转向中断服务程序时,则由硬件自动把由硬件自动把IE1IE1清清“0”0”。(6 6)IT0IT0选择外中断请求选择外中断请求0 0为跳沿触发方式还是电平触发方式,与为跳沿触发方式还是电平触发方式,与IT1IT1类似。类似。当当AT89S52AT89S52复位后复位后,TCONTCON被清被清“0”0”
12、,6 6个中断源的中断请求标志均为个中断源的中断请求标志均为0 0。TR1TR1(D6D6位)、位)、TR0TR0(D4D4位)这位)这2 2位与中断系统无关,仅与定时器位与中断系统无关,仅与定时器/ /计数器计数器T1T1和和T0T0有关,将在有关,将在第第7 7章章定时器定时器/ /计数器中介绍。计数器中介绍。122 2SCONSCON寄存器寄存器串行口控制寄存器,串行口控制寄存器,字节地址字节地址为为98H98H,可位寻址。,可位寻址。SCONSCON的低二位锁存的低二位锁存串口串口的的发送中断发送中断和和接收中断接收中断的中断请求标志的中断请求标志TITI和和RIRI,格式见格式见图图
13、6-46-4。 图图6-46-4 SCON SCON中的中断请求标志位中的中断请求标志位13SCONSCON标志位功能:标志位功能:(1 1)TITI串口发送中断请求标志位。串口发送中断请求标志位。CPUCPU将将1 1字节的数据写入串口的发字节的数据写入串口的发送缓冲器送缓冲器SBUFSBUF时,就启动一帧串行数据的发送,每发送完一帧串行数据后时,就启动一帧串行数据的发送,每发送完一帧串行数据后,硬件使,硬件使TITI自动置自动置“1 1”。CPUCPU响应串口发送中断时,并不清除响应串口发送中断时,并不清除TITI中断请求中断请求标志,标志,TITI标志标志必须在中断服务程序中用指令对其清
14、必须在中断服务程序中用指令对其清“0”0”。(2 2)RIRI串行口接收中断请求标志位。在串口接收完一个串行数据帧串行口接收中断请求标志位。在串口接收完一个串行数据帧,硬件自动使,硬件自动使RIRI中断请求标志置中断请求标志置“1”1”。CPUCPU在响应串口接收中断时,在响应串口接收中断时,RIRI标标志并不清志并不清“0”0”,须,须在中断服务程序中用指令对在中断服务程序中用指令对RIRI清清“0”0”。143定时器定时器2的控制寄存器的控制寄存器T2CON特殊功能寄存器特殊功能寄存器T2CON的的字节地址字节地址为为C8H,可位寻址,位地址为,可位寻址,位地址为C8HCFH。格式见。格式
15、见图图6-5。T2CON中的最高两位为定时器中的最高两位为定时器/计数器计数器T2的中断请求标志位的中断请求标志位TF2和和EXF2(1)TF2(D7):当:当T2的计数器(的计数器(TL2、TH2)计数计满溢出回)计数计满溢出回0时,时,由内部硬件置位由内部硬件置位TF2(寄存器(寄存器T2CON.7),向),向CPU发出中断请求。但是当发出中断请求。但是当RCLK位或位或TCLK位为位为1时将不予置位。本标志位必须由软件清时将不予置位。本标志位必须由软件清0。 图图6-5 T2CON格式格式15(2)EXF2(D6):当由引脚:当由引脚T2EX(P1.1脚)上的负跳变引起脚)上的负跳变引起
16、“捕捉捕捉”或或“重新装载重新装载”且且EXEN2位为位为1,则置位,则置位EXF2标志位(寄存器标志位(寄存器T2CON.6),),向向CPU发出中断请求。发出中断请求。 上述两种中断请求,在满足中断响应条件时,上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,都将响应其中断请求,转向同一个中断向量地址进行中断处理。因此,必须在转向同一个中断向量地址进行中断处理。因此,必须在T2的中断服务程序的中断服务程序中对中对TF2和和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。处理程序。 中断结束后,中断请求标志
17、位中断结束后,中断请求标志位TF2或或EXF2必须由软件清必须由软件清0。166.3 6.3 中断允许中断允许与与中断优先级的控制中断优先级的控制实现中断允许控制和中断优先级控制分别中实现中断允许控制和中断优先级控制分别中断允许寄存器断允许寄存器IEIE和和中断优先中断优先级寄存器级寄存器IPIP实现。下面介绍两个特殊功能寄存器。实现。下面介绍两个特殊功能寄存器。6.3.1 中断允许寄存器中断允许寄存器IE各中断源开放或屏蔽,是由片内中断允许寄存器各中断源开放或屏蔽,是由片内中断允许寄存器IE控制。控制。IE字节地址为字节地址为A8H,可进行,可进行位寻址位寻址,格式见,格式见图图6-6。17
18、 图图6-6-6 6 中断允许寄存器中断允许寄存器IEIE的格式的格式 IEIE对对中断开放中断开放和和关闭关闭实现两级控制实现两级控制。两级控制就是有一个总的中断开关控。两级控制就是有一个总的中断开关控制位制位EAEA(IE.7IE.7位),当位),当EA=0EA=0,所有中断请求被屏蔽,所有中断请求被屏蔽,CPUCPU对任何中断请求都不对任何中断请求都不接受;当接受;当EA=1EA=1时,时,CPUCPU开中断,但开中断,但5 5个中断源的中断请求是否允许,还要由个中断源的中断请求是否允许,还要由IEIE中的低中的低6 6位所对应的位所对应的6 6个中断请求允许个中断请求允许控制位控制位的
19、状态来决定(见的状态来决定(见图图6-6-6 6)。)。18IEIE中各位的功能如下:中各位的功能如下:(1 1)EAEA中断允许总开关控制位。中断允许总开关控制位。EA=0EA=0,所有的中断请求被屏蔽。,所有的中断请求被屏蔽。 EA=1 EA=1,所有的中断请求被开放。,所有的中断请求被开放。(2 2)ET2ET2定时器定时器/ /计数器计数器T2T2的中断允许位。的中断允许位。ET2=0ET2=0,禁止,禁止T2T2中断。中断。ET2=1ET2=1,允许,允许T2T2中断。中断。 (3 3)ESES串行口中断允许位。串行口中断允许位。 ES=0 ES=0,禁止串行口中断。,禁止串行口中断
20、。 ES=1 ES=1,允许串行口中断。,允许串行口中断。19 (4 4)ET1ET1定时器定时器/ /计数器计数器T1T1溢出中断允许位。溢出中断允许位。 ET1=0 ET1=0,禁止,禁止T1T1溢出中断。溢出中断。 ET1=1 ET1=1,允许,允许T1T1溢出中断。溢出中断。 (5 5)E EX1X1外部中断外部中断1 1的中断允许位。的中断允许位。 E EX1X1=0=0,禁止外部中断,禁止外部中断1 1中断。中断。E EX1X1=1=1,允许外部中断,允许外部中断1 1中断。中断。(6 6)E ET T00定时器定时器/ /计数器计数器T0T0的溢出的溢出中断允许位。中断允许位。E
21、 ET T0=00=0,禁止,禁止T T0 0中断。中断。E ET T0=10=1,允许,允许T T0 0中断。中断。(7)EX0EX0外部中断外部中断0 0中断允许位。中断允许位。 EX0=0EX0=0,禁止外部中断,禁止外部中断0 0中断。中断。 EX0=1 EX0=1,允许外部中断,允许外部中断0 0中断。中断。20AT89S52复位以后,复位以后,IE被清被清“0”,所有的中断请求被禁止。,所有的中断请求被禁止。IE中与各中与各个中断源相应的位可用指令置个中断源相应的位可用指令置“1”或清或清“0”,即可允许或禁止各中断源的,即可允许或禁止各中断源的中断申请。若使某一个中断源被允许中断
22、,除了中断申请。若使某一个中断源被允许中断,除了IE相应的位被置相应的位被置“1”外,外,还必须使还必须使EA位置位置“1”,即,即EA位置位置“1”为中断请求的必要条件。为中断请求的必要条件。改变改变IE的内容,可向寄存器的内容,可向寄存器IE写入相应的内容。写入相应的内容。【例【例6-1】 单片机复位后,若允许两个外中断源中断,并禁止其他中断单片机复位后,若允许两个外中断源中断,并禁止其他中断源的中断请求,请编写设置源的中断请求,请编写设置IE的命令语句。的命令语句。(1)采用对)采用对IE寄存器寄存器和和TCON寄存器寄存器进行进行位操作位操作。 EA=1;/总中断允许总中断允许EX0=
23、1; /允许外部中断允许外部中断0中断中断21EX1=1;/允许外部中断允许外部中断1中断中断IT0=1; /设置外部中断设置外部中断0为跳沿触发为跳沿触发IT1=1;/设置外部中断设置外部中断1为跳沿触发为跳沿触发由于单片机复位后,由于单片机复位后,IE寄存器各个位均为寄存器各个位均为0,所以只需要把允许中断的,所以只需要把允许中断的中断源设置为中断源设置为1即可。即可。(2)采用对)采用对IE寄存器和寄存器和TCON寄存器进行寄存器进行字节操作字节操作。IE=0 x85; /允许两个外中断中断允许两个外中断中断TCON=0 x05; /允许两个外中断均为跳沿触发允许两个外中断均为跳沿触发2
24、26.3.2 6.3.2 中断优先级寄存器中断优先级寄存器IPIP中断请求源有两个中断优先级,每一个中断请求源可由软件设置为高优中断请求源有两个中断优先级,每一个中断请求源可由软件设置为高优先级中断或低优先级中断,也可实现先级中断或低优先级中断,也可实现两级中断嵌套两级中断嵌套。 所谓两级中断嵌套,就是所谓两级中断嵌套,就是AT89S5AT89S52 2正在执行低优先级中断的服务程序正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断,待高优先级中断处理完毕后,再返回低时,可被高优先级中断请求所中断,待高优先级中断处理完毕后,再返回低优先级中断服务程序。优先级中断服务程序。 两级中断嵌
25、套见两级中断嵌套见图图6-6-7 7。 23图图6-7 两级中断嵌套过程两级中断嵌套过程24各中断源的中断优先级关系,可归纳为下面各中断源的中断优先级关系,可归纳为下面两条基本规则两条基本规则:(1 1)低优先级可被高优先级中断,高优先级不能被低优先级中断。)低优先级可被高优先级中断,高优先级不能被低优先级中断。(2 2)任何一种中断(不管是高级还是低级)一旦得到响应,不会再被)任何一种中断(不管是高级还是低级)一旦得到响应,不会再被它的同级中断源所中断。如果某一中断源被设置为高优先级中断,在执行它的同级中断源所中断。如果某一中断源被设置为高优先级中断,在执行该中断源的中断服务程序时,则不能被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 中断系统 中断 系统
限制150内