特殊功能寄存器TCON中的标志.ppt

上传人:小飞机 文档编号:6228767 上传时间:2023-10-07 格式:PPT 页数:26 大小:344.49KB
返回 下载 相关 举报
特殊功能寄存器TCON中的标志.ppt_第1页
第1页 / 共26页
特殊功能寄存器TCON中的标志.ppt_第2页
第2页 / 共26页
特殊功能寄存器TCON中的标志.ppt_第3页
第3页 / 共26页
特殊功能寄存器TCON中的标志.ppt_第4页
第4页 / 共26页
特殊功能寄存器TCON中的标志.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《特殊功能寄存器TCON中的标志.ppt》由会员分享,可在线阅读,更多相关《特殊功能寄存器TCON中的标志.ppt(26页珍藏版)》请在三一办公上搜索。

1、第5章 MCS-51单片机的中断,5.1 中断的概述 5.2 MCS-51中断系统5.3 中断系统的应用,5.1 中 断 的 概 述,1.中断 中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。采用了中断技术后的计算机,可以解决CPU与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息,同时,它也提高了计算机处理故障与应变的能力。,2.中断源 中断源是指在计算机系统中向CPU发出中断请求的来源,中断可以人为设定,也可以是为响应突发性随机事件而设置。通常有I

2、/O设备、实时控制系统中的随机参数和信息故障源等。,3.中断优先级 中断优先级越高,则响应优先权就越高。当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。,4.中断响应的过程(1)在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且CPU处于开中断状态下,则响应中断。(2)保护现场,在保护现场前,一般要关中断,以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。(3)中断服务,即为相应的中断源服务。(4)恢复现场,用

3、堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。在恢复现场后应及时开中断。(5)返回,此时 CPU将推入到堆栈的断点地址弹回到程序计数器,从而使CPU继续执行刚才被中断的程序。,5.2 MCS-51中断系统,图5.1 MCS-51中断系统结构框图,5.2.1 中断源,表 5.1 8051 中 断 源,1.特殊功能寄存器TCON中的标志,(MSB),(LSB),图 5.2 TCON格式,2.特殊功能寄存器SCON,图 5.3 SCON格式,(MSB),LSB,5.2.2 中断控制,1.中断允许控制 MCS-51单片机有 5个(8052有 6个)中断源,为了使每个中断源

4、都能独立地被允许或禁止,以便用户能灵活使用,它在每个中断信号的通道中设置了一个中断屏蔽触发器。只有该触发器无效,它所对应的中断请求信号才能进入CPU,即此类型中断开放。否则,即使其对应的中断标志位置1,CPU也不会响应中断,即此类型中断被屏蔽了。同时CPU内还设置了一个中断允许触发器,它控制CPU能否响应中断。,图 5.4 IE格式,(MSB),(LSB),2.中断优先级,(MSB),(LSB),图 5.5 IP的格式,表 5.2 同级内第二优先级次序,例如,某软件中对寄存器IE、IP设置如下:MOV IE,8FH MOV IP,06H 则此时该系统中:CPU中断允许;允许外部中断 0、外部中

5、断 1、定时器/计数器 0、定时器/计数器1提出的中断申请;允许中断源的中断优先次序为:定时器/计数器 0外部中断 1外部中断 0定时器/计数器 1。,5.2.3 中断响应,1.中断响应的条件,(1)同级或高优先级的中断已在进行中;(2)当前的机器周期还不是正在执行指令的最后一个机器周期(换言之,正在执行的指令完成前,任何中断请求都得不到响应);(3)正在执行的是一条 RETI或者访问特殊功能寄存器 IE或 IP的指令(换言之,在 RETI或读写 IE或 IP之后,不会马上响应中断请求,而至少执行一条其它指令之后才会响应)。,2.中断响应过程 单片机一旦响应中断请求,就由硬件完成以下功能:(1

6、)根据响应的中断源的中断优先级,使相应的优先级状态触发器置 1;(2)执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈;(3)清除相应的中断请求标志位(串行口中断请求标志 RI和 TI除外);(4)把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。,表 5.3 中断服务程序入口地址表,例如,现有外部中断 1 提出申请,且主程序中有R0、R1、DPTR、累加器A需保护,则编制程序应为:,ORG 0000H AJMP MAIN ORG 0013H LJMP INT1 ORG 0100H MAIN:;主程序 ORG 1000H,INT1:

7、PUSH ACC;中断服务程序 PUSH DPH PUSH DPL PUSH 0 PUSH 1 POP 1 POP 0 POP DPL POP DPH POP ACC RETI,编程中应注意:(1)在 0000H放一条跳转到主程序的跳转指令,这是因为 MCS-51单片机复位后,PC的内容变为 0000H,程序从 0000H 开始执行,紧接着 0003H是中断程序入口地址,故在此中间只能插入一条转移指令;(2)响应中断时,先自动执行一条隐指令“LCALL 0013H”,而 0013H至 001BH(定时器 1 溢出中断入口地址)之间可利用的存储单元不够,故放一条无条件转移指令。(3)在中断服务程

8、序的末尾,必须安排一条中断返回指令RETI,使程序自动返回主程序。,5.3 中断系统的应用,例 1 单步操作的中断实现。把一个外部中断(设为INT0)设置为电平激活方式。其中断服务程序的末尾写上如下几条指令:JNB P3.2,$;在INT0变高前原地等待(死循环)JB P3.2,$;在 INT0变低前原地等待(死循环)RETI;返回并执行一条指令,现在,若INT0保持低电平,且允许INT0中断,则CPU就进入外部中断 0 服务程序,由于有上述几条指令,它就会停在 JNB处,原地等待。当INT0 端出现一个正脉冲(由低到高,再到低)时,程序就会往下执行,执行RETI后,将返回主程序,往下执行一条

9、指令,然后又立即响应中断,以等待INT0端出现的下一个正脉冲。这样在INT0端每出现一个正脉冲,主程序就执行一条指令,实现了单步执行的目的,要注意的是,这个正脉冲的高电平持续时间不小于 3个周期,以确保 CPU能采集到高电平值。,例 2 多中断源。MCS-51 单片机有两个外部中断输入端,当有 2 个以上中断源时,它的中断输入端就不够了。此时,可以采用中断与查询相结合的方法来实现。可以使每个中断源都接在同一个外部中断输入端上,同时利用输入口线作为多中断源情况下各中断源的识别线。,图 5.6 多中断源,ORG 0003H LJMP INT0INT0:PUSH PSW PUSH ACC JB P0.7,DV1 JB P0.6,DV2 JB P0.5,DV3 JB P0.4,DV4GOBACK:POP ACC POP PSW RETI DV1:;装置1中断服务程序,AJMP GOBACKDV2:;装置2中断服务程序 AJMP GOBACKDV3:;装置3中断服务程序 AJMP GOBACKDV4:;装置4中断服务程序 AJMP GOBACK,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号