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

下载本文档

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

文档简介

单片机原理及应用2012-2013-1第六章中断与中断系统学习要求了解中断有关的基本概念掌握MCS-51系列单片机中断系统的硬件结构掌握CPU对中断响应的步骤掌握中断服务程序的一般格式2第一节中断与中断系统的基本概念一、中断的概念生活实例:你打开火,烧上一壶水,然后去洗衣服,在洗衣服过程中,突然听到水壶发出开水的报警声,这时,你停止洗衣服,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又继续洗衣服。洗衣服主任务水开报警将开水灌入暖水壶继续洗衣服3

1、中断在程序执行过程中由于随机事件的发生而被中断运行的情况,称为中断

2、中断系统是实现中断功能的部件3、中断源就是能发出中断请求、引起中断的设备或信号。中断源主要有:

故障源;外围设备;实时控制信号;断点.44、中断请求(中断申请)中断源向CPU提出的处理请求。7、中断返回5、中断响应过程CPU暂时中止自身事物,转去执行事件处理的过程6、中断服务(中断处理)对事件处理的整个过程事件处理完毕,CPU再回到原程序被终止的地方,继续执行主程序8、中断服务程序响应中断后,CPU执行的处理程序5二、中断的用途

1、解决高速CPU与低速外设的匹配问题2、及时处理突发事件突发事件:电源掉电、负荷超载、硬件故障、运算溢出等3、实时控制4、实现人机联系5、实现多机联系6三、中断响应和中断处理过程一个完整的中断过程包括:中断处理:CPU暂停现行程序,将PC中下一条指令的地址入栈保护,响应中断请求,进入中断服务程序;中断服务程序首先保护现场,然后执行。中断请求:首先中断源提出中断申请中断优先、中断响应:在中断允许的情况下,CPU先响应级别高的中断源提出的中断请求,处理完毕后,再响应级别较低的。中断返回:回复现场,最后返回主程序7第二节中断系统的结构及中断控制一、中断系统结构8(一)中断源8051单片机有5个中断请求源:单片机INT0或外部输入中断源INT0(P3.2)INT1或外部输入中断源INT1(P3.3)T0片内定时器T0的溢出T1片内定时器T1的溢出串行口片内串行口发送或接收中断源9(二)中断控制1)TCON(定时器/计数器控制寄存器)中的中断请求标志TF1TF0IE1IT1IE0IT0TCON位地址8FH8DH8BH8AH89H88H①IT0/IT1:外部中断0/1的中断触发方式控制位当IT0(IT1)=1时,为脉冲触发方式,下降沿有效,即负跳变(1→0)有效。当IT0(IT1)=0时,为电平触发方式,低电平有效。由软件置“1”或清“0”。可通过位操作指令来实现。1.中断请求标志10TF1TF0IE1IT1IE0IT0D7D6D5D4D3D2D1D0TCON位地址8FH8DH8BH8AH89H88H②IE0/IE1:外部中断0/1的中断请求标志位当IT0(IT1)=0为电平触发方式时,若外部中断0为低电平,则对IE0(IE1)置1,否则清0;当IT0(IT1)=1时,为脉冲触发方式,若第一个机器周期检测到外部中断为高电平,第二个机器周期检测到外部中断为低电平时,对IE0(IE1)置1,否则清0。11TF1TF0IE1IT1IE0IT0TCON位地址8FH8DH8BH8AH89H88H③TF0/TF1:T0或T1的溢出中断请求标志位当启动T0或T1计数后,从初始值开始加1计数,当最高位产生溢出时,由硬件对TF0(TF1)置位,表示内部T0或T1向CPU发出中断请求,当CPU响应TF0(TF1)中断时,由硬件自动对TF0(TF1)清零。也可用软件查询该标志位,然后用软件清零。122)SCON(串行口控制寄存器)中的中断请求标志TIRISCON位地址99H98H①RI:串行口接收中断请求标志位

当接收完一帧串行数据后,由硬件置“1”;请求中断在转向中断服务程序后,用软件清“0”。CLRRI或ANLSCON,#0FEH13TIRISCON位地址99H98H②TI:串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。CLRTI或ANLSCON,#0FDH142.中断允许控制标志位单片机对中断源的开放或关闭是由中断允许控制寄存器IE进行控制EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H①EA:中断允许总控制位。EA=0:屏蔽所有中断请求;EA=1:CPU开放所有中断请求;15EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H②EX0(EX1):外部中断0/1允许控制位EX0(EX1)=1:外部中断0/1允许EX0(EX1)=0:外部中断0/1禁止③ET0(ET1):定时/计数器0/1中断允许控制位ET0(ET1)=0,禁止定时/计数0/1中断ET0(ET1)=1,允许定时/计数0/116EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H④

ES:串行中断允许控制位ES=0,串行中断禁止ES=1,串行中断允许17例1,假设允许T0和T1中断,禁止其他中断,请设置IE的值。EAESET1EX1ET0EX0

解:(IE)=8AH1)字节操作指令:MOVIE,#8AH或MOVA8H,#8AH2)位操作指令:SETBET0SETBET1SETBEA183.中断优先级控制标志位PSPT1PX1PT0PX0IP位地址BCHBBHBAHB9HB8H串行口中断优先级控制位,PS=1,为高;PS=0为低T1中断优先级控制位外部中断1中断优先级控制位T0中断优先级控制位外部中断0中断优先级控制位说明:以上各位与IE的低五位相对应,为“1”时为高级。初始化编程时,由软件确定。19PSPT1PX1PT0PX0IP位地址BCHBBHBAHB9HB8H注意:当单片机复位后,IP=00H,故所有的中断都是低优先级中断。可通过软件对中断源设置优先级。例如,SETBPT0CLRPX0等。20中断源的矢量地址及优先级排序中断系统对中断优先级处理原则1)不同级的中断源同时申请中断时,先高后低;2)处理低级中断又收到高级中断请求时,停低转高;3)处理高级中断又收到低级中断请求时,高不踩低;4)同级的中断源同时申请中断时,按上表的顺寻内部查询;21例2:若要求中断源T0,T1,INT0和INT1允许中断,禁止串行口中断,将T0,T1设为高优先级,INT0,INT1设为低优先级。试确定IE、IP控制字。解:EX0ET0EX1ET1ESEA111101IEPX0PT0PX1PT1PSIP010100故:IE=10001111=8FHIP=00001010=0AH000022(三)中断响应过程1、中断响应条件1)中断源发出中断请求;2)中断中允许位EA=1,即CPU开放中断;3)发出中断请求的中断源所对应位为1,即,开放中断;232、编写中断服务程序注意事项1)在相应中断服务程序入口地址放一条长跳转指令LJMP,若在2KB范围内转移,可使用短跳转AJMP;2)对一些中断源,CPU在响应中断后会自动清除中断标志,如TF0、TF1和边沿触发方式下的IE0、IE1。对串行接口中断必须由用户在中断服务程序中用软件清除相应标志位。如CLRTI对电平触发的外部中断需要利用外接电路来撤除中断请求信号。3)在中断服务程序中,用户应注意用软件保护现场,以免中断返回后丢失原寄存器、累加器中的信息;4)在中断服务程序从矢量地址开始执行,最后一条指令应是返回指令“RETI”;24第三节中断应用举例1.边沿触发方式中断处理实现如图:要求用4个灯对应显示4个开关的状态,即开关打开,灯灭;开关闭合,灯亮。由另一个开关控制中断申请,要求每申请一次,完成一个读写过程,使指示灯与开关状态对应。驱动门,调节电流25ORG0000HAJMPMAIN

ORG0003H

MOVA,#0FFHMOVP1,A

MOVA,P1SWAPAMOVP1,A

RETIORG1000HMAIN:SETBIT0SETBEX0SETBEAHERE:AJMPHEREEND262.电平触发中断处理实现中断申请撤销线向CPU申请中断ORG0000HAJMPMAIN

ORG0003H

AJMPW1ORG0050HMAIN:CLRIT0

SETBP3.0

SETBEX0SETBEAHERE:AJMPHERE;INT0的电平触发方式;D触发器工作RD,SD为高电平时,D工作27中断申请撤销线向CPU申请中断ORG0100H

温馨提示

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

评论

0/150

提交评论