[信息与通信]第七章 AT89S52单片机中断系统.ppt
《[信息与通信]第七章 AT89S52单片机中断系统.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第七章 AT89S52单片机中断系统.ppt(67页珍藏版)》请在三一文库上搜索。
1、第八章 AT89S52单片机中断系统,学习目标: 了解中断的基本概念、中断的作用及中断请求方式 掌握AT89S52单片机中断结构,6个中断源的中断请求、中断屏蔽、优先级设置等初始化编程方法 掌握定时/计数器4种工作方式的初始化编程方法 学会使用定时器/计数器编写计数、定时应用程序的方法,技能目标: 会编写中断和定时/计数器初始化程序 会计算定时/计数器初值 根据项目要求,能够灵活应用中断和定时/计数器的资源,项目一 中断控制的流水灯 第一部分 项目要求 采用中断方法控制灯的亮灭,由中断服务程序控制I/O口置高,置低,即可控制灯的全亮和全灭。 外部中断INT1接按键(KEY),作为中断申请信号,
2、开机后8个发光二极管从左到右流水,产生中断后,8个发光管全亮、全灭,延时一定时间后,再循环。,第二部分 相关知识 一、 中断概述,中断的定义: 当中央处理器CPU正在处理某事件时外界发生了更为紧急的请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完毕后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。,从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回三个要素。 中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。,二、AT89S52中断源与中断向量地址,中断源就是向CPU发出中断请求的来源。
3、AT89S52共有六个中断源:2个外部中断(INT0和INT1)、3个定时器中断(定时器0、1和2)和1个串行中断。如图所示。,(一) 外部中断 外部中断0 P3.2 外部中断1 P3.3 外部中断请求有两种信号方式:电平方式和脉冲方式。 电平方式的中断请求信号是低电平有效。 脉冲方式的中断请求信号则是脉冲的负跳变有效。,(二)内部定时和外部计数中断 定时:对内部振荡器输出的脉冲计数。计数脉冲的个数反映了时间的长短。 计数:对外部脉冲计数。计数脉冲的个数仅仅反映外部脉冲输入的多少。 外部脉冲由T0引入 P3.4 外部脉冲由T1引入 P3.5 外部脉冲由T2引入 P1.0 当定时器/计数器发生溢
4、出,便激活中断。 外部计数中断请求信号是脉冲的负跳变引起。,(三)串行中断 串行中断是为串行通信的而需要设置的。当串行口发送完或接收完一帧信息时,单片机内部硬件便自动串行发送或接收中断标志位置1。当CPU查询到这些标志位为1时,便激活串行中断。串行中断是由单片机内部自动发生的,不需要在芯片外设置引入脚。,(四)中断矢量地址,三、中断标志与控制,要实现中断,首先中断源要提出中断申请,而中断请求的过程是单片机内部特殊功能寄存器TCON和SCON相关状态位中断请求标志位置1的过程,当CPU响应中断时,中断请求标志位才由硬件或软件清0。,(一)定时器计数器控制寄存器TCON TCON为定时器/计数器的
5、控制器,它也锁存外部中断请求标志,其格式如下:,与中断有关的控制位共6位,IE0和IE1:外部中断请求标志。 当CPU采样到 (或 )端出现有效中断请求(低电平或脉冲下降沿)时,IE0(或IE1)位由片内硬件自动置1;当中断响应完成转向中断服务程序时,由片内硬件自动清0。 IT0和ITl:外部中断请求信号触发方式控制标志。 IT0(或IT1)=1, (或 )信号为脉冲触发方式,脉冲负跳沿有效; IT0(或IT1)=0, (或 )信号电平触发方式,低电平有效。 IT0(或IT1)位可由用户软件置1或清0 TF0和TFl:定时器/计数器溢出中断请求标志。当定时器0(或定时器1)产生计数溢出时,TF
6、0(或TF1)由片内硬件自动置1;当中断响应完成转向中断服务程序时,由片内硬件自动清0。 计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。,(二)串行口控制寄存器SCON,与中断有关的控制位共2位 TI:串行口发送中断请求标志。 当串行口发送完一帧信号后,由片内硬件自动置1。但CPU响应中断时,并不清除TI,必须在中断服务程序中由软件对TI清0。,RI:串行口接收中断请求标志。当串行口接收完一帧信号后,由片内硬件自动置1。但CPU响应中断时,并不清除RI,必须在中断服务程序中由软件对其清0。 应当指出,AT89S52系统复位后,TCO
7、N和SCON中各位被复位成“0”状态,应用时要注意各位的初始状态。,(三)中断允许控制寄存器IE,与中断有关的控制位共7位 EA: 中断允许总控制位。 EA=0时,中断总禁止,禁止一切中断; EA=1时,中断总允许,而每个中断源允许与禁止,分别由各自的允许位确定。,EX0和EX1:外部中断允许控制位。 EX0(或EX1)=0,禁止外部中断; EX0(或EX1)=1,允许外部中断。 ET0和ET1:定时器中断允许控制位。 ET0(ET1)=0,禁止定时器0(或定时器1)中断; ET0(ET1)=1,允许定时器0(或定时器1)中断。,ES: 串行中断允许控制位。 ES=0,禁止串行(TI或RI)中
8、断; ES=1,允许串行(TI或RI)中断。 ET2: 定时器2中断允许控制位。 ET2=0,禁止定时器2(TF2或EXF2)中断; ET2=1,允许定时器2(TF2或EXF2)中断; 在单片机复位后,IE各位被复位成“0”状态,CPU处于关闭所有中断的状态。,例如:可以采用如下字节传送指令来开放定时器T0的溢出中断: MOV IE,#82H 也可以用位寻址指令,则需采用如下两条指令实现同样功能: SETB EA SETB ET0 在89S52复位后,IE各位被复位成“0”状态,CPU处于关闭所有中断的状态。所以,在89S52复位以后,用户必须通过程序中的指令来开放所需中断。,(四)中断优先级
9、控制寄存器IP 89S52单片机具有高、低2个中断优先级。高优先级用“1”表示,低优先级用“0”表示。对于所有的中断源,均可由软件设置为高优先级中断或低优先级中断,并可实现两级中断嵌套。IP寄存器可以位寻址。,与中断有关的控制位共6位 PX0:外部中断0优先级设定位。 PT0:定时器0(T0)优先级设定位。 PXl:外部中断1优先级设定位。 PTl:定时器1(T1)优先级设定位。 PS:为串行口优先级设定位。 PT2:为定时器2优先级设定位。 可用软件对IP的各位置1或清0,例如CPU开中断可由以下两条指令来实现: SETB 0AFH ;EA置1 或 0RL IE,#80H ;按位“或”,EA
10、置1 CPU关中断可由以下两条指令来实现: CLR 0AFH ;EA清0 或 ANL IE,#7FH ;按位“与”,EA清0 又如设置外部中断源 为高优先级,外部中断源 为低优先级,可由下面指令来实现: SETB 0B8H ;PX0置1 CLR 0BAH ;PXl清0 或 MOV IP,#00001B;PX0置1,PXl清0,四、优先级结构 中断优先级只有高低两级。所以在工作过程中必然会有两个或两个以上中断源处于同一中断优先级。若出现这种情况,内部中断系统对各中断源的处理遵循以下两条基本原则: 低优先级中断可以被高优先级中断所中断,反之不能。 一种中断(不管是什么优先级)一旦得到响应,与它同级
11、的中断不能再中断它。 中断源 同级自然优先级 外部中断0 最高级 定时器0中断 外部中断1 定时器1中断 串行口中断 最低级 定时器2中断 最低级,例:设89S52的片外中断为高优先级,片内中断为低优先级。试设置IP相应值。 解:(a)用字节操作指令 MOV IP, #05H 或 MOV 0B8H,#05H (b)用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1,五、中断系统的初始化及应用 (一)中断系统的初始化 (1) CPU开中断或关中断; (2) 某中断源中断请求的允许或禁止(屏蔽); (3) 设定所用中断的中断优先级; (4) 若为外部中断
12、,则应规定低电平还是负边沿的中断触发方式。 例 请写出 为低电平触发的中断系统初始化程序。 解:(1)采用位操作指令 SETB EA ;CPU开中断 SETB EXl ;开 中断 SETB PXl ;令 为高优先级 CLR ITl ;令 为电平触发 (2)采用字节型指令 MOV IE,#84H ;开 中断 ORL IP,#04H ;令 为高优先级 ANL TCON,#0FBH ;令 为电平触发,(二)中断系统的应用 中断管理与控制程序一般包含在主程序中,根据需要通过几条指令来实现,例如CPU开中断,可用指令“SETB EA”或“ORL IE,#80H”来实现,关中断可用指令“CLR EA”,或
13、“ANL IE,#7FH”来实现。,中断服务程序的一般格式: ORG ADDRESS AJMP INTVS INTVS : CLR EA ;关中断 PUSH PSW ;保护现场 PUSH A SETB EA ;开中断,允许CPU响应高级中断 中断服务 CLR EA ;关中断 POP A ;恢复现场 POP PSW SETB EA ;开中断 RETI ;中断返回,编写此程序应注意以下几点: (1) 为了要跳到用户设计的中断服务程序,在相应入口地址安排一条跳转指令; (2) 在中断服务程序的末尾,安排一条返回指令RETI; (3) 由于在响应中断时,CPU只自动保护断点,所以CPU的其他现场(如寄
14、存器A、B状态,状态字PSW,通用寄存器R0、R1等)的保护和恢复也必须由用户在中断服务程序中安排; (4) 在此多级中断的中断服务程序中,保护现场之后的开中断(SETB EA)是为了允许有更高级中断打断此中断服务程序,恢复现场和保护现场之前的关中断(CLR EA)是为了保证在恢复和保护现场时,CPU不响应新的中断请求,从而使现场数据不受到破坏或者造成混乱; (5) 当把程序中保护现场之后的“SETB EA“和恢复现场之前的“CLR EA“删除,就是一个单级中断服务程序。,(三)中断程序举例 【例7.3】使用一个按键控制图3.4所示的流水灯,每按一次按键流水灯的流动方向改变一次,要求使用中断技
15、术处理按键。 解:如图7.4所示,按键接在P3.3,因此采用外部中断1,中断申请从 输入。每按一次按键,产生一次中断,流水灯流动方向便改变一次。当开关SA17闭合时,发出中断请求。中断服务程序的矢量地址为0013H。,图7.4 方向可控流水灯,ORG 0000H ;定义下一条指令的地址 SJMP START ;转向主程序 ORG 0013H ;安排外部中断1处理程序的第一条指令 SJMP: KEYS ;直接转移到中断处理程序 START: ;主程序起点 MOV SP, #40H ;设置堆栈栈底指针 SETB IT1 ;设置外部中断1的中断方式为下降沿中断 SETB EX1 ;开放外部中断1 S
16、ETB EA ;开放总中断 MOV A, #01H ;#01H送累加器A L1: MOV P2, A ;累加器A中内容送P2口 MOV R7, #0FFH ;延时 L3: MOV R6, #0FFH L2: DJNZ R6, L2 DJNZ R7, L3 JNB FX, L4 ;FX=0时转移到L4(FX是流水灯流动方向标志) RL A ;累加器A中内容左移一位 SJMP L5 ;转移至L5 L4: RR A ;累加器A中内容右移一位 L5: SJMP L1 ;转移至L1,;按键中断程序 ;入口:外部中断1 ;功能:确认按键后改变方向标志FX的状态 KEYS: ;中断处理程序入口 MOV R7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息与通信 信息与通信第七章 AT89S52单片机中断系统 信息 通信 第七 AT89S52 单片机 中断 系统
链接地址:https://www.31doc.com/p-2001140.html