《单片机汇编7.ppt》由会员分享,可在线阅读,更多相关《单片机汇编7.ppt(18页珍藏版)》请在优知文库上搜索。
1、8051 8051 单片机的中断系统单片机的中断系统 本节主要介绍8051单片机中断系统,将介绍以下具体内容: 中断源、中断方式 、中断控制寄存器、中断响应、中断请求的撤除。 在程序的执行过程中,由于某种外界的在程序的执行过程中,由于某种外界的原因,必须终止当前执行的程序,而去原因,必须终止当前执行的程序,而去执行相应的处理程序,待处理结束后,执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序。这个过再回来继续执行被终止的程序。这个过程叫中断。程叫中断。 一、中断的概念 执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回5 5个中断源,具有二个中断优先级,可实
2、现二级中个中断源,具有二个中断优先级,可实现二级中断服务程序的嵌套。每个中断源均可软件编程为高断服务程序的嵌套。每个中断源均可软件编程为高优先级或低优先级中断,允许或禁止向优先级或低优先级中断,允许或禁止向CPUCPU请求中请求中断。断。有关的特殊功能寄存器(有关的特殊功能寄存器(SFRSFR)有:)有:中断允许寄存器中断允许寄存器IEIE中断优先级控制寄存器中断优先级控制寄存器IPIP中断源寄存器(中断源寄存器(TCONTCON、SCONSCON中的有关位)中的有关位)注:均可位寻址。注:均可位寻址。二、二、80518051单片机的中断系统结构单片机的中断系统结构 IE0TF0IE1TF1T
3、IRI中断请求标志EX0ET0EX1ET1ES1PX0PT0PX1PT1PS高级低级内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断允许控制中断优先级EA中断源中断系统结构图80518051单片机共有单片机共有五五个中断源,分别是个中断源,分别是外部中断外部中断、定时定时中断中断和和串行中断。串行中断。2 2个外部中断是:个外部中断是:外部中断外部中断0-INT00-INT0,由,由P3.2P3.2提供,提供,外部中断外部中断1INT11INT1,由,由P3.3P3.3提供,提供,外部中断有两种触发方式,即低电平方式和负边沿外部中断有两种触发方式,即低电平方式和负边沿方式。
4、方式。定时器和串行口中断分别是:定时器和串行口中断分别是:T0T0溢出中断溢出中断; 由片内定时由片内定时/ /计数器计数器0 0提供提供T1T1溢出中断溢出中断; 由片内定时由片内定时/ /计数器计数器1 1提供提供串行口中断串行口中断RI/TIRI/TI; 由片内串行口提供由片内串行口提供 中断源中断源中断方式中断方式 单片机的中断为单片机的中断为向量中断向量中断,即一响应中断就转入,即一响应中断就转入固固定入口地址定入口地址执行中断服务程序。执行中断服务程序。具体如下:具体如下: 中断源中断源 入口地址入口地址 INT0INT0 0003 0003 T0T0 000BH 000BH IN
5、T1 INT1 0013H 0013H T1 T1 001BH 001BH RI/TI RI/TI 0023H 0023H在这些单元中往往放一条跳转指令,跳到真正的中在这些单元中往往放一条跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只断服务程序,这是因为给每个中断源安排的空间只有有8 8个单元。个单元。 三、与中断有关的特殊功能寄存器三、与中断有关的特殊功能寄存器 与中断有关的特殊功能寄存器有四个:与中断有关的特殊功能寄存器有四个:TCON-TCON-定时控制寄存器定时控制寄存器, IE-IE-中断允许控制寄存器中断允许控制寄存器,IP-IP-中断优先级控制寄存器,中断优先
6、级控制寄存器,SCON-SCON-及串行口控制寄存器。及串行口控制寄存器。1定时控制寄存器TCON D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0 低电平1 下降沿l注意:电平触发时,在中断返回前应撤除中断源。注意:电平触发时,在中断返回前应撤除中断源。2串行口控制寄存器SCON D7D6D5D4D3D2D1D0TIRI串行中断请求标志3中断允许控制寄存器IE D7D6D5D4D3D2D1D0EAESET1EX1ET0EX04中断优先级控制寄存器(IP) D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00 禁止1允许0 低级别1高级别
7、实现两级控制 注意:复位时,禁止所有中断每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高到低)注意:响应中断后,CPU并不清零中断标志位,必须软件清零。四、中断响应 响应条件-CPU要响应中断需满足下列条件: 无同级或高级中断正在服务; 当前指令周期结束,如果查询中断请求的机器 周期不是当前指令的最后一个周期,则不行; 若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。响应过程-单片机响应中断后,自动执行下列操作: 置位中断优先级有效触发器,即关闭同级和低级 中断:
8、 调用入口地址,断点入栈,相当于LCALL指令; 进入中断服务程序。 响应时间响应时间-从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。中断返回中断返回中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。
9、中断系统初始化开相应中断源的中断;(IE)设定中断优先级;(IP)若为外部中断,设定外部中断的触发方式。 中断应用举例中断应用举例外设每准备好一个数据后,发出选通信号,使D触发器输出1再经非门得0至INT0,向CPU发出中断请求,CPU 响应这个中断请求后,在中断处理程序中先撤除中断请求信号,(通过发P3.0=0,使INT0=1)再由P1口输入数据到单片机内部。P1口P3.0QDCLKCLR选通信号+5V1INT0数据8031程序清单:ORG 0000HSTART:LJMP MAIN ORG 0003H LJMP IINT0 ORG 0030H ;主程序MAIN: CLR IT0 ;低电平触发
10、 SETB EA ;开中断 SETB EX0 MOV DPTR,#1000H . ;其它处理 ORG 0100HIINT0:PUSH PSW ;中断服务程序 PUSH ACC CLR P3.0 MOV A,P1MOVX DPTR,APOP ACCRETI 单片机的节电工作方式单片机的节电工作方式 对于8051单片机来说,有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。PCON寄存器格式如下: 其中SMOD:波特率倍增位 GF0,GF1:通用标志位 PD:掉电方式位,PD1为掉电方式 IDL:待机方式位,IDL1为待机方式位序 B7 B6 B5B4B3B2B1B0位符号SMOD /GF1GF0PDIDL1. 待机方式 将PCON寄存器的IDL位置“1”,单片机则进入待机方式。通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断触发方式退出待机模式。2. 掉电保护方式 将PCON寄存器的PD位置“1”,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位被置“1”,使单片机进入掉电保护方式。