单片机中断课件_第1页
单片机中断课件_第2页
单片机中断课件_第3页
单片机中断课件_第4页
单片机中断课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第五章中断系统§5.1微机的输入/输出方式§5.2中断的概念§5.389C51中断系统结构及中断控制§5.4中断处理过程§5.5外部中断扩展方法§5.6中断程序举例5.7思考题与习题§5.1微机的输入/输出方式§5.1.1无条件传送方式不需要交换状态信息,只需在程序中加入访问外设的指令,数据传送便可以实现。§5.1.2查询传送方式(条件传送)通过查询外设的状态信息,确信外设已处于“准备好”,计算机才发出访问外设的指令,实现数据的传送。输出时,要查询外设是否把上一次CPU输出的数据处理完毕。状态信息:一般为1位二进制码。输入时,需要查询外设的输入数据是否准备好;输入状态信息准备好?传送数据YN查询方式程序流程图缺点:CPU在完成一次数据传送后要等待很长时间才能进行下一次的传送。在等待过程中,CPU不能进行其他操作,所以效率比较低。优点:通用性好,可以用于各类外设和CPU间的数据传送。§5.1.4中断传送方式当CPU正在工作时,外部事件请求CPU迅速去处理,于是CPU暂停当前工作,转去处理外部事件。中断服务处理完毕后,再返回到原来被暂停的地方继续原来的工作,这样的过程称为中断。主程序响应中断请求中断服务程序返回主程序继续执行主程序断点中断请求§5.2中断的概念一、什么是中断

二、中断源引起并发出中断请求的源头三、中断源识别中断发生后,系统如何识别是哪一个中断源引起的中断。四、中断控制中断允许、中断优先级控制五、中断优点分时操作提高主机效率实时处理随机故障处理§5.3.189C51中断源和中断请求标志

8051提供5个中断源:INT0P3.2引脚上的外部中断请求(外中断0)INT1P3.3引脚上的外部中断请求(外中断1)T0片内定时器/计数器0溢出(TF0)中断请求T1片内定时器/计数器1溢出(TF1)中断请求TI/RI片内串行口完成一帧发送或接收中断请求源说明:每一个中断源都对应有一个中断请求标志位,设在SFR的TCON和SCON中。有中断请求时,由TCON和SCON中的相应位来锁存。§5.389C51中断系统结构及中断控制

TCON-定时器/计数器(T0,T1)控制器(88H)TF1TF0IE1IT1IE0IT08F8E8D8C8B8A8988TCONT1溢出中断标志T0溢出中断标志外中断1请求标志外部中断1触发方式控制外部中断0触发方式控制外中断0请求标志

T0、T1从初值开始加1计数到产生溢出,使TF0、TF1置“1”,直到CPU响应中断时由硬件复位。

若ITi=1(沿触发),则INTi上的电平由1变到0时,置位IEi、在CPU响应该中断时由硬件清0。

若ITi=0(电平触发),则输入到INTi的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。位地址§5.3.2中断控制IE-中断允许寄存器(A8H)EA--ESET1EX1ET0EX0IEAFAEADACABAAA9A8中断允许标志0禁止所有中断1开放中断外部中断01允许中断外部中断11允许中断T0的溢出中断1允许中断T1的溢出中断1允许中断串行口中断允许位1允许中断位地址一、中断允许控制二、中断优先级控制中断系统提供两个中断优先级每一个中断源都可编程设置为高优先级或低优先级,以便实现二级中断嵌套。中断优先级是由IP控制的,IP格式如下:---PSPT1PX1PT0PX0IPBFBEBDBCBBBAB9B8外部中断0优先级外部中断1优先级T0中断优先级T1中断优先级串行口中断优先级位地址Di=1设高优先级Di=0设低优先级B8H字节地址

二级中断嵌套CPU在执行主程序低级中断请求响应低级中断请求CPU执行低级中断服务程序高级中断请求响应高级中断请求CPU执行高级中断服务程序返回低级中断程序返回主程序例:设8031的片外中断为高优先级,片内中断为低优先级。设置IP相应值。解:(IP)=00000101B=05H(a)用字节操作指令

MOVIP,#05H;或MOV0B8H,#05H;(b)用为操作指令

SETBPX0SETBPX1CLRPSCLRPT0CLRPT189C51中断系统一、响应中断的条件

CPU在每个机器周期的S5P2时刻采样中断标志,而在下一个机器周期对采样到的中断进行处理。按优先级高低,中断系统将控制转入相应的中断服务程序。(3)当前正在执行的指令是返回(RETI)指令或是对IE或IP进行读/写的指令。(2)现行的机器周期不是当前所执行指令的最后一个机器周期。§5.4中断响应及中断处理过程封锁CPU对中断响应的条件:(1)CPU正在处理同级的或高一级的中断中断响应时间CPU不是在任何情况下都对中断请求予以响应,而不同的情况下对中断响应的时间是不同的。对于顺利的中断响应,其最短的响应时间为3个机器周期。对于受阻的中断响应,则响应时间会更长一些。若中断系统只有一个中断源,则响应时间为3~8个机器周期之间。TF1TF0IE1IT1IE0IT08F8E8D8C8B8A8988TCON外中断1请求标志外部中断1(INT1)触发方式控制外部中断0(INT1)触发方式控制外中断0请求标志

若ITi=1至少一个机器周期高电平,一个机器(下降沿触发)周期低电平。

若ITi=0,保持低电平直到中断被响应为止。(低电平触发)中断返回前必须使电平变高。位地址无论何种方式,转入中断后,由硬件清0中断请求标志。§5.5关于外部中断§5.6中断程序举例一、中断程序框架

ORG0000H AJMPMAIN

ORG0003H AJMPINT ORG0050H MAIN: MOVSP,#60H MOVIP,#data1;设置中断优先级 MOVIE,#data2;中断开放 SETBITX;沿触发或电平触发

︰ INT:︰

;中断服务程序RETIEND 2.中断方式

ORG0000H AJMPMAIN

ORG0003H AJMPINT ORG0050H MAIN: MOVSP,#60H

MOVIE,#10000001B;或SETBEA,EX0

SETBIT0;下降沿触发 MOVA,#00H MOVP1,A INT:CPLA SJMP$ MOVP1,A

RETIEND 1.结合电路图,读下列程序,说明其功能。MOVA,#03HML:MOVP1,AACALLDL CPLASJMPMLDL:MOVR7,#0A3HDL1:MOVR6,#0FFH DL6:DJNZR6,DL6 DJNZR7,DL1 RET

2.如果想通过按键控制红绿灯的切换,硬件应该怎样改电路图,软件怎样编程序?例2:

ORG0000H AJMPMAIN

ORG0003H AJMPINT ORG0050HMAIN: MOVSP,#60H

MOVIE,#10000001B;

SETBIT0;下降沿触发 MOVA,#03H MOVP1,A SJMP$

INT:CPLA

MOVP1,A

RETI

END 例3:某8051单片机定时采样压力、温度信号。定时用T0实现,压力超限和温度超限的报警信号分别由INT0、INT1引脚输入,中断优先级排列顺序依次为:压力温度定时确定IE、IP控制字,并编写初始化程序。

ORG0000H AJMPM ORG0003H AJMPINTA ORG000BH AJMPTIMER0 ORG0013H AJMPINTB ORG0050HM:MOVIP,#00000101BSETBIT0;下降沿触发 MOVIE,#10000111B;或SETBEA,EX0例4:某工业监控系统,具有温度、压力、PH值等多路监控功能。当PH值<7时,将向CPU申请中断,CPU响应中断后令P3.0输出高电平,经驱动使加碱管道电磁阀接通一秒,以调整PH值,请设计软件。

撤申请P1.6例5:外部中断实验:

如图所示,将P1口的P1.4~P1.7作为输入位,P1.0~P1.3作为输出位。要求利用8031将开关所设的数据读入单片机内,并依次通过P1.0~P1.3输出,驱动发光二极管,以检查P1.4~P1.7输入的电平情况(若输入为高电平则相应的LED亮)。

现要求采用中断边沿触发方式,每中断一次,完成一次读/写操作。P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0INT08031

+5V+5V+5V+5V+5V&&12S1例:采用外部中断0,并采用了去抖动电路。当P1.0~P1.3的任何一位输出为1时,相应的发光二极管就会发光。当开关S1闭合时,发出中断请求。

ORG0000H

LJMPMAIN;上电,转向主程序ORG0003H;外部中断0入口地址LJMPINSER;转向中断服务程序 ORG0030H;主程序MAIN:

SETBEX0;允许外部中断0中断

SETBIT0;选择边沿触发方式

SETBEA;CPU开中断HERE:SJMPHERE;等待中断

ORG0200H;中断服务程序INSER:MOVA,#0F0H

MOVP1,A;设P1.4~P1.7为输入

MOVA,P1;取开关数

SWAPA;A的高、低四位互换

MOVP1,A;输出驱动LED发光

RETI;中断返回

END例6:利用中断显示系统故障:如图所示,此中断电路可实现系统的故障显示。当系统的各部分正常工作时,四个故障源的输入均为低电平,显示灯全不亮。当有某个部分出现故障时,则相应的输入线由低电平变为高电平,相应的发光二极管亮。解:INT0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031RRRRLEDLEDLEDLED图5-15利用中断显示系统故障返回四个故障源解:如图所示,当某一个故障信号输入线由低电平变为高点平时,会通过INT0线引起8051中断(边沿触发方式)。在中断服务程序中,应将各故障源的信号读入,并加以查询,以进行相应的发光显示。

ORG0000H

LJMPMAIN;上电,转向主程序

ORG0003H;外部中断0入

温馨提示

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

评论

0/150

提交评论