第5章MCS5中断系统_第1页
第5章MCS5中断系统_第2页
第5章MCS5中断系统_第3页
第5章MCS5中断系统_第4页
第5章MCS5中断系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关键词:能力、过程。关键词:能力、过程。随机发生、随机发生、中止、转到、返回中止、转到、返回中断概念:中断概念: CPU正在执行程序时,单片机外部或内部发生的某一事正在执行程序时,单片机外部或内部发生的某一事件,请求件,请求CPU迅速去处理。迅速去处理。 CPU暂时中止当前的工作,转到中断服务处理程序处理暂时中止当前的工作,转到中断服务处理程序处理所发生的事件。所发生的事件。 处理完该事件后,再回到原来被中止的地方,继续原来处理完该事件后,再回到原来被中止的地方,继续原来的工作,这称为中断。的工作,这称为中断。 CPU处理事件的过程,称为处理事件的过程,称为CPU的的中断响应过程。中断响应过程

2、。v客人客人中断源中断源敲门敲门中断申请中断申请门卫、秘书门卫、秘书中断系统中断系统客人登记客人登记中断标志中断标志识别、处理识别、处理 中断响应(过程)中断响应(过程)预约预约 CPU中断允许(标志)中断允许(标志)接待接待 CPU中断处理中断处理送客后继续工作送客后继续工作 CPU中断返回中断返回日常生活中的中断与计算机中断的比较:日常生活中的中断与计算机中断的比较:几个名词几个名词v中断系统:中断系统:实现中断功能的实现中断功能的部件部件称为中断系统,又称中断机称为中断系统,又称中断机构。构。v中断源:中断源:产生中断的请求源称为中断源。产生中断的请求源称为中断源。v中断申请:中断申请:

3、中断源向中断源向CPU提出的处理请求,称为中断请求或提出的处理请求,称为中断请求或中断申请。中断申请。v中断响应过程:中断响应过程:CPU暂时中止自身的事物,转去处理事件的暂时中止自身的事物,转去处理事件的过程,称为过程,称为CPU的中断响应过程。的中断响应过程。v中断服务:中断服务:对事件的整个处理过程,称为中断服务(或中断对事件的整个处理过程,称为中断服务(或中断处理)。处理)。v中断返回:中断返回:中断处理完毕,在返回到原来被中止的地方,称中断处理完毕,在返回到原来被中止的地方,称为中断返回。为中断返回。中断方式的特点中断方式的特点1、中断方式消除了、中断方式消除了CPU在查询方式中的等

4、待在查询方式中的等待现象,大大提高了现象,大大提高了CPU的的工作效率工作效率。2、将从现场采集的数据通过中断方式及时传、将从现场采集的数据通过中断方式及时传送给送给CPU,经过处理后可立即作出反应,实现,经过处理后可立即作出反应,实现现场控制。采用查询方式很难做到及时采集,现场控制。采用查询方式很难做到及时采集,实时控制实时控制。中断技术实现的功能中断技术实现的功能v1、分时操作、分时操作v2、实时处理、实时处理v3、故障处理、故障处理分时操作分时操作v计算机的中断系统可以使计算机的中断系统可以使CPUCPU与外设同时工作。与外设同时工作。vCPUCPU在启动外设后,便继续执行主程序;而外设

5、被启动在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向后,开始进行准备工作。当外设准备就绪时,就向CPUCPU发出中断请求,发出中断请求,CPUCPU响应该中断请求并为其服务完毕后,响应该中断请求并为其服务完毕后,返回原来的断点处继续运行主程序。外设在得到服务后,返回原来的断点处继续运行主程序。外设在得到服务后,也继续进行自己的工作。也继续进行自己的工作。v因此,因此,CPUCPU可以使多个外设同时工作,并分时为各外设可以使多个外设同时工作,并分时为各外设提供服务,从而提高了提供服务,从而提高了CPUCPU的利用率和输入和输出的速的利用率和输入和输出的速

6、度。度。实时处理实时处理v当计算机用于实时控制时,请求当计算机用于实时控制时,请求CPUCPU提供服务时随机发提供服务时随机发生的。有了中断系统,生的。有了中断系统,CPUCPU就可以立即响应并加以处理。就可以立即响应并加以处理。故障处理故障处理v计算机在运行时往往会出现一些故障,如断电、存储计算机在运行时往往会出现一些故障,如断电、存储器奇偶校验出错、运算溢出等。器奇偶校验出错、运算溢出等。v有了中断系统,当出现上述情况时,有了中断系统,当出现上述情况时,CPUCPU可及时转去执可及时转去执行故障处理程序,自行处理故障而不必停机。行故障处理程序,自行处理故障而不必停机。中断与子程序的最主要区

7、别:中断与子程序的最主要区别: 何时转移、转向何处?何时转移、转向何处?主程序中断服务程序主程序子程序LCALL ABCLCALL ABCABC:RETRETI第第K K行行第第K+1行行中断中断子程序的调用子程序的调用中断系统的结构和中断控制:中断系统的结构和中断控制:v中断源中断源80518051有有5 5个中断源:个中断源: (1 1)外部中断源)外部中断源由由INT0 INT0 、INT1INT1 ( P3.2 P3.2 、 P3.3 P3.3 )端口线引入)端口线引入 (2 2)内部中断源)内部中断源 定时器定时器T0T0、 T1T1溢出及串口的中断请求溢出及串口的中断请求v中断申请

8、中断申请事件发生:如事件发生:如INT0INT0端口上出现了低电平或下降沿。端口上出现了低电平或下降沿。如如T0T0定时器发生了溢出。定时器发生了溢出。中断系统的结构和中断控制:中断系统的结构和中断控制:v中断标志中断标志-自动置位自动置位v中断允许中断允许-由由CPUCPU参与,靠指令事先设置。参与,靠指令事先设置。EAES ET1 EX1 ET0 EX0 IE(A8H)TF1TF0IE1 IT1 IE0 IT0 TCON(88H)TIRI SCON(98H)中断标志各控制位的含义中断标志各控制位的含义中断系统的结构和中断控制:中断系统的结构和中断控制:v1、TF1:定时器:定时器/计数器计

9、数器T1溢出中断请求标志位。溢出中断请求标志位。v 当启动当启动T1计数后,计数后,T1从初值开始加从初值开始加1计数,计数器计数,计数器最高位产生溢出时,由硬件使最高位产生溢出时,由硬件使TF1置置1,并向,并向CPU发出中发出中断请求。当断请求。当CPU响应中断时,硬件将自动对响应中断时,硬件将自动对TF1清清0。v2、TF0:定时器:定时器/计数器计数器T0溢出中断请求标志位。溢出中断请求标志位。v 含义与含义与TF1类同。类同。 v3、IE1:外部中断:外部中断1的中断请求标志。的中断请求标志。 INT1(P3.3)。)。v 当检测到外部中断引脚当检测到外部中断引脚1 上存在有效的中断

10、请求信号上存在有效的中断请求信号时,由时,由硬件使硬件使IE1置置1。当。当CPU响应中断请求时,响应中断请求时,由硬件使由硬件使IE1清清0。 v4、IE0:外部中断:外部中断0的中断请求标志。的中断请求标志。INT0(P3.2)。)。v 其含义与其含义与IE1类同。类同。v5、IT1:外部中断:外部中断1的中断触发方式控制位。的中断触发方式控制位。v IT1=0时时,外部中断,外部中断1程控为程控为电平触发方式电平触发方式。v CPU在每一个机器周期在每一个机器周期S5P2期间采样外部中断请求引期间采样外部中断请求引脚的输入电平。若外部中断脚的输入电平。若外部中断1请求为低电平,则使请求为

11、低电平,则使IE1置置1;若为高电平,则使若为高电平,则使IE1清清0。 中断标志各控制位的含义中断标志各控制位的含义v5、IT1:外部中断:外部中断1的中断触发方式控制位。的中断触发方式控制位。v IT1=1时,时,外部中断外部中断1程控为程控为边沿触发方式边沿触发方式。v CPU在每一个机器周期在每一个机器周期S5P2期间采样外部中断请求引期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断个机器周期采样到外部中断1请求引脚为高电平,接着的下请求引脚为高电平,接着的下一个机器周期采样到为低电平

12、,则使一个机器周期采样到为低电平,则使IE1置置1。直到。直到CPU响应响应该中断时,才由硬件使该中断时,才由硬件使IE1清清0。v6、IT0:外部中断:外部中断0的中断触发方式控制位。的中断触发方式控制位。 其含义与其含义与IT1类同。类同。中断标志各控制位的含义中断标志各控制位的含义中断系统的结构和中断控制:中断系统的结构和中断控制:v中断响应中断响应 当满足了中断响应条件,中断系统就会自主地做出响应,当满足了中断响应条件,中断系统就会自主地做出响应,包括保存断点地址、自动清除中断标志以及自动转向相应包括保存断点地址、自动清除中断标志以及自动转向相应的中断服务子程序的入口地址的中断服务子程

13、序的入口地址-中断向量。中断向量。v中断向量中断向量中断系统的结构和中断控制:中断系统的结构和中断控制:v中断响应条件中断响应条件有中断源发出中断请求。有中断源发出中断请求。中断总允许位中断总允许位EA=1EA=1,即,即CPUCPU中断。中断。申请中断的中断源的中断允许位为申请中断的中断源的中断允许位为1 1,中断没有被屏蔽。,中断没有被屏蔽。无同级或更高级中断正在被服务。无同级或更高级中断正在被服务。当前的指令周期已经结束。当前的指令周期已经结束。若现行指令为若现行指令为RETIRETI或是访问或是访问IEIE或或IPIP指令时,该指令以及紧指令时,该指令以及紧接着的另一条指令已执行完。接

14、着的另一条指令已执行完。中断系统的结构和中断控制:中断系统的结构和中断控制:v中断响应过程中断响应过程 把当前把当前PCPC值压入堆栈,保护断点。值压入堆栈,保护断点。 将相应的中断服务程序的入口地址送入将相应的中断服务程序的入口地址送入PCPC。 对有些中断源,对有些中断源,CPUCPU会自动清除中断标志。会自动清除中断标志。v中断响应时间中断响应时间中断系统的结构和中断控制:中断系统的结构和中断控制:CPUCPU不是在任何情况下都对中断请求予以响应,而不是在任何情况下都对中断请求予以响应,而不同的情况下对中断响应的时间是不同的。不同的情况下对中断响应的时间是不同的。对于顺利的中断响应,其最

15、短的响应时间为对于顺利的中断响应,其最短的响应时间为3 3个机个机器周期。器周期。对于受阻的中断响应,则响应时间会更长一些。对于受阻的中断响应,则响应时间会更长一些。若中断系统只有一个中断源,则响应时间为若中断系统只有一个中断源,则响应时间为3 38 8个个机器周期之间。机器周期之间。若若M1M1周期的周期的S5P2S5P2前某中断生效,在前某中断生效,在S5P2S5P2期间其中断请求被期间其中断请求被锁存到相应的标志位中去;锁存到相应的标志位中去;M2M2恰逢指令的最后一个机器周期,恰逢指令的最后一个机器周期,且该指令不是且该指令不是RETIRETI或访问或访问IEIE、IPIP的指令。于是

16、,的指令。于是,M3M3和和M4M4便可以便可以执行硬件执行硬件LCALLLCALL指令,指令,M5M5周期将进入了中断服务程序。周期将进入了中断服务程序。80C5180C51的中断响应时间(从标志置的中断响应时间(从标志置1 1到进入相应的中断服到进入相应的中断服务),务),至少要至少要3 3个完整的机器周期。个完整的机器周期。 RETIRETI指令的具体功能是:指令的具体功能是:将中断响应时压入堆栈保存的断点地址从栈顶弹出送回将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PCPC,CPUCPU从原来中断的地方继续执行程序;从原来中断的地方继续执行程序;将相应中断优先级状态触发器清将相应中

17、断优先级状态触发器清0 0,通知中断系统,中断,通知中断系统,中断服务程序已执行完毕。服务程序已执行完毕。注意,不能用注意,不能用RETRET指令代替指令代替RETIRETI指令。在中断服务程序中指令。在中断服务程序中PUSHPUSH指令与指令与POPPOP指令必须成对使用,否则不能正确返回断点。指令必须成对使用,否则不能正确返回断点。中断系统的结构和中断控制:中断系统的结构和中断控制:v中断返回中断返回 关于中断初始化关于中断初始化 关于中断向量关于中断向量 关于中断服务子程序关于中断服务子程序 关于事件的发生关于事件的发生结论:硬件及编程上的要求结论:硬件及编程上的要求举例:XTAL218

18、XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A14

19、27U1AT89C51C11nFX1CRYSTALC21nFC322uFResistorResistorR11kD1LED-REDD2LED-REDD3LED-REDD4LED-REDResistorResistorR2220ResistorResistorR3220ResistorResistorR4220ResistorResistorR5220 单片机上电,单片机上电,D4灯亮。按动接在灯亮。按动接在P3.2上的开关,灯灭;上的开关,灯灭;再按,再亮。再按,再亮。 ORG 0000H SJMP MAIN;上电,转向主程序 ORG 0003H;外部中断0入口地址 SJMP INSER;转向

20、中断服务程序 ORG 0030H ;主程序MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断 CLR P1.0HERE:SJMP HERE ;等待中断 ORG 0200H ;中断服务程序INSER:CPL P1.0 RETI ;中断返回 END单片机上电,单灯按单片机上电,单灯按1Hz频率循环,一旦按下频率循环,一旦按下P3.2所接所接的按键,发光二极管全亮,的按键,发光二极管全亮,2秒钟后,单灯继续原来的循环。秒钟后,单灯继续原来的循环。1、流水灯的源程序、流水灯的源程序2、流水灯的源程序、流水灯的源程序+中断初始化程序中

21、断初始化程序3、中断服务程序及延时子程序、中断服务程序及延时子程序4、 用查询程序实现上述任务用查询程序实现上述任务5、从、从INT0输入,并采用了去抖动电路。输入,并采用了去抖动电路。1、流水灯的源程序流水灯的源程序 ORG 0000H SJMP MAIN ORG 0030H ;主程序MAIN: mov a, #0feh mov r5, #4Output: mov p1,a rl a call Delay djnz r5, Output Ljmp MAINDelay: mov r6, #0 mov r7, #0Dela: djnz r7, Dela djnz r6, Delaretend开始

22、开始设置初始值设置初始值设移位次数设移位次数数据输出数据输出左移一位左移一位延时延时移位完移位完 成?成?是是否否主程序框图主程序框图2、流水灯的源程序流水灯的源程序+中断初始化程序中断初始化程序 ORG 0000H SJMP MAIN;上电,转向主程序 ORG 0003H;外部中断0入口地址 SJMP INSER;转向中断服务程序 ORG 0030H ;主程序MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断MAIN1: mov a, #0feh mov r5, #4Output: mov p1,a rl a call Delay djnz r5, Output Ljmp MAIN13、中断服务程序及延时子程序中断服务程序及延时子程序 ORG 0200HINSE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论