51单片机的中断体系结构_中断的响应过程.doc

上传人:白大夫 文档编号:3244869 上传时间:2019-08-05 格式:DOC 页数:5 大小:23.50KB
返回 下载 相关 举报
51单片机的中断体系结构_中断的响应过程.doc_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《51单片机的中断体系结构_中断的响应过程.doc》由会员分享,可在线阅读,更多相关《51单片机的中断体系结构_中断的响应过程.doc(5页珍藏版)》请在三一文库上搜索。

1、51单片机的中断体系结构_中断的响应过程51单片机的中断系统十分重要,分为外部中断和定时器中断。本文主要详解51单片机的中断体系结构以及中断的响应过程,具体的跟随小编一起来了解一下。51单片机的中断体系结构详解80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。MCS-51系列单片机中断系统的机构如下:与中断系统相关的特殊寄存器:1)中断允许控制寄存器(IE)- 控制各中断的开放和屏蔽2)中断优先级控制寄存器(IP)-设置各中断的优先级3)定时器/计数器控制寄存器(TCON)-定时器和外部中断的控制4)串行口控制寄存器(SCON)-串行中断的控制中断类型分

2、为三类:1)T0、T1是2个定时器/计数器中断,由片内定时器提供;2)INT0、INT1是2个外部中断,由引脚P3.2和P3.2提供;3)RX、TX为串行口中断所用,由片内串口提供。1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2/P3.3引脚上出现有效的中断信号时,中断标志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申请中断。2、TF0(TCON.5)/TF1(TCON.7),片内定时/计数器T0/T1溢出中断请求标志。当定时/计数器T0/T1发生溢出时,置位TF0/TF1,并向CPU申请

3、中断。3、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。1)定时器中断的使用(以定时器0为例)TMOD |= 0x01 | 0x04; /使用模式1,16位计数器,使用“|”符号可以在使用多个定时器时不受影响TH0=0xFF; /给定初值TL0=245; /从245计数到255EA=1; /总中断打开ET0=1; /定时器中断打开TR0=1; /定时器开关打开void Timer0_isr(void) interrupt 1 using 1 /中断服务程序TH0=0xFF; /重新给

4、定初值TL0=245;2)外部中断的使用(以外部中断0为例)EA=1; /全局中断开EX0=1; /外部中断0开IT0=0; /电平触发void ISR_Key(void) interrupt 0 using 1 /中断服务程序中断的响应过程若某个中断源通过编程设置,处于被打开的状态,并满足中断响应的条件,而且当前正在执行的那条指令已被执行完1、当前末响应同级或高级中断2、不是在操作IE,IP中断控制寄存器或执行REH指令则单片机响应此中断。在正常的情况下,从中断请求信号有效开始,到中断得到响应,通常需要3个机器周期到8个机器周期。中断得到响应后,自动清除中断请求标志(对串行IO端口的中断标志

5、,要用软件清除),将断点即程序计数器之值(PC)压入堆栈(以备恢复用);然后把相应的中断入口地址装入PC,使程序转入到相应的中断服务程序中去执行。各个中断源在程序存储器中的中断入口地址如下:中断源 入口地址INT0(外部中断0) 0003HTF0(TO中断) 000BHINT1(外部中断1) 0013HTFl(T1中断) 001BHRITI(串行口中断) 0023H由于各个中断入口地址相隔甚近,不便于存放各个较长的中断服务程序,故通常在中断入口地址开始的二三个单元中,安排一条转移类指令,以转入到安排在那儿的中断服务程序。以T1中断为例,其过程下如图四所示。由于5个中断源各有其中断请求标志0,T

6、F0,IEl,TFl以及RITI,在中断源满足中断请求的条件下,各标志自动置1,以向CPU请求中断。如果某一中断源提出中断请求后,CPU不能立即响应,只要该中断请求标志不被软件人为清除,中断请求的状态就将一直保持,直到CPU响应了中断为止,对串行口中断而言,这一过程与其它4个中断的不同之处在于;即使CPU响应了中断,其中断标志RITI也不会自动清零,必须在中断服务程序中设置清除RITI的指令后,才会再一次地提出中断请求。CPU的现场保护和恢复必须由被响应的相应中断服务程序去完成,当执行RETI中断返回指令后,断点值自动从栈顶2字节弹出,并装入PC寄存器,使CPU继续执行被打断了的程序。下面给出

7、一个应用定时器中断的实例。现要求编制一段程序,使P10端口线上输出周期为2ms的方波脉冲。设单片机晶振频率Fosc6MHZ1、方法:利用定时器T0作1ms定时,达到定时值后引起中断,在中断服务程序中,使P10的状态取一次反,并再次定时1ms。2、定时初值:机器周期MC12/fosc2us。所以定时lms所需的机器周期个数为500D,亦即0lF4H。设T0为工作方式1(16位方式),则定时初值是(01F4H)求补FEOCH串行端口的控制寄存器:串行端口共有2个控制寄存器SCON和PCON,用以设置串行端口的工作方式、接收发送的运行状态、接收发送数据的特征、波特率的大小,以及作为运行的中断标志等。

8、串行口控制寄存器SCONSCON的字节地址是98H,位地址(由低位到高位)分别是98H一9FH。SCON的格式如图五所示。SMo,SMl:串行口工作方式控制位。00-方式0;01-方式1;10-方式2;11-方式3。SM2:仅用于方式2和方式3的多机通讯控制位发送机SM21(要求程控设置)。当为方式2或方式3时:接收机 SM21时,若RB81,可引起串行接收中断;若RB80,不引起串行接收中断。SM20时,若RB81,可引起串行接收中断;若RB80,亦可引起串行接收中断。REN:串行接收允许位。0-禁止接收;1-允许接收。TB8:在方式2,3中,TB8是发送机要发送的第9位数据。RB8:在方式2,3中,RB8是接收机接收到的第9位数据,该数据正好来自发送机的TB8。TI:发送中断标志位。发送前必须用软件清零,发送过程中TI保持零电平,发送完一帧数据后,由硬件自动置1。如要再发送,必须用软件再清零。RI:接收中断标志位。接收前,必须用软件清零,接收过程中RI保持零电平,接收完一帧数据后,由片内硬件自动置1。如要再接收,必须用软件再清零。电源控制寄存器PCONPCON的字节地址为87H,无位地址,PCON的格式如图六所示。需指出的是,对80C31单片机而言,PCON还有几位有效控制位。SMOD:波特率加倍位。在计算串行方式1,2,3的波特率时;0-不加倍;1-加倍。

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1