单片机原理与应用-基于汇编、c51及混合编程第7章中断控

上传人:xzh****18 文档编号:53694121 上传时间:2018-09-04 格式:PPT 页数:100 大小:2.86MB
返回 下载 相关 举报
单片机原理与应用-基于汇编、c51及混合编程第7章中断控_第1页
第1页 / 共100页
单片机原理与应用-基于汇编、c51及混合编程第7章中断控_第2页
第2页 / 共100页
单片机原理与应用-基于汇编、c51及混合编程第7章中断控_第3页
第3页 / 共100页
单片机原理与应用-基于汇编、c51及混合编程第7章中断控_第4页
第4页 / 共100页
单片机原理与应用-基于汇编、c51及混合编程第7章中断控_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《单片机原理与应用-基于汇编、c51及混合编程第7章中断控》由会员分享,可在线阅读,更多相关《单片机原理与应用-基于汇编、c51及混合编程第7章中断控(100页珍藏版)》请在金锄头文库上搜索。

1、1,第7章 中断控制、定时/计数器及PCA/PWM的应用,2,主要内容,7.1 中断的概念 7.2中断系统的结构 7.3中断寄存器 7.4低压检测中断 7.5外部中断 7.6定时/计数器T0、T1的工作方式 7.7定时/计数器T0、T1的应用举例 7.8定时/计数器T2的工作方式及应用 7.9 PCA/PWM模块的结构及应用,3,7.1 中断的概念,1.中断源及中断请求,中断请求,RETI,主程序,响应中断,中断服务子程序,返主程序,继续执行主程序,中断请求,PC断点,PC断点,对于一个中断源,中断请求信号产生一次,CPU中断一次,而不能出现中断请求一次,CPU响应多次的情况,所以要求中断信号

2、及时撤除。,产生中断请求的事件,称为中断源。 STC12C5A60S2单片机有10个中断源:外部中断0、定时/计数器T0、外部中断1、定时/计数器T1、串行口1(UART1)、A/D转换、串行口2(UART2)、低压检测(LVD)中断、PCA中断和SPI中断。,4,对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。CPU与外部设备并行工作,以中断方式相联系,提高工作效率。解决快速CPU与慢速外设之间的矛盾。在多项外部设备同时提出中断请求情况下,CPU能根据轻重缓急响应外设的中断请求。,中断的作用:,5,7.1 中断的概念,2.中断优先权控制,3.中断允许与中断屏蔽,4.

3、中断响应与中断返回,当有中断请求时,如果CPU正在执行某一条指令,需要执行完当前指令后再响应中断,如果正在执行RETI,或者是访问IE、IP寄存器指令时,需要执行完当前指令后,再执行一条指令才响应中断。,CPU同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后。 !,在中断系统中,有一个总中断使能位控制所有中断是否允许,另外每个中断源还有各自的中断使能位控制该中断是否允许,只有在总的中断允许及相应中断也允许时, CPU才能响应中断。另外,当有高优先级中断正在响应时,也会屏蔽同级中断和低优先级中断。,6,7.2中断系统的结构,中断源、中断请求,中断允许寄存器IE和IE

4、2,7,7.3中断寄存器,1.中断允许寄存器IE,IE寄存器的地址为A8H,可进行位寻址,CPU的中断允许控制位,当EA=0时,所有的中断源请求均被屏蔽;当EA=1时,允许CPU检测中断源的标志位。EA的作用使中断允许形成两级控制,即各中断源首先受EA控制,其次还受各中断源自己的中断允许控制位控制。,低压检测中断允许位。当ELVD0时,禁止低压检测中断;当ELVD1,允许低压检测中断。,A/D转换中断允许位。当EADC0时,禁止A/D转换中断;当EADC1时,允许A/D转换结束时中断。,串行口1中断允许控制位。当ES0时,禁止串行口1中断;当ES1时,允许串行口1中断。,定时/计数器T1溢出中

5、断允许控制位。当ET10时,禁止T1中断;当ET11时,允许T1中断,外部中断1中断允许控制位。当EX10时,禁止外部中断1中断;当EX11时,允许外部中断1中断,定时/计数器T0溢出中断允许控制位。当ET00时,禁止T0中断;当ET01时,允许T0中断,外部中断0中断允许控制位。当EX00时,禁止外部中断0中断;当EX01时,允许外部中断0中断,8,7.3中断寄存器,1.中断允许寄存器IE2,IE2的地址为AFH,不能进行位寻址,SPI串行通信中断允许位。ESPI=0时,禁止SPI中断;当ESPI=1,允许SPI中断,串行口2中断允许控制位。当ES20时,禁止串行口2中断;当ES21时,允许

6、串行口2中断,9,7.2中断系统的结构,STC系列单片机复位后,IE和IE2寄存器的各位均被清0,即所有中断源均处于禁止状态,由用户程序对寄存器IE和IE2相应的位置1或清0,实现允许或禁止各中断源的中断请求。 要改变IE寄存器各控制位的状态既可以用字节操作指令MOV IE,#DATA来实现,也可用位操作指令SETB或CLR实现。 改变IE2寄存器的各控制位,只能用字节操作指令来实现,如:MOV IE2,#DATA。,10,7.2中断系统的结构,11,7.2中断系统的结构,中断优先级控制寄存器IP、IP2和IPH、IP2H,12,7.3中断寄存器,2.中断优先级控制寄存器IP、IP2和IPH、

7、IP2H,IP寄存器的地址为B8H,可进行位寻址,IPH寄存器的地址为B7H,不能进行位寻址,PPCAH、PPCA为PCA中断优先级的高、低位,PLVDH 、PLVD为低压检测中断优先级的高、低位,PADCH 、PADC为A/D转换中断优先级的高、低位,PSH 、PS为串行口1中断优先级的高、低位,PT1H、PT1为定时/计数器1中断优先级的高、低位,PX1H、PX1为外部中断1中断优先级的高、低位,PT0H、PT0为定时/计数器T0中断优先级的高、低位,PX0H、PX0为外部中断0中断优先级高、低位,13,7.3中断寄存器,2.中断优先级控制寄存器IP、IP2和IPH、IP2H,IP2寄存器

8、的地址为B5H,不能进行位寻址,IP2H寄存器的地址为B6H,不能进行位寻址,PSPIH,PSPI为SPI串行口中断优先级的高、低位,PS2H、PS2为串行口2中断优先级的高、低位,14,7.2中断系统的结构,IPH.X、 IP.X或IP2H.X、IP2.X为11时为最高优先级中断,IPH.X、 IP.X或IP2H.X、IP2.X为10时为2级中断,IPH.X、 IP.X或IP2H.X、IP2.X为01时为1级中断,IPH.X、 IP.X或IP2H.X、IP2.X为00时为最低优先级中断,15,7.3中断寄存器,2.中断优先级控制寄存器IP、IP2和IPH、IP2H,上电复位后,中断优先级控制

9、寄存器IP、IP2、IPH和IP2H中的各位均为0,IP寄存器的内容可通过位操作指令或字节操作指令来改变,而IP2、IPH和IP2H寄存器的内容只能通过字节操作指令来改变。,16,7.3中断寄存器,各中断源中断优先查询次序,1 T0 000BH,3 T1 001BH,4 URAT1 0023H,5 ADC 002BH,6 LVD 0033H,7 PCA 003BH,8 UART2 0043H,9 SPI 004BH,使用C语言编程,中断查询次序号就是中断号,当几个中断源都在同一个优先级,其中的几个中断源同时产生中断请求,响应中断的次序取决于内部的查询次序。,17,中断处理的流程图,18,中断服

10、务程序的流程图,19,以外部中断1为例,其中断服务处理程序,ORG 0013H ;外部中断1的入口地址LJMP INT1 ;在中断入口处放一条长转移指令 INT1: CLR EA,PUSH PSW PUSH ACC PUSH DPH PUSH DPL ,SETB EA ;执行中断任务 CLR EA, POP DPL POP DPH POP ACC POP PSW,SETB EA RETI,20,7.4低压检测中断,烧写程序时可以将P4.6引脚设置为第二复位引脚RST2,,若烧写程序时没有将P4.6引脚设置为第二复位引脚RST2,P4.6为低压检测中断引脚EX_LVD,电源控制寄存器PCON,E

11、X_LVD引脚输入的电压低于低压检测电压门槛值1.33V时,LVDF位自动置1请求中断,,注意:上电复位后,电源控制寄存器PCON中的外部低压检测标志位LVDF为1,要由软件清零(注意该位不可位寻址),建议清零后,再读一次该位,若仍然为1,说明电源还未达到正常值,应再次将该位清零,直至检测到该位为0时再转入正常运行,当外部供电电压产生波动时,无法保证单片机正常工作,可以在单片机的外部低压检测中断服务程序中保存相关数据,避免掉电后数据丢失。,21,7.5外部中断,外部中断0输入引脚,外部中断1输入引脚,22,7.5外部中断,TCON寄存器的地址为88H,可进行位寻址,IT1:外部中断1触发方式选

12、择位。若IT1=0, 引脚输入低电平信号触发中断;若IT1=1, 引脚为下降沿触发方式,外部中断1请求中断标志。若外部中断1输入引脚产生外部触发信号时,硬件将IE1位置1,外部中断1设置为下降沿触发方式时,CPU响应该中断时由硬件自动将IE1位清0,如果设置为低电平触发方式,必须在程序中通过指令清0,外部中断0触发方式选择位。若IT0=0, 引脚输入低电平信号触发外部中断;若IT0=1, 引脚为下降沿触发方式,外部中断0请求中断标志。若外部中断0输入引脚产生外部触发信号时,硬件将IE0位置1,外部中断0设置为下降沿触发方式时,当CPU响应该中断时由硬件自动将IE0清0 ,如果设置为低电平触发方

13、式,必须在程序中通过指令清0,23,7.5外部中断,IT0,IE0,注意:如果外部中断设置为下降沿触发方式时,必须在该外部中断输入引脚至少保持1个系统时钟周期的高电平及1个时钟周期的低电平,才能保证CPU检测到该下降沿。同样,如果外部中断为低电平触发,则须在该引脚至少保持2个系统时钟周期的低电平,这样才能保证CPU能够检测到该低电平信号。,24,7.6定时/计数器T0、T1的工作方式,定时/计数器T0和T1工作方式寄存器TMOD的地址为89H,T1工作方式控制,T0工作方式控制,计数、定时方式的选择位。为0时,定时/计数器工作在定时方式;为1时,定时/计数器工作在计数方式,对外部T0、T1引脚

14、输入的脉冲计数,定时/计数器门控方式选择位,M1、M0:定时/计数器工作方式的选择位,25,TCON寄存器的地址为88H,可进行位寻址,定时/计数器T1的溢出中断标志。当T1从初值开始加1计数计满产生溢出时,由硬件使该位置1。中断响应后由内部硬件电路自动清0。,定时/计数器T1的运行控制位。由软件置位或清0,置位时,定时/计数器T1开始工作;清0时,T1停止工作。,定时/计数器T0的运行控制位。由软件置位或清0,置位时,定时/计数器T0开始工作;清0时,T0停止工作。,定时/计数器T0的溢出中断标志。当T0从初值开始加1计数计满产生溢出时,由硬件使该位置1,中断响应后由内部硬件电路自动清0。,

15、7.6定时/计数器T0、T1的工作方式,26,7.6定时/计数器T0、T1的工作方式,7.6.1 方式0,13位的定时/计数器的低5位,13位的定时/计数器的高8位,辅助寄存器AUXR的T0x12位,T0x12,T0和T1工作方式寄存器TMOD,T0和T1控制寄存器TCON,27,7.6定时/计数器T0、T1的工作方式,7.6.2 方式1,16位的定时/计数器的低8位,16位的定时/计数器的高8位,28,7.6定时/计数器T0、T1的工作方式,7.6.3方式2,辅助寄存器AUXR的T1x12位,T1x12,唤醒控制寄存器WAKE_CLKO,T0、T1工作在方式2时均有可编程时钟输出功能,在该模式 P3.4 、P3.5作为时钟输出引脚CLKOUT0、CLKOUT1。当T0CLKO或T1CLKO位置1后,工作在方式2的T0或T1的溢出 将对CLKOUT0或CLKOUT1引脚取反, 即输出的时钟频率=T0(或T1)溢出率/2。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号