单片机中断与定时系统

上传人:第*** 文档编号:49694170 上传时间:2018-08-01 格式:PPT 页数:39 大小:620KB
返回 下载 相关 举报
单片机中断与定时系统_第1页
第1页 / 共39页
单片机中断与定时系统_第2页
第2页 / 共39页
单片机中断与定时系统_第3页
第3页 / 共39页
单片机中断与定时系统_第4页
第4页 / 共39页
单片机中断与定时系统_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《单片机中断与定时系统》由会员分享,可在线阅读,更多相关《单片机中断与定时系统(39页珍藏版)》请在金锄头文库上搜索。

1、5-1 中断技术5-2 中断系统控制5-3 中断响应过程5-4 中断请求的撤消5-5 中断服务程序的设计5-6 多外部中断源系统设计5 5 单片机中断系统单片机中断系统(1)查询方式查询方式是用程序不断询问任务状态,查看其是否准备就 绪,若没有准备好反复查询,直到确认已经处于就绪状态,则 可对任务进行相应的操作。查询方式的缺点: 有一个查询等待时间过程,在查询过程 中不能进行其他操作。提高则工作效率的一个途径是采用中断 传送方式。(2)中断方式单片机的中断就是停止当前运行的操作,转到被允许的请 求中断的程序部分中,去执行其操作。当操作完成后,再回到 停止运行的地方继续下一步操作。单片机在等待执

2、行某一任务时可以采取方式 查询方式; 中断方式。中断系统是计算机的重要指标之一。5-1 5-1 中断技术中断技术日常事务程序中断服务程序一、中断概念:例:某人看书 执行主程序 中断过程 电话铃响 中断信号INTx=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC值入栈 保护断点 电话谈话 执行中断程序 中断服务 寻找记号 先前的PC值出栈 恢复断点 继续看书 继续执行主程序 中断返回 中断系统:实现中断功能的部件称为中断系统,又称中断 机构。 中断源:产生中断的请求源称为中断源。 中断请求:中断源向CPU提出的处理请求,称为中断请求 或中断申请。 中断响应过程:CPU暂时

3、中止自身的事物,转去处理事件 的过程,称为CPU的中断响应过程。 中断服务:对事件的整个处理过程,称为中断服务(或中 断处理)。 中断返回:中断处理完毕,在返回到原来被中止的地方, 称为中断返回.中断的概念二、中断源:MCS51单片机的中断系统有3大类5个中断源,分高 和低2个优先级,可实现二级中断嵌套。1、外中断2个:INT0、INT1 (外部中断)2、定时中断2个:T0、T1(内部中断)3、串行中断1个:RI/TI (内部中断)1、外中断:INT0、INT1 (外部中断)信号输入:信号从单片机引脚P3.2和P3.3输入,触发标志位。 触发方式:可选择低电平有效还是下降沿有效; 触发条件:当

4、CPU检测到P3.2、P3.3引脚上出现有效的中断信 号时,中断标志IE0(TCON.1) 、IE1(TCON.3)置1,向CPU 申请中断。触发条件:当定时/计数器T0(或T1)的计数单元溢出时 ,由内部硬件置TF0(或TF1)为“1”,向CPU发送中断 请求。2定时/计数器T0和T1中断(内部中断)3串行口中断(内部中断)串行口中断源对应两个中断标志位:串行口发送中断标志 位TI和串行口接收中断标志位RI。触发条件:当SBUF发送完数据为空或者接收数据sbuf满 时,对应标志位置“1”,都请求串行口中断,到底是发送 中断TI还是接收中断RI,只有在中断服务程序中通过指令 查询来判断。串行口

5、中断响应后,不能由硬件自动清“0”,必须由软件 对TI或RI清“0”。TCOND7D5D5D4D3D2D1D0 (88H)TF1TR1TF0TR0IE1IT1IE0IT0IT0(IT1):外部中断0(或1)触发方式控制位。 设置为0,则选 电平触发方式; 设置为1,则边沿触发方式。 在电平触发方式时,CPU在每个机器周期的S5P2采样P3.2(或P3.3),若引脚为 高电平,则IE0(IE1)清0,若引脚为低电平,则IE0(IE1)置1,向CPU请求中 断;CPU响应后能够由硬件自动将IE0(或IE1)清零;在边沿触发方式时,若第 一个机器周期采样到P3.2(或P3.3)引脚为高电平,第二个机

6、器周期采样为低电 平时,由IT0(或IT1)置1,向CPU请求中断。 IE0(IE1):外部中断0(或1)的中断请求标志位。 三、中断控制的寄存器1. 定时器控制寄存器F1/F0定时器/计数器T1/T0溢出中断请求标志位。当启动T1计数后,T1/T0从初值开始加1计数,计数器 最高位产生溢出时,由硬件使TF1/TF0置1,并向CPU发出中断 请求。当CPU响应中断时,硬件将自动对TF1/TF0清0。2、串行口控制寄存器SCONSCON的中断标志RI(SCON.0),串行口接收中断标志位。当允许串行口 接收数据时,每接收完一个串行帧,由硬件置位RI。同 样,RI必须由软件清除。 TI(SCON.

7、1),串行口发送中断标志位。当CPU将一个发 送数据写入串行口发送缓冲器时,就启动了发送过程。 每发送完一个串行帧,由硬件置位TI。CPU响应中断时, 不能自动清除TI,TI必须由软件清除。TIRISCON (98H)9FH 9EH 9DH 9CH 9BH 9AH 99H 98H3 中断允许控制寄存器中断允许寄存器IE的字节地址为A8H,可以进行位寻址. IED7D5D5D4D3D2D1D0 (A8H)EAET2ESET1EX1ET0EX0EA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1, 开放中断。 ET2:定时器/计数器T2的溢出中断允许位 ES: 串行口中断允许位。 ET1:

8、定时器/计数器T1的溢出中断允许位。 EX1:外部中断 INT1的中断允许位。 ET0:定时器/计数器T0的溢出中断允许位 EX0:外部中断 INT0的中断允许位。四、 优先权控制寄存器每个中断源有两级控制:高优先级和低优先级。通过由内 部的中断优先级寄存器IP来设置.中断优先级寄存器IP的字节地 址为B8H,可以进行位寻址. IPD7D5D5D4D3D2D1D0 (B8H)PT2PSPT1PX1PT0PX0PT2:定时器/计数器T2的中断优先级控制位,只用于52子系列 。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器T1的中断优先级控制位。 PX1:外部中断INT1的中断优先级控

9、制位。 PT0:定时器/计数器T0的中断优先级控制位。 PX0:外部中断INT0的中断优先级控制位。 如果某位被置“1”,则对应的中断源被设为高优先级; 如果某位被清“0”,则对应的中断源被设为低优先级。对 于同级中断源,系统有默认的优先权顺序, 中断源优先级顺序最高最低外部中断0 定时/计数器T0中断 外部中断1 定时/计数器T1中断 串行口中断通过中断优先级寄存器IP改变中断源的优先级顺序可 改变系统中 断源的优先权顺序和实现二级中断嵌套。四、中断优先级控制原则和控制逻辑 :中断优先级是为中断嵌套服务的。如图,MCS51具有2级优先级。1、优先级控制原则:(1)低优先级中断不能打断高优先级

10、的中断服务;但高优先级中断请求信号可以打断低优先级的中断服务,从而实现中断嵌套。 (2)如果一个中断请求已被响应,则同级的其它中断服务将被禁止。即同级中断不能嵌套。 (3)如同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。查询次序为:INT0T0INT1T1RI/TI。2、控制逻辑: (1)利用中断优先级控制寄存器; (2)2个不可寻址的优先级状态触发器:状态“0”或“1” 。日常事务 程序中断服 务程序1中断服务 程序25-2 中断系统控制一、MCS-51中断系统内部结构2、中断允许控制: 总允许开关:EA; 源允许开关:ES、ET1、EX1、ET0、EX0。3、2级中

11、断优先级控制: 优先级选择开关:PS、PT1、PX1、PT0、PX0。1、中断源信号: 2个外部中断源信号:INT0、INT1; 2个定时器T0、T1溢出中断请求:TF0、TF1; 1个串行口数据发送、接收结束中断请求:TI、RI。高低2. 外部中断触发方式选择位:IT0、IT1=1:负边沿触发中断请求;=0:低电平触发中断请求。二二、中断控制寄存器中断控制寄存器 :1. 中断标志位: TF1、TF0、IE1、IE0、RI 、TI登记各中断源请求信号:=1,有中断请求;=0,无中断请求。CPU响应中断后,该中断标志自动清零。TI、RI标志必须软件清零。3.中断允许控制位:EA、ES、ET1、E

12、X1、ET0、EX0=1开中断;=0关中断。例:允许CPU响应INT0的中断请求。 SETB EX0 SETB EA二二、中断控制寄存器中断控制寄存器 :4中断优先级控制位:PS、PT1、PX1、PT0、PX02级优先级:=1为高优先级;=0为低优先级。同一优先级别按内部查询顺序排列优先级:高 INT0、T0、INT1、T1、TI/RI 低。5-3 中断响应过程1、外部中断采样仅对外中断(INT0、INT1)请求信号标 志位完成置位动作,每个机器周期S5P2采样INT0、INT1;采样有效中断信号后锁存到标志位IE0/IE1;2、中断查询:由于中断请求是随机发生的,CPU中断查询要 在指令执行

13、的每个机器周期中不停地重复进行。 单片机在每一个机器周期的最后一个状态S6,按优先级 顺序对中断请求标志位(TCON、SCON)查询,即先高级中断 后再低级中断,同级中断按 “INT0T0INT1T1RI/TI”的顺序查询。 如果查询到有标志位为“1”,则表明有中断请求发生, 接着就从相邻的下一个机器周期的S1状态开始进行中断响 应。1.中断响应的三个阶段程序存储器中断源中 断服务程序的入口地 址,即中断向量表。 0000H0002H;系 统启动单元 0003H002AH ;中 断向量保留40个单元 ,程序存放不能占用 这些单元。3、中断响应:当查询到有效的中断请求时,就进行中断响应 。 CP

14、U响应中断时先置“1”相应的优先级触发器,然后 执行硬件LCALL(压栈与转移),同时清“0”中断请求标 志(TI、RI除外)。由硬件自动生成一条长调用指令LCALL,其格式为:LCALL addr16,addr16即是由系统设定的5个中断程序的入口地 址。 二、中断响应过程: 1关中断:屏蔽其它中断请求信号。2保护断点:将断点地址压入堆栈保存,即当前PC值入栈 。 3寻找中断源:中断程序入口地址PC,转入中断服务。 4保护现场:将中断服务程序使用的所有寄存器内容入栈 。 5中断处理:执行中断源所要求的程序段。 5恢复现场:恢复被使用寄存器的原有内容。 7开中断:允许接受其它中断请求信号。 8

15、中断返回:执行RETI指令,堆栈断点地址PC,程序跳转回断点处执行。RETI= RET指令+通知CPU中断服务已结束(复位触发器)RETI指令的具体功能是:l将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC ,CPU从原来中断的地方继续执行程序;l 将相应中断优先级状态触发器清0,通知中断系统,中断服 务程序已执行完毕。注意,不能用RET指令代替RETI指令。在中断服务程序中 PUSH指令与POP指令必须成对使用,否则不能正确返回断点 。中断响应条件有中断源发出中断请求。中断总允许位EA=1,即CPU中断。申请中断的中断源的中断允许位为1,即中断没有被屏蔽。无同级或更高级中断正在被服务。当

16、前的指令周期已经结束。若现行指令为RETI或是访问IE或IP指令时,该指令以及紧 接着的另一条指令已执行完。 同时满足时,CPU响应中断。三、中断响应条件 遇以下任一条件,硬件将受阻,不产生LCALL指令:1. CPU正在处理同级或高优先级中断;2. 当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断; 3. 正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。四、中断响应阻断:电平触发方式适合于外部中断输入以低电平输入且中

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号