- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目6 中断及定时系统;6.1 中断系统;3.中断的响应过程
五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。中断响应过程可以分为以下几个步骤:
1)保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈;
2)寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的中断服务程序入口地址。在这5个入口地址处存放有中断处理程序;
3)执行中断处理程序;
4)中断返回:执行完中断处理程序后,就从中断处返回到主程序,继续执行主程序。
中断系统是计算机的重要组成部分。中断系统可以提高CPU的工作效率,还可以提高实时数据的处理时效,所以实时控制、故障自动处理往往采用中断系统,计算机与外围设备间传送数据及实现人机联系也常采用中断方式。;
;
1.中断源
MCS-51的5个中断源为两个外部中断、两个定时器中断和一个串行口中断。
1)外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为 、 ,也就是P3.2、P3.3这两个引脚。
2)内部中断请求源:两个定时器中断和串行口中断。8051内部有两个16位的定时/计数器,对内部定时脉冲或者T0/T1引脚上输入的外部计数脉冲计数,当定时时间到或计数脉冲满时,自动向CPU提出中断请求。串行口中断分为串行口发送中断和串行口接收中断两种,在串行口进行发送/接收数据时,每当串行口发送/接收完一组数据,单片机自动使串行口控制寄存器SCON的RI或TI中断标志置位,并且自动向CPU提出串行口中断请求。; 80C51单片机的中断系统提供了5个中断源,具有2个中断优先级,可实现两级中断嵌套。
80C51单片机的5个中断源分别是:2个外部中断(由 、 引脚输入中断请求信号)、2个片内定时器/计数器溢出中断(T0、T1)和1个片内串行口中断。TCON、SCON是用来存放各中断源的中断申请标志的寄存器;IE是用来设置是否允许中断源中断的寄存器;IP是用来设置中断源优先级别的寄存器;硬件查询是相同优先级的中断源再进行排队的硬件电路。
;(1)定时器控制寄存器TCON (Timer Control Register)
;(2)串行口控制寄存器SCON(Serial Control Register)
TI:串行口发送中断请求标志位。当串行口发送完一个数据帧时,将TI置位(TI=1),向CPU申请中断。
RI:串行口接收中断请求标志位。当串行口接收完一个数据帧时,将RI置位(RI=1),向CPU申请中断。;
1.对中断允许的控制
计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。对非屏蔽中断,用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应。对可屏蔽中断,用户则可以通过软件方法来控制是否允许某中断源的中断,允许中断称中断开放,不允许中断称中断屏蔽。MCS-51系列单片机的5个中断源都是可屏蔽中断; EA:中断允许总控制位。EA=0,中断总禁止,禁止所有中断;EA=1,中断总允许,置1后,各中断源的中断允许由各个控制位进行设置。
EX0、EX1:外部中断允许控制位。EX0(EX1)=0,表示禁止外中断INT0(INT1)的中断申请;EX0(EX1)=1,表示允许外中断INT0(INT1)的中断申请。
ET0、ET1:定时/计数中断允许控制位。ET0(ET1)=0,表示禁止定时/计数器0(1)的中断申请;ET0(ET1)=1,表示允许定时/计数器0(1)的中断申请;
ES:串行口中断允许控制位。ES=0,禁止串口中断;ES=1,允许串口中断。
MCS-51单片机各个中断源均为可屏蔽中断。
中断允许寄存器IE的单元地址是A8H,各控制位可以位寻址,也可以字节寻址。例如可以采用位指令开放外部中断的溢出中断:
SETB EA
SETB EX0
若改为字节传送指令,则仅需采用一条指令:MOV IE,#81H;例:设允许定时器/计数器T1的溢出中断的中断请求,禁止其它中断源的中断请求,写出设置IE的指令。
分析:根据设定条件,则IE寄存器的EA=1,ET1=1,其它位为0,IE的值应,即88H。
用字节传送指令可写为:MOV IE,#88H
或 MOV 0A8H,#88H
若改用位操作指令,则需两条指令:
SETB ET1 ;允许T1溢出中断
文档评论(0)