单片机 华中科大 - 06 第六章 中断系统.pptVIP

单片机 华中科大 - 06 第六章 中断系统.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机 华中科大 - 06 第六章 中断系统

第六章 中断系统;6.1 概述;中断源:向CPU发出中断申请的来源; 中断请求:中断源向CPU发出要求服务的请求; 主程序:被打断的程序; 中断服务程序:中断后转去执行的程序; 断点:主程序被中断的位置;;根据优先处理最紧急事件的原则,对中断源进行了优先级划分: 二个中断优先级, 每个中断源可以设为高优先级或低优先级, 可以实现二级中断服务程序嵌套。 ;中断嵌套的流程;中断源寄存器; MCS-51单片机有5个中断源:;一、外部中断请求INT0、INT1: 由P3.2、 P3.3脚输入。 分别通过IT0位和IT1位来控制中断输入信号是低电平有效还是负跳变边沿有效。 一旦输入触发信号有效,就分别置位标志位IE0(TCON.0)、IE1(TCON.1),向CPU请求中断处理。 ;??低电平触发方式;?负跳变边沿触发方式;二、内部中断: (1)定时器溢出中断TF0、TF1: 当定时器T0、T1产生溢出时发出的中断请求,中断标志位TF0、TF1置1,请求中断处理;响应中断后,自动清0。 (2)串行口中断RI或TI: 当串行口接收或发送完一帧数据时发出的中断请求,中断标志位RI或TI置1,请求中断处理。响应中断后,由用户清0。;注意:RI、TI的中断入口都是0023H,所以CPU响应后转入0023H开始执行服务程序,首先必须判断是RI中断还是TI中断,然后进行相应服务。在返回主程序之前必须用软件将RI或TI清除,否则会出现一次请求多次响应的错误。;总结:中断源寄存器TCON和SCON 记录是否有中断请求出现 选择外部中断源的触发方式(电平触发\边沿触发);6.2.1 特殊功能寄存器TCON;SCON是串行口控制寄存器,锁存串行口接收和发送中断的标志。;6.2.2 中断允许和禁止 ;IE;6.2.2 中断优先级设定 ;IP:中断优先级寄存器,系统复位后全部清零。;若同时收到两个同级的中断,则按预先设定的顺序进行响应;6.2.3.1 中断响应 ;有下列情况发生时,CPU不响应中断 CPU正在处理同级的或更高优先级的中断; 现行的机器周期不是所执行指令的最后一个机器周期; CPU正在执行的指令是RETI或任何访问IE/IP的指令,此时CPU须再执行完紧接着的一条指令后,才能响应中断。 ;注意:如果一个中断标志位原本有效,可由于上述阻止原因使该中断没有???响应;当阻止条件被去掉后,如果标志位已变为无效,则该中断就不再被响应 了。也就是说,没有被及时响应的中断请求是不会被记下来的。 ;在响应中断的过程中,单片机必须做以下三件事: (1)将相应的优先级状态触发器*置位,指明CPU开始处理的中断优先级别 (2)清中断标志 (3)把中断的断点地址,也就是当前程序计数器PC中的内容压入堆栈,将相应的中断服务程序的入口送给PC。;中断服务程序的入口地址;6.2.3.2 中断处理和中断返回 ;CLR EA ;关中断 PUSH A ;保护现场 PUSH R1 ; … SETB EA ;开中断,可响应更高级中断 … ;中断服务 … ; CLR EA ;关中断 … POP R1 ;恢复现场 POP A ; SETB EA ;开中断 RETI ;中断返回;CPU响应某中断请求后,在中断返回前,必须撤除中断请求,否则将错误地引起另一次中断发生。 系统自动撤除的中断请求: 定时器0、1产生的中断请求 由边沿触发产生的外部中断请求; 系统不能自动撤除的中断请求: 电平触发产生的外部中断请求由硬件撤除 串行口中断请求必须通过软件撤除;解:一般单片机的开发系统都有单步运行用户程序的功能。在调试程序时,每按一次单步执行键,CPU就执行一条指令,之后进入暂停等待状态,必要时还显示累加器中的内容和下条指令的地址。这是利用单片机的外部中断,配上简单硬件(如下图),再经适当编程实现的。;单步键;INT0设为电平触发方式(低电平有效); INT0引脚平时为低电平,单片机一直处于中断服务中; 按下单步键出现高电平,放开单步键出现低电平; 此时,在中断服务程序中,检测到高低电平先后出现便从中断返回,执行主程序中的一条指令, 此后,又响应中断,等待用户按键,实现单步操作。;初始化程序?;例:出租车计价器计程方法是车轮每转一圈产生一个负跳变,从外部中断INT0(P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。 ; ORG 0100H ;初始化程序首地址 STAT: MOV SP,#60H ;置堆栈指针 SETB IT0 ;置边沿触发方式 MOV IP,#01H ;置高优先级 MOV IE

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档