购买

¥ 20.0

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 MCS-51系列单片微计算机-8

MCS-51系列单片微计算机-8.ppt

MCS-51系列单片微计算机-8

精品课件库
2019-06-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《MCS-51系列单片微计算机-8ppt》,可适用于综合领域

中断的概念中断系统)定义当CPU在执行程序的过程中外部事件向CPU发出信号请求CPU迅速去处理于是CPU暂时中止执行当前程序转去处理相应的事件待处理完毕后再继续执行原来被中止的程序这样的过程称为“中断”。中断系统中断源(Io设备、实时时钟及外界计数信号、故障、调试程序)中断申请中断响应过程中断返回)中断的功能a中断可以解决快速的CPU与慢速的外设之间的矛盾使CPU和外设同时工作。CPU在启动外设工作后继续执行主程序同时外设也在工作。每当外设做完一件事就发出中断申请请求CPU中断它正在执行的程序转去执行中断服务程序(一般情况是处理输入输出数据)中断处理完之后CPU恢复执行主程序外设也继续工作。这样CPU可启动多个外设同时工作大大地提高了CPU的效率。b在实时控制中现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请请求CPU及时处理中断请求。如中断条件满足CPU马上就会响应进行相应的处理从而实现实时处理。c针对难以预料的情况或故障如掉电、存储出错、运算溢出等可通过中断系统由故障源向CPU发出中断请求再由CPU转到相应的故障处理程序进行处理。中断系统中断系统中断系统的构成及管理SCON寄存器TCON寄存器中断系统)中断源请求标志aTCON(H)寄存器中的中断标志位bSCON(H)寄存器中的中断标志位)中断控制标志)IE(AH)寄存器中的中断开关控制)IP(BH)寄存器中的中断优先级控制中断系统)INT:外部中断请求由P脚输入。通过IT脚(TCON)来决定是低电平有效还是下跳变有效。一旦输入信号有效就向CPU申请中断并建立IE标志。INT:外部中断请求由P脚输入。通过IT脚(TCON)来决定是低电平有效还是下跳变有效。一旦输入信号有效就向CPU申请中断并建立IE标志。)TF:定时器溢出中断请求。当定时器产生溢出时定时器中断请求标志位(TCON)置位(由硬件自动执行)请求中断处理。)TF:定时器溢出中断请求。当定时器产生溢出时定时器中断请求标志位(TCON)置位(由硬件自动执行)请求中断处理。)RI或TI:串行中断请求。当接收或发送完一串行帧时内部串行口中断请求标志位RI(SCON)或TI(SCON)置位(由硬件自动执行)请求中断。)个中断源中断系统)中断优先级单片机有两个中断优先级每个中断源都可以通过编程确定为高优先级中断或低优先级中断。因此可实现二级嵌套。中断系统同一优先级别中的中断源可能不止一个因此也有一个中断优先权排队的问题。中断系统中断系统中断处理过程)中断系统的功能a实现中断响应和中断返回CPU中断响应过程如下:首先将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留起来这称为保护断点由硬件自动执行然后将有关的寄存器内容和标志位状态推入堆栈保留起来这称为保护现场由用户自己编程完成。保护断点和现场后即可执行中断服务程序。中断返回过程如下:首先恢复原保留寄存器的内容和标志位的状态这称为恢复现场由用户编程完成然后再加返回指令RETIRETI指令的功能是恢复PC值使CPU返回断点这称为恢复断点。恢复现场和断点后CPU将继续执行原主程序中断响应过程到此为止。b实现优先权排队计算机按中断源优先权高低逐次响应的过程称为优先权排队。当多个中断源同时发出中断请求时优先权高的中断能先被响应只有优先权高的中断处理结束后才能响应优先权低的中断。c实现中断嵌套当CPU响应某一中断时若有优先权高的中断源发出中断请求则CPU会中断正在进行的中断服务程序并保留这个程序的断点(类似于子程序嵌套)响应高级中断。高级中断处理结束以后再继续进行被中断的中断服务程序这个过程称为中断嵌套。中断系统)中断处理的过程a中断响应中断响应是CPU对中断源中断请求的响应包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。CPU响应中断的条件有:有中断源发出中断请求。中断总允许位EA=。申请中断的中断源允许。满足以上基本条件CPU一般会响应中断但若有下列任何一种情况存在则中断响应会受到阻断。CPU正在响应同级或高优先级的中断。当前指令未执行完。正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令。中断系统中断响应、中断处理、中断返回中断系统中断系统通过硬件自动生成长调用指令(LACLL)该指令将自动把断点地址压入堆栈保护(不保护累加器A、状态寄存器PSW和其它寄存器的内容)然后将对应的中断入口地址装入程序计数器PC(由硬件自动执行)使程序转向该中断入口地址执行中断服务程序。MCS系列单片机各中断源的入口地址由硬件事先设定分配如下:中断系统中断处理中断处理就是执行中断服务程序。中断服务程序从中断入口地址开始执行到返回指令“RETI”为止。在进入中断服务程序后一般要先保护现场然后执行中断处理程序在中断返回之前再恢复现场。因此中断处理一般包括两部分内容一是保护现场二是完成中断源请求的服务。编写中断服务程序时需注意:各中断源的中断入口地址之间只相隔个字节容纳不下普通的中断服务程序因此在中断入口地址单元通常存放一条无条件转移指令可将中断服务程序转至存储器的其它任何空间。若要在执行当前中断程序时禁止其它更高优先级中断需先用软件关闭CPU中断或用软件禁止相应高优先级的中断在中断返回前再开放中断。在保护和恢复现场时为了不使现场数据遭到破坏或造成混乱一般规定此时CPU不再响应新的中断请求。因此在编写中断服务程序时要注意在保护现场前关中断在保护现场后若允许高优先级中断则应开中断。同样在恢复现场前也应先关中断恢复之后再开中断。c中断返回中断返回是指中断服务完后计算机返回原来断开的位置(即断点)继续执行原来的程序。中断返回由中断返回指令RETI来实现。该指令的功能是把断点地址从堆栈中弹出送回到程序计数器PC此外还通知中断系统已完成中断处理并同时清除优先级状态触发器。特别要注意不能用“RET”指令代替“RETI”指令。中断系统CPU响应中断请求后即进入中断服务程序在中断返回前应撤除该中断请求否则会引起重复中断从而导致错误。各中断源中断请求撤消的方法有以下几种:)定时器中断请求的撤除对于定时器或溢出中断CPU在响应中断后即由硬件自动清除其中断标志位TF或TF无需采取其它措施。)串行口中断请求的撤除对于串行口中断CPU在响应中断后硬件不能自动清除中断请求标志位TI、RI必须在中断服务程序中用软件将其清除。中断请求的撤除中断系统)外部中断请求的撤除外部中断可分为边沿触发型和电平触发型。对于边沿触发的外部中断或CPU在响应中断后由硬件自动清除其中断标志位IE或IE无需采取其它措施。对于电平触发的外部中断其中断请求撤除方法较复杂。因为对于电平触发外中断CPU在响应中断后硬件不会自动清除其中断请求标志位IE或IE同时也不能用软件将其清除所以在CPU响应中断后应立即撤除INT或INT引脚上的低电平。否则就会引起重复中断而导致错误。但是CPU又不能控制INT或INT引脚的信号因此只有通过硬件再配合相应软件才能解决这个问题。将外部中断请求信号不直接加在INT或INT引脚上而是加在D触发器的CLK端。由于D端接地当外部中断请求的正脉冲信号出现在CLK端时Q端输出为INT或INT为低外部中断向单片机发出中断请求。利用P口的P作为应答线当CPU响应中断后可在中断服务程序中采用两条指令:ANLP#FEHORLP#H来撤除外部中断请求。中断响应时间中断响应时间是指从中断请求标志位置位到CPU开始执行中断服务程序的第一条指令所持续的时间。以外部中断为例CPU在每个机器周期的SP期间采样其输入引脚INT或INT端的电平如果中断请求有效则置位中断请求标志位IE或IE然后在下一个机器周期再对这些标志位进行查询。这就意味着中断请求信号的低电平至少应维持一个机器周期。这时如果满足中断响应条件则CPU响应中断请求在下一个机器周期执行一条硬件长调用指令“LACLL”使程序转入中断矢量入口。该调用指令执行时间是两个机器周期因此外部中断响应时间至少需要个机器周期这是最短的中断响应时间。如果中断请求不能满足前面所述的三个条件而被阻断则中断响应时间将延长。例如一个同级或更高级的中断正在进行则附加的等待时间取决于正在进行的中断服务程序的长度。如果正在执行的一条指令还没有进行到最后一个机器周期则附加的等待时间为~个机器周期(因为一条指令的最长执行时间为个机器周期)。如果正在执行的指令是RETI指令或访问IE或IP的指令则附加的等待时间在个机器周期之内(最多用一个机器周期完成当前指令再加上最多个机器周期完成下一条指令)。若系统中只有一个中断源则中断响应时间为~个机器周期。外部中断源的扩展举例单片机仅有两个外部中断请求输入端INT和INT。在实际应用中若外部中断源超过两个则需扩充外部中断源这里介绍两种简单可行的方法。)用定时器作外部中断源MCS单片机有两个定时器具有两个内中断标志和外计数引脚如在某些应用中不被使用则它们的中断可作为外部中断请求使用。此时可将定时器设置成计数方式计数初值可设为满量程则它们的计数输入端T(P)或T(P)引脚上发生负跳变时计数器将加产生溢出中断。利用此特性可把T脚或T脚作为外部中断请求输入线而计数器的溢出中断作为外部中断请求标志。中断系统例将定时器扩展为外部中断源。解:将定时器设定为方式(自动恢复计数初值)TH和TF的初值均设置为FFH允许定时器中断CPU开放中断。源程序如下:ORGHAJMPMAINORGBHAJMPSUBMAIN:MOVTMOD#HMOVTH#FFHMOVTL#FFHSETBTRSETBETSETBEASJMP$SUB:…RETI当连接在T(P)引脚上的外部中断请求输入线发生负跳变时TL加溢出TF置向CPU发出中断申请同时TH的内容自动送至TL使TL恢复初值。这样T引脚每输入一个负跳变TF都会置向CPU请求中断。此时T脚相当于边沿触发的外部中断源输入线。)中断和查询相结合利用两根外部中断输入线(INT或INT脚)每一中断输入线可以通过线或的关系连接多个外部中断源同时利用并行输入端口线作为多个中断源的识别线其电路原理图如图所示。由图可知个外部扩展中断源通过个或非门电路组成线或后再与INT(P)相连个外部扩展中断源EXINT~EXINT中有一个或几个出现高电平则输出为使INT脚为低电平从而发出中断请求。CPU执行中断服务程序时先依次查询P口的中断源输入状态然后转入到相应的中断服务程序。个扩展中断源的优先级顺序由软件查询顺序决定即最先查询的优先级最高最后查询的优先级最低。EXINTEXINTEXINTEXINT中断服务程序如下:ORGH外部中断入口AJMPINT转向中断服务程序入口…INT:PUSHPSW保护现场PUSHACCJNBPEXT中断源查询并转相应中断服务程序JNBPEXTJNBPEXTJNBPEXTEXIT:POPACC恢复现场POPPSWRETI…EXT:…EXINT中断服务程序AJMPEXITEXT:…EXINT中断服务程序AJMPEXITEXT:…EXINT中断服务程序AJMPEXITEXT:…EXINT中断服务程序AJMPEXIT

VIP尊享8折文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/21

MCS-51系列单片微计算机-8

¥20.0

会员价¥16.0

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利