0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

h1654155282.3538 来源:网络整理 2018-05-18 15:28 次阅读

51单片机的中断系统十分重要,分为外部中断和定时器中断。本文主要详解51单片机的中断体系结构以及中断的响应过程,具体的跟随小编一起来了解一下。

51单片机的中断体系结构详解

80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。MCS-51系列单片机中断系统的机构如下:

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

与中断系统相关的特殊寄存器

1)中断允许控制寄存器(IE)------ 控制各中断的开放和屏蔽

2)中断优先级控制寄存器(IP)------设置各中断的优先级

3)定时器/计数器控制寄存器(TCON)----定时器和外部中断的控制

4)串行口控制寄存器(SCON)------串行中断的控制

中断类型分为三类:

1)T0、T1是2个定时器/计数器中断,由片内定时器提供;

2)INT0、INT1是2个外部中断,由引脚P3.2和P3.2提供;

3)RX、TX为串行口中断所用,由片内串口提供。

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

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、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。

1)定时器中断的使用(以定时器0为例)

……

TMOD |= 0x01 | 0x04; //使用模式1,16位计数器,使用“|”符号可以在使用多个定时器时不受影响

TH0=0xFF; //给定初值

TL0=245; //从245计数到255

EA=1; //总中断打开

ET0=1; //定时器中断打开

TR0=1; //定时器开关打开

void Timer0_isr(void) interrupt 1 using 1 //中断服务程序

{

TH0=0xFF; //重新给定初值

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个机器周期。中断得到响应后,自动清除中断请求标志(对串行I/O端口的中断标志,要用软件清除),将断点即程序计数器之值(PC)压入堆栈(以备恢复用);然后把相应的中断入口地址装入PC,使程序转入到相应的中断服务程序中去执行。

各个中断源在程序存储器中的中断入口地址如下:

中断源 入口地址

INT0(外部中断0) 0003H

TF0(TO中断) 000BH

INT1(外部中断1) 0013H

TFl(T1中断) 001BH

RI/TI(串行口中断) 0023H

由于各个中断入口地址相隔甚近,不便于存放各个较长的中断服务程序,故通常在中断入口地址开始的二三个单元中,安排一条转移类指令,以转入到安排在那儿的中断服务程序。以T1中断为例,其过程下如图四所示。

由于5个中断源各有其中断请求标志0,TF0,IEl,TFl以及RI/TI,在中断源满足中断请求的条件下,各标志自动置1,以向CPU请求中断。如果某一中断源提出中断请求后,CPU不能立即响应,只要该中断请求标志不被软件人为清除,中断请求的状态就将一直保持,直到CPU响应了中断为止,对串行口中断而言,这一过程与其它4个中断的不同之处在于;即使CPU响应了中断,其中断标志RI/TI也不会自动清零,必须在中断服务程序中设置清除RI/TI的指令后,才会再一次地提出中断请求。

CPU的现场保护和恢复必须由被响应的相应中断服务程序去完成,当执行RETI中断返回指令后,断点值自动从栈顶2字节弹出,并装入PC寄存器,使CPU继续执行被打断了的程序。

下面给出一个应用定时器中断的实例。

现要求编制一段程序,使P1.0端口线上输出周期为2ms的方波脉冲。设单片机晶振频率

Fosc=6MHZ.

1、方法:利用定时器T0作1ms定时,达到定时值后引起中断,在中断服务程序中,使P1.0的状态取一次反,并再次定时1ms。

2、定时初值:机器周期MC=12/fosc=2us。所以定时lms所需的机器周期个数为500D,亦即0lF4H。设T0为工作方式1(16位方式),则定时初值是(01F4H)求补=FEOCH

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

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

串行端口的控制寄存器:

串行端口共有2个控制寄存器SCON和PCON,用以设置串行端口的工作方式、接收/发送的运行状态、接收/发送数据的特征、波特率的大小,以及作为运行的中断标志等。

①串行口控制寄存器SCON

SCON的字节地址是98H,位地址(由低位到高位)分别是98H一9FH。SCON的格式如图五所示。

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

SMo,SMl:

串行口工作方式控制位。

00--方式0;01--方式1;

10--方式2;11--方式3。

SM2:

仅用于方式2和方式3的多机通讯控制位

发送机SM2=1(要求程控设置)。

当为方式2或方式3时:

接收机 SM2=1时,若RB8=1,可引起串行接收中断;若RB8=0,不

引起串行接收中断。SM2=0时,若RB8=1,可引起串行接收中断;若

RB8=0,亦可引起串行接收中断。

REN:

串行接收允许位。

0--禁止接收;1--允许接收。

TB8:

在方式2,3中,TB8是发送机要发送的第9位数据。

RB8:

在方式2,3中,RB8是接收机接收到的第9位数据,该数据正好来自发

送机的TB8。

TI:

发送中断标志位。发送前必须用软件清零,发送过程中TI保持零电平,

发送完一帧数据后,由硬件自动置1。如要再发送,必须用软件再清零。

RI:

接收中断标志位。接收前,必须用软件清零,接收过程中RI保持零电平,接收完一帧数据后,由片内硬件自动置1。如要再接收,必须用软件再清零。

电源控制寄存器PCON

PCON的字节地址为87H,无位地址,PCON的格式如图六所示。需指出的是,对80C31单片机而言,PCON还有几位有效控制位。

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

SMOD:波特率加倍位。在计算串行方式1,2,3的波特率时;0---不加倍;1---加倍。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632689
  • 51单片机
    +关注

    关注

    273

    文章

    5697

    浏览量

    123125
收藏 人收藏

    评论

    相关推荐

    51单片机体系结构是如何构成的

    51单片机体系结构内部结构中央处理器(CPU)数据存储器(RAM)片内程序存储器(ROM)特殊功能寄存器(SFR)并行输入/输出口(P0,P1,P2,P3)(32个I/O口)可编程串行口(通信
    发表于 11-18 08:15

    单片机中断系统介绍_51单片机中断系统结构

    单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那个按键(
    发表于 01-10 17:29 1.2w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统介绍_<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统<b class='flag-5'>结构</b>

    浅谈51单片机中断控制

    51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构
    发表于 05-29 14:07 3936次阅读
    浅谈<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>控制

    51单片机教程之51单片机中断系统的详细资料概述

    本文档的主要内容详细介绍的是51单片机教程之51单片机中断系统的详细资料概述主要内容介绍的是中断
    发表于 11-19 09:56 17次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>教程之<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统的详细资料概述

    51单片机中断系统详细资料总结

    本文档的详细介绍的是51单片机中断系统详细资料总结。主要内容包括了:1 中断的概念,2 中断系统结构
    发表于 03-07 16:37 3次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>系统详细资料总结

    51单片机有几个中断单片机中断号对应的中断类型说明

    51单片机通常有5个中断,当中断发生时,程序会跳到相应的中断服务程序去执行。为了区别不同的中断
    发表于 08-06 17:34 5次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>有几个<b class='flag-5'>中断</b>?<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>号对应的<b class='flag-5'>中断</b>类型说明

    51单片机中断系统的原理和结构详细说明

    本文档的主要内容详细介绍的是51单片机中断系统的原理和结构详细说明。
    发表于 11-19 08:00 2次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统的原理和<b class='flag-5'>结构</b>详细说明

    51单片机中断

    51单片机中断51单片机中断原理中断的概念:
    发表于 11-11 14:36 52次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>中断</b>篇

    51单片机体系结构

    51单片机体系结构内部结构中央处理器(CPU)数据存储器(RAM)片内程序存储器(ROM)特殊功能寄存器(SFR)并行输入/输出口(P0,P1,P2,P3)(32个I/O口)可编程串行口(通信
    发表于 11-11 17:21 9次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机体系结构</b>

    C51单片机学习笔记(四)——单片机中断系统及应用

    C51单片机学习笔记(四)——单片机中断系统及应用文章目录C51单片机学习笔记(四)——
    发表于 11-14 10:21 17次下载
    C<b class='flag-5'>51</b><b class='flag-5'>单片机</b>学习笔记(四)——<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>系统及应用

    51单片机中断

    51单片机中断(interrupt)
    发表于 11-20 16:51 13次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>之<b class='flag-5'>中断</b>

    51单片机中断系统

    文章目录1 51单片机中断系统1.1 中断的固有优先级和抢占优先级1 51单片机
    发表于 11-22 13:36 8次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>系统

    51单片机中断系统

    文章目录1 51单片机中断系统1.1 中断的固有优先级和抢占优先级1 51单片机
    发表于 11-23 16:51 14次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>系统

    51单片机中断程序示例

    51单片机中断程序示例
    发表于 05-17 18:03 0次下载

    51单片机中断系统介绍

    51单片机中断系统介绍与运用外部中断系统触发数码管显示数字的代码实验
    发表于 12-05 09:10 2次下载