第4章8051单片机的中断系统复习_第1页
第4章8051单片机的中断系统复习_第2页
第4章8051单片机的中断系统复习_第3页
第4章8051单片机的中断系统复习_第4页
第4章8051单片机的中断系统复习_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第四章

中断系统复习4.1中断的概念中断过程: 程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向中断服务程序中去;完成中断服务程序后,CPU继续原来被打断的程序,这样的过程称为中断。2中断响应:CPU暂停当前的工作转去处理中断源事件。中断系统:单片机中实现中断功能的部件,也是中断管理系统。中断源:产生中断的请求的外部或内部事件。中断申请:中断源向CPU发出的请求。优点:中断方式的一个重要应用领域是实时控制。能将从现场采集到的数据及时传送给CPU,经过处理后就可立即作出响应,实现现场控制。中断方式完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。32.中断的排队如果有若干个中断申请同时发生,就需要决定先对哪一个中断申请进行响应。3.中断的响应单片机在响应了中断源的申请时,应使CPU从主程序转去执行中断服务子程序,同时要把断点地址送入堆栈进行保护,中断系统还要能确定各个被响应中断源的中断服务子程序的入口。4.中断的撤除

8051单片机中断系统的任务:1.开中断或关中断中断的开放或关闭可以通过指令对相关特殊功能寄存器的操作来实现,只有在开中断的情况下,才有可能接受中断源的申请。4

8051中有5个中断源:

两个外部中断源/INT0和/INT1;4.2中断系统结构与中断控制三个内部中断源为:T0和T1的定时/计数溢出中断源(2个);和串行口发送或接收中断源(1个)。外部中断请求信号可以是电平触发方式和负边沿触发方式。若是电平触发方式,只要在INT0或INT1引脚有低电平信号即为有效的中断申请。5图4.2中断系统结构定时器控制寄存器中断允许寄存器中断优先级寄存器串行口控制寄存器6

INT0,INT1,T0及T1的中断标志存放在

TCON(定时器/计数器控制寄存器)中;

TCON字节地址为88H,其格式如下:

中断控制系统INT0、INT1的中断触发方式控制位。为0选择电位触发,为1选择跳变触发。由软件设置。外部中断0、1申请中断标志。为1表示有外部中断申请。T0、T1计数溢出标志;为1表示溢出,由硬件置位、响应中断硬件复位。不用中断用软件清0。1.中断标志7串行口的中断标志存放在

SCON(串行口控制寄存器)中。SCON字节地址为98H,其格式如下:串行口发送中断标志。发送完一帧,由硬件置位。响应中断后,必须用软件清0。串行口接收中断标志。接收完一帧,由硬件置位。响应中断后,必须用软件清0。8

中断允许和禁止由中断允许寄存器IE(A8H)控制。IE中各位设置:为0时,禁止中断;为1时,允许中断。中断允许位。当EA=1,允许所有中断开放;当EA=0时,屏蔽所有中断。串行口中断允许位。T0、T1中断允许位。外部中断0、外部中断1中断允许位。2.中断允许控制9

中断优先级寄存器IP(B8H)的格式如下,IP中各位设置:为0时,为低优先级;为1时,设为高优先级。

在中断执行过程中,高中断优先级可以中断低中断优先级的中断过程(即中断嵌套)。

当CPU同时接收到两个不同优先级的中断请求时,先响应高优先级的中断串口定时器1外部中断03.中断优先级10

在同一优先级内有一个由内部查询序列确定的优先级结构。其排列如下:

中断源

中断优先级最高⒈外部中断0 ⒉定时器T0中断⒊外部中断1⒋定时器T1中断⒌串行口中断 最低中断嵌套: 优先级高的事件可以中断CPU正在处理的低级的中断服务程序,待完成了高级中断服务程序之后,再继续被打断的低级中断服务程序。这是中断嵌套问题。11表4.18051单片机的中断源及中断矢量1.单片机在接收到中断申请以后,先把这些申请锁定在各自的中断标志位中,然后在下一个机器周期按优先级分别来查询这些标志。2.CPU在下一个机器周期响应中断,完成两件工作:一是把当前程序计数器PC的内容送入堆栈保护,另一个是根据中断的不同来源把程序的执行转移到相应的中断服务子程序的入口。中断响应过程3.当某个中断请求得到响应之后,相应的中断标志位应该予以清除(即复“0”)。12

1.必须没有同级或更高级别的中断正在得到响应,如果有的话,则必须等CPU为它们服务完毕,返回主程序并执行一条指令之后才能响应新的中断申请。

2.必须要等当前正在执行的指令执行完毕以后,CPU才能响应新的中断申请。

3.若正在执行的指令是RETI(中断返回),则必须要在执行完该指令以及紧随其后的另外一条指令之后才可以响应新的中断申请。中断响应的条件:中断标志的清除:1.由硬件自动使标志位复“0”(即撤除),它们是:.定时器0或1的中断请求标志TF0或TF1;

.外部中断0或1的中断请求标志IE0或IE1。2.中断系统不予以自动撤除,它们是:.串行口的中断请求标志TI和RI。13

在8051中,实现中断需要用软件对以下5个内容进行初始化设置:⑴中断服务程序入口地址的设定。⑵CPU开中断与关中断。

⑶某一中断源中断请求的允许与禁止。⑷各中断源优先级别的设定。⑸对于外部中断请求,还需进行触发方式的设定。中断服务程序的设计中断程序一般包含中断控制程序和中断服务程序两部分。

中断控制程序即中断初始化程序,一般不独立编写,而是包含在主程序中,根据上述的5点通过编写几条指令来实现。

中断服务程序是一种为中断源的特定事态要求服务的独立程序段,以中断返回指令RETI结束。14在编写中断服务程序时,要注意以下几点:

1.8051单片机各中断源的入口地址之间仅相隔8个单元,如果中断服务程序的长度超过8个地址单元时,应在中断入口地址处安排一条转移指令,转到其他有足够空余存储器单元的地址空间。2.若在执行当前中断服务程序时需要禁止更高级中断源,则要用软件指令关闭中断,在中断返回之前再开放中断。3.在保护和恢复现场时,为了不使现场信息受到破坏或造成混乱,保护现场之前应关中断,若需要允许高级中断,则应在保护现场之后再开中断。同样在恢复现场之前也应先关中断,恢复现场之后再开中断。4.及时清除那些不能被硬件自动清“0”的中断请求标志,以免产生错误的中断。最后,说明一下中断的响应时间问题,CPU并不是在任何情况下都对中断请求立即响应,不同情况下中断响应的时间有所不同。若系统中只有一个中断源,则中断响应时间为3-8个机器周期。15编程如下: ORG 0000H SJMP MAIN ORG 0003H;外部中断/INT0中断矢量

LJMP INT0INT ORG 0013H;外部中断/INT1中断矢量

LJMP INT1INTMAIN:MOVIP,#00000100B;设INT1为高优先级

SETB IT0;设INT0下降沿有效

MOVIE,#10000101B;允许INT0、INT1中断,

… ;开放CPU中断

INT0INT:…;中断服务程序

PUSHPSW;保护现场

PUSHACC…POPACC;恢复现场

POPPSWRETI中断入口中断控制中断服务164.5复习思考题

1.什么叫中断?常见的中断类型有哪几种?单片机的中断系统要完成哪些任务?2.8051单片机的中断系统由哪几个特殊功能寄存器组成?答:当CPU正在处理某件事情的时候,某一事件请求CPU迅速去处理,于是CPU暂时中断当前的工作,转去处理所发生的事件。处理完该事件以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。常见的中断类型有两种:外部和内部。中断系统要完成哪些任务:(1).开中断或关中断,(2).中断的排队,(3).中断的响应,(4).中断的撤除。答:定时器控制寄存器TCON;

中断允许寄存器IE;

中断优先级寄存器IP;

串行口控制寄存器SCON。173.8051单片机有几个中断源?试写出它们的内部优先级顺序以及各自的中断服务子程序入口地址。4.8051单片机有哪些中断标志位?它们位于哪些特殊功能寄存器中?各中断标志是怎样产生的?答:8051单片机有5个中断源,即2个外部中断,2个定时器/计数器中断源,1个串行口中断源。TCONSCON185.简述8051单片机中断响应全过程。6.用适当指令实现将INT1设为脉冲下降沿触发的高优先级中断源。答:1).单片机接收到中断申请后,先把这些申请锁定在各自的中断标志位中,然后在下一个机器周期按优先级分别查询这些标志。2).CPU在下一个机器周期响应中断,完成两件工作:一是把当前程序计数器PC的内容送入堆栈保护,另一个是根据中断的不同来源把程序的执行转移到相应的中断服务子程序的入口。3).当某个中断请求得到响应之后,相应的中断标志位应该予以清除(即复“0”)。答:SETBIT1SETBPX119

7.试编程实现将INT1设为高优先级中断,且为电平触发方式,T0设为低优先级中断计数器,串行口中断为高优先级中断,其余中断源设为禁止状态。8.8051单片机中,哪些中断标志可以在响应后自动撤除?哪些需要用户撤除?如何撤除?SETBEX0;允许INT0中断SETBEX1;允许INT1中断SETBET0;允许T0中断SETBEX0;允许串行口中断CLRET1;禁止T1中断CLRIT1;INT1电平触发方式MOVIP,00011100BSETBEA;开中断答:1).由硬件自动使标志位复“0”(即撤除),它们是:定时器0或1,外部中断0或12).中断系统不予以自动撤除,是串行口的中断请求标志。20实验三电路如下,用中断方法实现LED1和LED2闪亮。LED1LED2B1B221

ORG0000H SJMPMAIN ORG0003H AJMPINT0 ORG0013H AJMPINT1MAIN:SETBEASET

温馨提示

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

评论

0/150

提交评论