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

下载本文档

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

文档简介

第5章 中断系统

《单片机原理与应用系统设计》

电子工业出版社,2009.7

欧伟明何静凌云刘剑等编著

2/5/20231本章主要内容中断的概念

89S51的中断系统结构与控制

中断应用举例

2/5/202325.1.1中断的概念当CPU在处理某项任务的过程中,若计算机系统内部或外部因为某一事件的发生,而向CPU发出请求信号,则CPU会暂时终止当前的工作,迅速转去完成相应的处理程序,待事件处理结束之后再返回来继续原来的工作。中断的流程如右图所示2/5/20233中断能改善计算机的性能有效地解决了快速CPU与慢速外设之间的矛盾,使CPU与外设可以并行工作,从而可大大提高工作效率;

可以及时处理控制系统中许多随机产生的参数与信息,使计算机具有了实时处理能力,从而可提高控制系统的性能;使系统具备了故障处理能力,从而可提高系统自身的可靠性。

2/5/202345.1.2中断的条件与响应过程中断响应的条件:

⑴中断允许总开关接通,即系统开中断;⑵有中断源发出中断请求;⑶发出请求的中断源允许中断;⑷无同级或更高级中断正在被处理。2/5/202355.1.2中断的条件与响应过程中断响应的过程:

⑴检测中断;⑵清除中断标志位;⑶保护现场;⑷中断服务;(执行中断服务程序)⑸恢复现场;⑹中断返回。2/5/202365.2中断系统结构与控制89S51的中断源和中断矢量89S51的中断系统结构中断的控制

2/5/202375.2.189S51的中断源和中断矢量89S51的中断源2/5/202385.2.189S51的中断源和中断矢量89S51的中断矢量(中断入口地址)

89S51的各个中断源对应的中断矢量由硬件自动生成。2/5/202395.2.289S51的中断系统结构由5个中断源、4个与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成

2/5/2023105.2.3中断的控制定时器/计数器控制寄存器TCON

(只用到其中6位)串行口控制寄存器SCON

(只用到其中2位)中断允许寄存器IE中断优先级寄存器IP2/5/202311中断请求标志

⑴TCON中的中断请求标志位:TF1TF0IE1IE0⑵SCON中的中断请求标志位:TIRI2/5/202312中断请求的撤除

⑴定时器/计数器溢出中断请求:硬件自动撤除⑵外部中断请求的撤除

外部中断请求被CPU响应后,硬件自动将中断请求标志位IE0或IE1清“0”。而外部中断信号的撤除则要根据不同的触发方式采取不同的处理方法。

①下降沿触发方式的外部中断信号产生过后即会消失,因此它是自动撤除的。

②电平触发方式的外部中断信号:通过外部硬件电路实现外部中断信号强制撤除的参考方案(如下图所示)。

2/5/202313中断请求的撤除

ORL P1,#01H ;P1.0置“1”ANL P1,#0FEH ;P1.0清“0”ORL P1,#01H ;P1.0置“1”2/5/202314中断请求的撤除

⑶串行口中断请求的撤除:软件编程撤除串行口中断请求被响应后,CPU还需通过检测TI、RI两个中断请求标志位的状态,才能判定是接收中断还是发送中断,所以中断请求标志位不会自动清“0”,而是必须在中断服务程序中通过软件的方法清“0”,对串行口中断请求的撤除可通过如下指令完成。

CLR TI ;TI标志位清“0” CLR RI ;RI标志位清“0”2/5/202315中断允许控制

89S51的CPU对中断源的开放或屏蔽,是由片内的中断允许寄存器IE控制的。2/5/202316中断优先级控制

89S51中5个中断源可通过编程人为地设定为高、低两个优先级。中断嵌套:多个中断源同时发出中断请求时,高优先级中断将被CPU优先响应。而CPU一旦响应了任何一个中断,在中断处理过程中不会再响应同优先级中断源发出的中断请求,但却会响应高优先级的中断请求,并转去处理高优先级中断,待处理完毕后,再返回来接着处理低优先级中断。这一过程称为中断嵌套,如右图所示。2/5/202317中断优先级控制

5个中断源的中断优先级,是通过片内的中断优先级寄存器IP进行设置的。2/5/202318中断优先级控制

5个中断源的自然优先级顺序。2/5/2023195.3中断应用举例单外部中断源系统的设计多外部中断源系统的设计2/5/2023205.3.1单外部中断源系统的设计例5.4下图给出了一个采用单外部中断源的数据采集系统示意图。将89S51的P1口设置成数据输入口,外围设备每准备好一个数据时,发出一个选通信号(负脉冲),经D触发器74LS74送给单片机引脚INT1,通知CPU进行处理。试编写主程序及中断服务程序。2/5/202321⑴主程序如下

ORG 0000H LJMP MAIN ;跳转至主程序

ORG 0013H LJMP INT1 ;跳转至外部中断1的中断服务程序

ORG 0030H MAIN: CLR IT1 ;设置为电平触发方式

SETB EA ;CPU开中断

SETB EX1 ;外部中断1允许中断

MOV DPTR,#1000H;设置数据缓冲区地址指针

…2/5/202322⑵

中断服务程序如下

ORG 0200H INT1: PUSH PSW ;保护现场

PUSH ACC CLR P3.0 ;由P3.0引脚输出低电平0,撤除中断请求信号

NOP NOP SETB P3.0 ;P3.0引脚输出高电平1(对74LS74无效的电平)

MOV A,P1 ;读取输入数据到累加器A MOVX @DPTR,A ;存入外部数据缓冲区

INC DPTR ;修改数据指针,指向下一个存储单元

… POP ACC ;恢复现场

POP PSW RETI ;中断返回2/5/2023235.3.2多外部中断源系统的设计当外部中断源多于两个时,可采用外部硬件申请中断与软件查询相结合的方法,把多个中断源经或非门引入单片机的外部中断源输入端(INT0或

INT1),同时又连到某个I/O口,如下图所示。发光二极管LED可实现系统的故障显示。2/5/202324⑴主程序如下

ORG 0000H ;系统复位时入口地址

AJMP MAIN ;跳转至主程序

ORG 0003H ;外部中断0入口

AJMP INSER ;跳转至外部中断0的中断服务程序MAIN: MOVP1,#0FFH ;定义P1.7、P1.5、P1.3、P1.1为输入引脚并使4个LED全灭

SETB IT0 ;设置外部中断0为下降沿触发方式

SETB EX0 ;允许外部中断0中断

SETB EA ;CPU开中断HERE:SJMP HERE ;等待中断2/5/202325⑵

外部中断0的中断服务程序如下INSER: JNB P1.1,L1 ;查询中断源,若P1.1为0,跳转至L1执行

CLR P1.0 ;令P1.0输出为0,点亮对应的发光二极管LEDL1: JNB P1.3,L2 CLR P1.2L2: JNB P1.5,L3 CLR P1.4 L3: JNB P1.7,L4 CLR P1.6L4: RETI ;返回主程序2/5/202326思考题与习题简述中断、中断源、中断嵌套及中断优先级的含义。简述中断响应条件及响应过程。中断响应过程中,为什么通常要保护现场?如何保护?89S51提供了哪些中断源?各中断源所对应的中断入口地址是多少?89S51对各中断源提出的中断请求如何进行控制?外部中断源的触发方式有哪些?如何设定?如何撤除外部中断源产生的中断请求标志?2/5/202327思考题与习题试分析对89S51五个中断源安排的以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,应如何设置各中断源的中断优先级别?否则,请简述不可能的理由。⑴定时器0,定时器1,外中断0,外中断1,串行口中断。⑵串行口中断,外中断0,定时器0,外中断1,定时器1。⑶外中断0,定时器1,外中断1,定时器0,串行口中断。⑷外中断0,外中断1,串行口中断,定时器0,定时器1。⑸串行口中断,定时器0,外中断0,外中断1,定时器1。⑹外中断0,外中断1,定时器0,串行口中断,定时器1。⑺外中断0,定时器1,定时器0,外

温馨提示

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

评论

0/150

提交评论