51单片机的中断系统解析课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《51单片机的中断系统解析课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 中断 系统 解析 课件
- 资源描述:
-
1、 项目项目4 4 单片机的中断系统单片机的中断系统嵌入式单片机方向单片机C语言程序项目设计4.1 4.1 任务说明任务说明 本节为理论内容,重点掌握单片机的中断类型、控制方式以及应用,单片机共有5个中断源,两级优先级控制,在以后的项目实践中,我们要用到定时器中断、外部中断和串行中断。4.2 4.2 中断系统的结构中断系统的结构 51单片机中断系统的结构如图4-1所示,5个中断分别有5个中断源,并提供两个中断优先级控制,能够实现两级中断服务程序的嵌套。单片机的中断系统是通过4个相关的特殊功能寄存器TCON、SCON、IE和IP来进行管理的。因此用户可以用软件对每个中断的开和关以及优先级的控制。定
2、时器控制寄存器TCON用于设定外部中断的中断。 串口控制寄存器SCON用于保存串行口(SIO)的发送中断标志和接收中断标志。中断控制寄存器IE用于设定各个中断源的开放或关闭。各个中断源的优先级可以由中断优先级寄存器IP中的相应位来确定,同一优先级中的各中断源同时请求中断时,由中断系统的内部查询逻辑来确定响应的顺序。图图4-1 80514-1 8051单片机中断系统的结构单片机中断系统的结构一、中断源一、中断源 单片机5个中断源都有自己的标志位,包括外部中断(P3.1)引脚接受的外部中断请求;外部中断(P3.2)引脚接受的外部中断请求;定时器/计数器0(T0)溢出中断请求;定时器/计数器1(T0
3、)溢出中断请求;串行口完成一帧数据发送或接收中断请求源TI或RI。 其中INT0和INT1一般称为外部中断,T0、T1和串行口(SIO 的TI和RI)则称为内部中断。在有中断请求时,由相应的中断标志位。保存其中断请求信号,分别存放在特殊功能寄存器TCON和SCON中增强型的51单片机,则比51单片机多一个中断源T2。二、中断优先级二、中断优先级 51单片机的中断系统具有两级优先级控制,系统在处理时遵循下列基本原则: 1)低优先级的中断源可被高优先级的中断源中断,号的有效形式及保存定时/计数器T0和T1的中断请求标志位。而高优先级中断源不能被低级的中断源所中断; 2)一种中断源(无论是高优先级或
4、低优先级)一旦得到响应,就不会被同级的中断源所中断; 3)低优先级的中断源和高优先级的中断源同时产生中断请求时,系统先响应高优先级的中断请求,后响应低优先级的中断请求; 表表4-1 中断入口地址及优先级排列表中断入口地址及优先级排列表中断源入口地址 中断级别 外部中断0 0003H最高最低 T0溢出中断 000BH外部中断1 0013H T1溢出中断 001BH 串行口中断 0023H 4)多个同级的中断源同时产生中断请求时,系统按照默认的顺序先后予以响应,5个中断默认优先级见表4-1。三、中断系统使用的多功能寄存器三、中断系统使用的多功能寄存器 要使用8051单片机的中断功能,必须掌握4个相
5、关的特殊功能寄存器中特定位的意义及其使用方法。下面分别介绍4个特殊功能寄存器对中断的具体管理方法。(1)TCON 定时器控制寄存器TCON是定时器/计数器T0和T1的控制寄存器,也用来锁存T0和T1的溢出中断请求TCOND7D6D5D4D3D2D1D0位名称TF1TR1TF0TR0IE1IT1IE0IT0TF0、TF1标志及外部中断请求源标志IE0、IE1。TCON的字节地址88H,既支持字节操作,又支持位操作。位地址的范围是 IT0,外部中断0(INT0)触发方式控制位,用于设定INT0中断请求信号的有效方式。如果将IT0设定为1,则外部中断0为边沿(脉冲)触发方式,CPU在每个机器周期的S
6、5P2采样INT0的输入信号(即单片机的P3.2脚)。如果在一个机器周期中采样到高电平,在下一个机器周期中采样到低电平,则硬件自动将IE0置为“1”,向CPU请求中断;如果IT0为0,则外部中断0为电平触发方式。此时系统如果检测到INT0直至该中断信号被检测到。同时在中断返回前必须变为电平,否则会再次产生中断。概括地说,IT01时INT0的中断请求信号是脉冲后沿(负脉冲)有效,P3.2从1变为0时系统认为INT0有中断请求;IT00时,INT0的中断请求信号是低电平有效,即P3.2保持为0时系统认为INT0有中断请求。 IE0,外部中断0的中断请求标志位。如果IT0置1,则当P3.2上的电平由
7、1变为0时,由硬件置位IE0,向CPU申请中断。如果CPU响应该中断,在转向中断服务时,由硬件将IE0复位。可见,IT0用于设定INT0中断请求的信号形式。设定了IT0后,如果INT0产生了有效的中断请求信号(P3.2出现脉冲后沿或低电平),则由中断系统的硬件电路自动将IE0置位。单片机系统在工作过程的每一个机器周期的特定时刻(即S5P2),通过检测INT0的中断请求标志位IE0是1还是0来确定INT0是否有中断请求,而不是通过检测P3.2上的中断请求信号来确定INT0的中断请求。端输入低电平,则置位IE0。采用电平触发时,输入到INT0端的外部中断信号必须保持低电平, IT01时表示有中断请
8、求,IT00时则没有中断请求。下面INT1的情况类似,不再重复说明。 IT1 IT1,外部中断1(INT1)的触发方式控制位。其意义和IT0相同。 IE1IE1,外部中断1的中断请求标志位。其意义和IE0相同。 TF0TF0,定时器/计数器T0的溢出中断请求标志位。当T0开始计数后,从初值开始加1计数,在计满产生溢出时,由硬件使置位TF0,向CPU请求中断,CPU响应中断时,硬件自动将TF0清零。如果采用软件查询方式,则需要由软件将TF0清零。因此,系统是通过检查TF0的状态来确定T0是否有中断请求。TF01表示T0有中断请求,TF00时则没有。 TF1,定时器/计数器T1的溢出中断请求标志位
9、,其作用同TF0。 TR0和TR1分别是T0和T1的控制位,与中断无关。将在定时器/计数器应用内容中介绍。(2)SCON SCON为串行口控制寄存器,主要用于设置串行口的工作方式,同时也用于保存串行口的接收中断和发送中断标志。字节地址是98H,既支持字节操作,又支持位操作。位地址的范围是98H9FH。8位中只有最低的两位与中断有关,其格式如下:SCON D7D6D5 D4 D3 D2 D1 D0位地址 9FH9EH9DH9CH9BH9AH99H98H位名称 SM0SM1SM2RENTB8RB8TIRI RI,串行口的接收中断标志位。8051单片机的串行口共有4中工作方式。在串行口的方式0中,每
10、当接收到第8位数据时,由硬件置位RI;在其他工作方式中,若SM20,在接收到停止位的中间时置位RI;若SM21,仅当接收到的第9位数据RB8为1时,并且在接收到停止位的中间时置位RI,表示串行口已经完成一帧数据的接收,向CPU申请中断,准备接收下一帧数据。但当CPU转到串行口的中断服务程序时,不复位RI,必须由设计者在程序中用指令来清零RI。简单地说,串行口在接收完一帧数据时自动将RI置位,向CPU申请中断。 TI,串行口的发送中断标志位。在方式0中,每当发送完8位数据时由硬件置位。在其他方式中,在发送到停止位开始时置位TI,表示串行口已经完成一帧数据的发送,向CPU申请中断,准备发送下一帧数
11、据。要发送的数据一旦写入串行口的数据缓冲器SBUF,单片机的硬件电路就立即启动发送器进行发送。CPU响应中断时并不清零TI,同样要在程序中用指令来清零。(3)中断屏蔽寄存器IE 8051单片机的CPU对中断源的开放或屏蔽(即闭),是由片内的中断允许寄存器IE(也称为中断控制寄存器或中断屏蔽寄存器)控制的。IE的字节地址是A8H,既支持字节操作,又支持位操作。位地址的范围是A8HAFH。8位中有6位与中断有关,剩下的两位没有定义。其格式如下: IED7D6D5D4D3D2D1D0位地址AFHAEHADHACHABHAAHA9HA8H位名称EAESET1EX1ET9EX0 EA,CPU的中断开放标
12、志。EA0时,CPU屏蔽所有的中断请求,此时即使有中断请求,系统也不会去响应; EA 1时,CPU开放中断,但每个中断源的中断请求是允许还是被禁止,还需由各自的控制位确定。 ES,串行口的中断控制位。ES1,允许串行口中断;ES0,禁止串行口中断。 ET1:定时器/计数器1的溢出中断控制位。ET11,T1的中断开放,ET10,T1的中断被关闭。EX1,外部中断1的中断控制位。EX11,允许外部中断1中断;EX10,禁止外部中断1的中断。 ET0,定时器/计数器T0的溢出中断控制位。ET01时允许T0中断;ET00,禁止T0中断。 EX0,外部中断0的中断控制位。EX01,允许外部中断0的中断;
13、EX00,禁止外部0的中断。 可见,EA0时,所有的中断都被屏蔽,此时IE低5位的状态没有任何作用。EA1时,可以通过对IE设置来开放或关闭相应的中断,在图5-1中可以很直观地看出来。单片机复位后,IE寄存器被清零,所有的中断都被屏蔽。IE寄存器中各个位的状态支持位寻址,用户根据要求用指令SETB置位或CLR清零,而实现相应的中断源允许中断或禁止中断,当然也可以采用字节操作来实现。例如,若要求开放外部中断,关闭内部中断,则可以用两条置位指令将EA、EX0和EX1置位,ES、ET1和ET0保持为系统复位后的默认值0。如果使用字节操作方式,则一条MOV指令即能实现,即MOV IE,#1xx0010
展开阅读全文