单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx

上传人:b****1 文档编号:14089502 上传时间:2022-10-18 格式:PPTX 页数:48 大小:1.38MB
下载 相关 举报
单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx_第1页
第1页 / 共48页
单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx_第2页
第2页 / 共48页
单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx_第3页
第3页 / 共48页
单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx_第4页
第4页 / 共48页
单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx

《单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx》由会员分享,可在线阅读,更多相关《单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx(48页珍藏版)》请在冰豆网上搜索。

单片机原理及应用第2版张兰红第6章中断系统及应用优质PPT.pptx

中断源在单片机内部的为内中断,中断源在单片机外部的为外中断。

常见的中断源主要有以下几种:

(1)输入/输出设备

(2)实时时钟或计数信号(3)故障源,09:

31,6,1.实现分时操作,6.1.2中断技术的应用,中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设并行工作。

CPU在启动外设工作后继续执行主程序,同时外设也在工作。

每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的主程序,转去执行中断服务程序(一般情况是处理输入/输出数据),中断处理完成之后,CPU继续执行主程序,外设也继续工作。

这样,CPU可以控制多个外设同时工作,大大地提高了CPU的效率。

2.实时处理,在实时控制系统中,现场的各种参数、信息均随时间和现场而变化。

这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理发生的情况。

如中断条件满足,CPU马上就会响应,进行相应的处理。

3.故障处理,单片机在运行过程中会出现难以预料的情况或故障,如掉电、存储出错、运算溢出等,此时可以通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。

31,7,6.1.3中断系统的功能,1.能实现中断及返回,2.能实现优先权排队,3.能实现中断嵌套,当中断源向CPU发出中断申请时,CPU能决定是否响应这个中断请求。

若中断源有效且CPU开中断,则CPU在现行的指令执行完后,保护好被中断的主程序的断点地址(下一条应该执行的指令地址)及现场信息,然后,将中断服务程序的首地址送给PC,转去执行中断服务程序。

中断服务程序的最后一条指令是中断返回指令RETI,该指令使CPU返回断点,继续执行主程序,这个过程如图6-1所示。

通常,单片机系统中有多个中断源,有时会遇到多个中断源同时提出中断请求的情况。

这就要求单片机既能区分各个中断源的请求,又能确定先为哪一个中断源服务。

当CPU响应某一外设的中断请求,正在进行中断处理时,若有优先权级别更高的中断源提出中断请求,则CPU能中断正在进行的中断服务程序,响应高级中断,在高级中断处理完后,再继续执行被中断的中断服务程序。

这一过程称为中断嵌套,,09:

31,8,中断嵌套,09:

31,9,6.280C51单片机中断系统,6.2.1中断系统的结构,中断系统结构示意图,09:

31,10,80C51单片机的中断系统有5个中断源,两个中断优先级,可实现2级中断服务程序嵌套。

由片内特殊功能寄存器中的定时器/计数器控制寄存器TCON和串行口控制寄存器SCON对中断源进行控制,由中断允许寄存器IE控制CPU是否响应中断请求;

由中断优先级寄存器IP安排各中断源的优先级;

相同优先级内各中断同时提出中断请求时,不能通过程序控制,而是由CPU内部的查询顺序决定谁优先响应。

31,11,1.中断源80C51单片机的中断系统有5个中断源,它们是:

(1)外部中断0:

由(P3.2)引脚输入,由IT0选择其为低电平有效还是下降沿有效,当CPU检测到引脚上出现有效的中断请求信号时,中断请求标志位IE0置1,向CPU申请中断。

(2)外部中断1:

由(P3.3)引脚输入,由IT1选择其为低电平有效还是下降沿有效,当CPU检测到引脚上出现有效的中断请求信号时,中断请求标志位IE1置1,向CPU申请中断。

(3)定时器/计数器T0溢出中断请求,当T0定时时间到或计数满后,中断请求标志位TF0由硬件置1,向CPU申请中断。

31,12,(4)定时器/计数器T1溢出中断请求,当T1定时时间到或计数满后,中断请求标志位TF1被硬件置1,向CPU申请中断。

(5)串行口中断请求,当串行口接收完一帧数据时,中断请求标志RI被硬件置1,或当串口发送完一帧数据时,中断请求标志TI被硬件置1。

31,13,中断源的中断请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁存,TCON和SCON寄存器的字节地址分别为88H和98H,可进行位寻址。

2.中断标志寄存器TCON和串行口控制寄存器SCON,09:

31,14,IT0:

外部中断的触发方式选择位。

当IT0=0时,外部中断为电平触发方式,即引脚上的信号为低电平有效。

当IT0=1时,外部中断为边沿触发方式,即引脚上的信号出现从高到低的负跳变有效。

IT0位可由软件置1或清0。

31,15,IE0:

外部中断中断请求标志位。

当IT0=0时,外部中断为电平触发方式,CPU在每个机器周期的S5P2采样引脚电平,若采样到为低电平时,IE0置1表示向CPU申请中断;

若采样到为高电平时,IE0清0。

注意:

在电平触发方式下,CPU响应中断时,不能自动将IE0清0,因为IE0的状态完全由状态决定,所以在中断返回前必须撤除引脚上的低电平。

31,16,当IT0=1,外部中断为边沿触发方式,CPU在每个机器周期的S5P2采样引脚电平,如果在连续的两个机器周期里检测到引脚由高电平到低电平,即在第一个机器周期的S5P2采样到=1,在第二个机器周期的S5P2采样到=0,则IE0置1表示向CPU申请中断。

在边沿触发方式,CPU响应中断时,由硬件自动清除IE0标志。

为了保证CPU能检测到负跳变,的高低电平至少应保持一个机器周期。

31,17,IT1:

外部中断的触发方式选择位,其操作功能与IT0类似。

IE1:

外部中断中断请求标志位,其操作功能与IE0类似。

TF0:

定时器/计数器T0溢出中断请求标志位。

当T0启动计数后,T0从计数初值开始加1,直至最高位产生溢出由硬件将TF0置1,向CPU申请中断,CPU响应中断时,由硬件自动将TF0清0。

如果定时器/计数器T0工作在查询方式,T0计数溢出后,TF0必须由软件清0。

TF1:

定时器/计数器T1溢出中断请求标志位,其操作功能与TF0类似。

31,18,TR0、TR1这两个与中断无关,仅与定时器/计数器T0和T1有关,用来启动和停止定时器工作,它们的功能将在定时器/计数器这一章介绍。

31,19,SCON为串行口控制寄存器,与中断有关的是它的低两位TI和RI,SCON各位定义如下:

31,20,RI:

串行口接收中断标志位,当允许串行口接收数据时,串行口每接收完一帧数据,由硬件将RI置1,CPU响应串行口接收中断时,CPU并不自动清除RI中断标志位,必须在中断服务程序中由软件对RI清零。

TI:

串行口发送中断标志位,CPU将8位数据写入串行口发送缓冲器SBUF时,就启动了一帧数据的发送,每发送完一帧数据后,由硬件将TI置1,CPU响应串行口发送中断时,CPU并不自动清除TI中断标志位,必须在中断服务程序中由软件对TI清零。

单片机复位时,TCON和SCON各位清0,TCON和SCON中所有能产生中断的标志位均可由软件置1或清0。

31,21,IE各位定义如下:

单片机复位时,IE各位清0,禁止所有中断。

3.中断允许寄存器IE,09:

31,22,EA:

总中断允许控制位EA=0,CPU屏蔽所有的中断请求,称为CPU关中断;

EA=1,CPU开放所有中断,称为CPU开中断。

在EA=1的条件下,由各个中断控制位确定相应中断的打开与关闭。

ES:

串行口中断允许位ES=0,禁止串行口中断;

ES=1,允许串行口中断。

31,23,ET1:

定时器/计数器T1的溢出中断允许位ET1=0,禁止T1溢出中断;

ET1=1,允许T1溢出中断。

EX1:

外部中断1的中断允许位EX1=0,禁止外部中断1中断;

EX1=1,允许外部中断1中断。

31,24,ET0:

定时器/计数器T0的溢出中断允许位ET0=0,禁止T0溢出中断;

ET0=1,禁止T0溢出中断;

EX0:

外部中断0的中断允许位EX00,禁止外部中断0中断;

EX01,允许外部中断0中断。

31,25,例6-1若允许外部中断0和外部中断1中断,禁止其它中断源的中断请求,请编写出设置IE的相应程序段。

解:

(1)用位操作指令来编写程序段如下:

ES=0;

禁止串口中断ET1=0;

禁止定时器/计数器T1中断EX1=1;

允许外部中断1中断ET0=0;

禁止定时器/计数器T1中断EX0=1;

允许外部中断1中断EA=1;

CPU开中断

(2)用字节操作语句编写为:

IE=0x85,09:

31,26,80C51单片机有两个中断优先级,即可实现两级中断嵌套,每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位来规定的。

IP各位定义如下:

4.中断优先级寄存器IP,09:

31,27,PS:

串行口中断优先级控制位PS=0,串行口中断定义为低优先级中断;

PS=1,串行口中断定义为高优先级中断。

PT1:

定时器/计数器T1中断优先级控制位PT1=0,T1定义为低优先级中断;

PT1=1,T1定义为高优先级中断。

31,28,PX1:

外部中断1中断优先级控制位PX1=0,外部中断1中断定义为低优先级中断;

PX1=1,外部中断1中断定义为高优先级中断。

PT0:

定时器/计数器T0中断优先级控制位PT0=0,T0定义为低优先级中断;

PT0=1,T0定义为高优先级中断。

PX0:

外部中断0中断优先级控制位PX00,外部中断0中断定义为低优先级中断;

PX01,外部中断0中断定义为高优先级中断。

31,29,80C51单片机的中断系统有两个不可寻址的优先级激活触发器,其中一个指示某高优先级的中断正在执行,所有后来的中断均被阻止。

另一个触发器指示某低优先级的中断正在执行,所有同级的中断都被阻止,但不阻断高优先级的中断请求。

80C51单片机高优先级中断能够打断低优先级中断形成两级中断嵌套,同优先级中断之间,或低级对高级中断都不能形成中断嵌套,若几个同级中断同时向CPU申请中断,哪一个中断请求优先得到响应,按照单片机内部的查询顺序,这是由中断系统硬件确定的自然优先级。

31,30,各中断源的默认内部中断优先级、序号和中断服务程序入口地址如表6-1所示。

31,31,例6-2设置IP寄存器的初始值,使2个外部中断请求为低优先级,其它中断请求为高优先级。

(1)用位操作语句来编写程序段PX0=0;

2个外中断为低优先级PX1=0PS=1;

串口为高优先级中断PT0=1;

2个定时器/计数器为高优先级中断PT1=1

(2)用字节操作语句编写为:

IP=0x1a,09:

31,32,假设IP按照例6-2进行设定。

如果CPU正在处理

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1