版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章AT89C51单片机中断系统难点? 中断优先级控制原则? 中断响应过程要求掌握:? 中断控制的专用寄存器? 中断响应过程了解:? 中断的概念? 单片机的单步执行方式5.1中断的基本概念5.2MCS-51 单片机的中断系统5.3中断系统的应用举例5.1 中断的基本概念在 CPU 与外设交换信息时,存在着一个快速的 CPU 与慢速的外设之间的矛盾。为解决这个问题,发展了中断的概念。单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。中断现象在现实生活中也会经常遇到,例如,你在看书 手机响了 你在书上作个记号 你接通电话
2、和对方聊天 谈话结束 从书上的记号处继续看书。 这就是一个中断过程。 通过中断, 你一个人在一特定的时刻,同时完成了看书和打电话两件事情。用计算机语言来描述, 所谓的中断就是, 当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后, 再回到原来中断的地方, 继续执行原来被中断的程序, 这个过程称作中断。从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求, 单片机对中断请求进行响应, 当中断响应完成后应进行中断返回, 返回被中断的地方继续执行原来被中断的程序。5.2MCS-51
3、单片机的中断系统单片机的中断源MCS-51 单片机的中断源共有两类,它们分别是:外部中断和内部中断1. 外部中断源外部中断0():来自引脚,采集到低电平或者下降沿时,产生中断请求。P3.2外部中断1():来自引脚,采集到低电平或者下降沿时,产生中断请求。P3.32. 内部中断源定时器计数器0( T0 ):定时功能时, 计数脉冲来自片内; 计数功能时, 计数脉冲来自片外P3.4 引脚。发生溢出时,产生中断请求。定时器计数器1(T1 ):定时功能时, 计数脉冲来自片内; 计数功能时, 计数脉冲来自片外 P3.5 引脚。发生溢出时,产生中断请求。串行口:为完成串行数据传送而设置。单片机完成接受或发送
4、一组数据时,产生中断请求。中断控制的专用寄存器MCS-51 单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。1. 定时器控制寄存器( TCON)该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H8FH。寄存器的内容及位地址表示如下:位地址8F8EH8C8B8988H8DHH8AHHHHTF1TR 1TRIE1IT1IE0IT 0位符号TF00IT 0和 IT 1 外部中断请求触发方式控制位IT 0 ( IT 1) 1脉冲触发方式,下降沿有效IT 0 ( IT 1) 0电平触发方式,低电平有效IE 0 和 IE 1外中断
5、请求标志位当 CPU 采样到(或)端出现有效中断请求时,IE 0( IE 1)位由硬件置“ 1”。当中断响应完成转向中断服务程序时,由硬件把IE (或 IE )清零。TR0和 TR1定时器运行控制位TR 0( TR1) 0定时器 /计数器不工作TR 0( TR1) 1定时器 /计数器开始工作TF 0和 TF1 计数溢出标志位当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。当转向中断服务时,再由硬件自动清“0”。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。2. 串行口控制寄存器( SCON)进行字节操作时,寄存器地址为98H
6、 。按位操作时,各位的地址为98H9FH 。寄存器的内容及位地址表示如下:位地9F9EH9D9BH9AH99H98H址H9CHH位符SRMSM 1TB 8RB8TIRI号SM20EN其中与中断有关的控制位共2 位:TI 串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。RI 串行口接收中断请求标志位当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。串行中断请求由TI和 RI 的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。3.中断允许控制寄存器(IE )进行字节操作时,寄存器地址为0A8H
7、。按位操作时,各位的地址为0A8H0AFH 。寄存器的内容及位地址表示如下:位地址0AFH0AE0ADH0ACH0ABH0AAH0A9H0A8HH位符号EA/ESET1EX 1ET0EX 0其中与中断有关的控制位共6 位:EA 中断允许总控制位EA 0 中断总禁止,禁止所有中断EA 1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。EX 0 和 EX 1外部中断允许控制位EX 0(EX1) 0禁止外部中断EX 0(EX1) 1允许外部中断ET 0 和 ET 1定时器 /计数器中断允许控制位ET 0( ET1) 0禁止定时器 /计数器中断ET 0( ET1) 0允许定时
8、器 /计数器中断ES串行中断允许控制位ES=0禁止串行中断ES=1允许串行中断可见, MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。即以EA 位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。MCS-51 单片机复位后( IE ) 00H ,因此中断系统处于禁止状态。单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。4. 中断优先级控制寄存
9、器( IP )MCS-51 单片机的中断优先级控制比较简单,因为系统只定义了高、低2 个优先级。高优先级用“1”表示,低优先级用“ 0”表示。各中断源的优先级由中断优先级寄存器(IP )进行设定。 IP 寄存器地址0B8H ,位地址为 0BFH 0B8H 。寄存器的内容及位地址表示如下:位地址0BFH0BE0BD0BBH0BA0B9H0B8HH0BCHHH位符号/PSPT1PX 1PT 0PX 0其中:PX 0外部中断0 优先级设定位;PT 0定时中断0 优先级设定位;PX 1外部中断1 优先级设定位;PT 1定时中断1 优先级设定位;PS串行中断优先级设定位。以上各位设置为“0”时,则相应的
10、中断源为低优先级;设置为“1”时,则相应的中断源为高优先级。优先级的控制原则是:低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。如果一个中断请求已被响应,则同级的其它中断服务将被禁止。即同级不能嵌套。如果同级的多个中断同时出现,则按 CPU 查询次序确定哪个中断请求被响应。其查询次序为:外部中断 0 定时中断外部中断定时中断串行中断。中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器。其中一个用于指示某一高优先级中断正在进行服务, 从而屏蔽其它高优先级中断; 另一个用于指示某一低优先级中断正在进行服务,从
11、而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。此外,对于同级的多个中断请求查询的次序安排,也是通过专门的内部逻辑实现的。上述四个专用寄存器的用途可以用图 5.1 说明。图 5.1 MCS-51 中断系统中断响应过程中断响应过程为,中断源发出中断请求对中断请求进行响应执行中断服务程序返回主程序。这个过程可分为三个阶段来完成。1. 中断采样对于外部中断请求,中断请求信号来自于单片机外部,计算机要想知道有没有中断请求发生,必须对信号进行采样。 电平触发方式的外中断请求( IT 0/IT 1 0)采样到高电平时, 表明没有中断请求, IE 0 或 IE 1 继续为“ 0”。采样到低电平时, IE
12、0/IE 1 由硬件自动置“ 1”,表明有外中断请求发生。 脉冲触发式的外中断请求(IT 0 /IT 1 1)在相邻的机器周期采样到的电平由高电平变为低电平时,则IE 0 /IE 1 由硬件自动置“1”,否则为“0”。2. 中断查询由 CPU 测试 TCON 和 SCON 中的各个中断标志位的状态,确定有那个中断源发生请求,查询时按优先级顺序进行查询,即先查询高优先级再查询低优先级。如果同级,按以下顺序查询:S如果查询到有标志位为“1”,表明有中断请求发生,接着就从相邻的下一机器周期开始进行中断响应。3. 中断响应当 CPU 查询到中断请求时,由硬件自动产生一条LCALL指令, LCALL 指
13、令执行时,首先将PC 内容压入堆栈进行断点保护,再把中断入口地址装入PC,使程序转向相应的中断区入口地址。LCALL指令的形式如下:LCALLaddr16; addr16:中断入口地址入口地址已由系统设定,如下:中断源入口地址0003HT0000BH0013HT1001BHS0023H从表中可以看出,每个中断区只有 8 个单元,很难安排下一个中断程序,一般是在中断入口地址处加一条跳转指令,跳转到用户的服务程序入口。编写中断服务程序的格式一般如下:ORG0000HSJMPMAINORG0003HAJMP1NJERRVPMAIN:···HERE :1NJERRVP :
14、SJMP···HERE;中断响应程序RETI并不是所有的请求都被响应,当遇到下列情况之一时不响应这些中断请求:( 1) CPU 正在处理一个同级或者高级的中断服务( 2)当前指令还没有执行完毕( 3)当前指令是 RET 、 RETI 或者是访问 IP 、 IE 的指令,执行完这些指令后,还必须再执行一条指令,才响应中断请求。注意: MCS-51 单片机对中断查询结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也就不能再被响应了。中断请求的撤销中断响应后,TCON 和 SCON 的中断请求标志位应及时撤销。成中断的重复查询和
15、响应,因此需要在中断响应完成后,撤销其中断标志。否则意味着中断请求仍然存在,有可能造1. 定时中断请求的撤销硬件自动把TF0 ( TF 1 )清 0,不需要用户参与。2. 串行中断请求的撤销需要软件清零。3. 外部中断请求的撤销( 1)脉冲触发方式的外中断请求撤销中断标志位的清零是自动的,脉冲信号过后就不存在了,因此其撤销是自动的。( 2)电平触发方式的外中断请求撤销中断标志位的清零是自动的,但是如果低电平持续存在,在以后的机器周期采样时,又会把中断请求标志位( IE/IE 1)置位。为此,需要外加电路,把中断请求信号从低电平强制为高电平。电路如图5.2 所示:0图 5.2电平触发方式的外中断
16、请求撤销通过直接置位端使中断请求信号强制从低电平变为高电平,要实现此功能需要在中断入口地址处加入如下两条指令:ORL1#01HP ,ANLP1,#0FEH5.2.6 MCS-51 单步执行工作方式所谓单步执行就是按一次键,CPU 执行一条指令。假设利用外部中断0 实现。需要做两项准备工作。( 1)建立单步执行的外部电路,不按键时产生低电平,按键时产生高电平。( 2)设置为电平触发方式。编写的中断服务程序ORG0000HSJMPMAINORG0003HWAIT1 :JNBP3.2,WAIT1; 若 P3.2 为低电平,则原地踏步WAIT2 :JB3.2,WAIT2;若 P3.2为高电平,则原地踏步PRETIMAIN :MOVIE ,#81HCLRIT 05.3中断系统的应用举例【例6-3 】使用外部中断0,当每次响应中断时,P1 口依次输出高电平,使8 个发光二极管依次循环熄灭闪烁。1) 电路设计2) 程序设计ORG0000HLJMPMAIN;转主程序ORG0003H;外部中断0 入口地址LJMPEXTER;转中断程序ORG10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国汽车工程塑料行业发展分析及发展趋势研究报告
- 2025-2030中国水质监测行业发展建议及前景运营模式分析研究报告
- 2025至2030中国工业互联网平台应用市场格局及商业模式研究报告
- 2025至2030中国改性树脂产品差异化竞争策略及客户需求变化趋势研究报告
- 2025-2030中国大功率半导体器件市场前景展望与重点企业动态分析研究报告
- 2026年阳宗海风景名胜区“社会救助服务人员”公开招聘备考题库含答案详解
- 2025-2030中国金枪鱼罐头市场盈利模式与投资趋势盈利性分析研究报告
- 2025至2030中国医疗健康产业政策导向与市场机会研究报告
- 2026年重庆大学“双一流”建设办公室劳务派遣工作人员招聘备考题库带答案详解
- 习水县2025年面向社会公开招录政府专职消防员备考题库完整答案详解
- 专题08解题技巧专题:圆中辅助线的作法压轴题三种模型全攻略(原卷版+解析)
- 2024年全国职业院校技能大赛(节水系统安装与维护赛项)考试题库(含答案)
- GB/T 4706.9-2024家用和类似用途电器的安全第9部分:剃须刀、电理发剪及类似器具的特殊要求
- 2019年急性脑梗死出血转化专家共识解读
- 电力工程有限公司管理制度制度范本
- 科研伦理与学术规范-课后作业答案
- 安全防范系统安装维护员题库
- mbd技术体系在航空制造中的应用
- 苗木育苗方式
- 通信原理-脉冲编码调制(PCM)
- 省直单位公费医疗管理办法实施细则
评论
0/150
提交评论