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

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

3天内不再提示

MCS-51单片机中断系统详解

CHANBAEK 来源:透析之眼 作者:AdamChen 2023-11-01 18:27 次阅读

中断可以用下面的例子理解

工程师A在自己的位置做着自己的工作(写代码),工程师B有个问题需要请教工程师A,于是工程师B就会跑过来跟工程A请教。这时工程师A的写代码的工作会被打断,开始回答工程B的问题,解答完问题后,工程师A又开始愉快的写代码。从工程师B打断工程师A,到工程师A继续写代码这者整个过程叫中断。

1)工程师B的问题,称为中断源

2)工程师A停止当前的工作,准备解答称为:中断响应;

3)工程师A解答问题的过程称为:中断服务程序;

4)工程师A解答完继续回到写代码的状态称为:中断返回。

中断系统

引起MCS-51中断的中断源有几种呢?从以下的中断系统中可以看到有5种中断请求源,它们分别是EX0、ET0、EX1、ET1、ES 对应着单片机的P3^0~P3^5引脚,相关的寄存器有中断允许寄存器IE、中断优先级控制寄存器IP、定时器/计数器控制寄存器TCON、串行口控制寄存器SCON 。

图片

IE寄存器:

寄存器地址为A8H,单片机复位后数值为00H;寄存器里面有8位,可以被位寻址

图片

当需要某中断源需要进入中断服务,需要开总中断将EA位置1,并且将对应的中断源置1(如果是串口需要将ES置1;如果是外部中断0需要EX0置1)

IP寄存器

寄存器地址为B8H,单片机复位后数值为00H;寄存器里面有8位,可以被位寻址

图片

IP寄存器将对应的中断源置1,则该中断源被设置为高优先级。

在中断系统中,不管高优先中断等级或者是低优先级中断等级,在它们里面都是按照一定的优先级进行排列的进行响应的。这种优先级称之为自然优先级。详细可以参考上面的中断系统图

自然优先级从高到低:外部中断0->定时器/计数器T0中断->外部中断1->定时器/计数器T1中断->串行中断。

TCON寄存器

寄存器地址为88H,单片机复位后数值为00H;寄存器里面有8位,可以被位寻址

图片

图片

外部中断可以设置两种中断方式(低电平或负跳变),当检测到有中断(低电平或负跳变),中断标志位被置1,从而判断中断优先级,进而中断服务处理。

定时器/计数器在设定计数值后,开机进行计数。当计数溢出时,会将TF0或者TF1置1。

除外部中断标志0外,其他的都会由硬件自动清零。

注:

TCON还有T0与TR1两位,这两位是控制定时器/计数器开始计数,在后面的定时器中会详细说明。

TR1:为1是定时器T1开始计数;0时不计数。

TR0:为1是定时器T0开始计数;0时不计数。

SCON寄存器

寄存器地址为98H,单片机复位后数值为00H;寄存器里面有8位,可以被位寻址

图片

在串行通讯中,串行发送与接收完一帧数据后,硬件将标志位置1,向CPU申请中断,CPU响应中断是,并不能直接标志位置0,需要中断服务程序将它们置0。

TI与RI接到ES中断源上,因此它们是同一个中断源。

中断向量

为了响应不同的中断,将中断服务函数的入口地址放在某个地址上,我们将这个地址成为中断向量。

图片

在C51中编译器中,增加了一个扩展字 interrupt,它是一个函数的选项,当函数添加上这个选项定义成中断函数。中断函数的一般形式如下:

void 函数名() [interrupu n] [using n]

interrupt后面的n为中断号

using 后面的n为工作寄存器组(8051中有4组寄存器组->0~3组)

总结:

1)C51中有5个中断源(EX0、ET0、EX1、ET1、ES),两个优先等级,其中TX与RX共用一个中断源ES;

2)相关的寄存器有中断允许寄存器IE、中断优先级控制寄存器IP、定时器/计数器控制寄存器TCON、串行口控制寄存器SCON 。

3)C51对函数进行扩展添加interrput,该关键字用于将函数定义成中断服务函数,对应着中断向量里面内容。

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

    关注

    31

    文章

    5336

    浏览量

    120230
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123491
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41470
  • 中断系统
    +关注

    关注

    1

    文章

    96

    浏览量

    61015
收藏 人收藏

    评论

    相关推荐

    新编MCS-51单片机应用设计

    新编MCS-51单片机应用设计
    发表于 03-21 22:03 576次下载

    mcs-51单片机应用教程

    mcs-51单片机应用教程以MCS-51系列单片机为主线,从实用的角度出发,通过介绍大量单片机技能训练实例和应用实例,指导读者学习和使用
    发表于 10-28 16:21 77次下载
    <b class='flag-5'>mcs-51</b><b class='flag-5'>单片机</b>应用教程

    MCS-51单片机系统扩展技术

    1 MCS-51单片机系统扩展的基本概念2 程序存储器扩展技术3 数据存储器扩展4 输入/输出口扩展技术MCS-51单片机
    发表于 12-01 14:39 65次下载
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b><b class='flag-5'>系统</b>扩展技术

    MCS-51系列单片机实用接口技术

    MCS-51系列单片机实用接口技术全面、系统地介绍了MCS-51系列单片机应用系统的各种实用接口
    发表于 12-23 14:27 164次下载
    <b class='flag-5'>MCS-51</b>系列<b class='flag-5'>单片机</b>实用接口技术

    MCS-51单片机系统扩展技术

    MCS-51单片机系统扩展技术:在MCS-51单片机的的内部虽已集成了很多资源,但这类单片机
    发表于 09-20 18:22 22次下载

    MCS-51单片机系统扩展技术(三)

    MCS-51单片机系统扩展技术简述
    发表于 07-16 12:59 21次下载

    MCS-51单片机系统结构

    2.1  MCS-51单片机的外特性2.2  MCS-51单片机内部结构2.3  CPU及复位电路2.4  IO端口2.5 
    发表于 08-12 11:33 46次下载

    MCS-51单片机中断软件编程

    MCS-51单片机中断软件编程 MCS-51单片机有多个中断源,以8051为例,有5个
    发表于 03-06 10:08 1322次阅读
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>外<b class='flag-5'>中断</b>软件编程

    MCS-51单片机开发系统与监控分析

    关于MCS-51单片机的介绍,以及其开发系统与监控分析
    发表于 10-17 17:07 92次下载
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>开发<b class='flag-5'>系统</b>与监控分析

    MCS-51单片机应用设计

    本书从应用的角度,详细地介绍了MCS-51单片机的硬件结构、指令系统、各种硬件接口设计、各种常用的数据运算和处理程序及接口驱动程序的设计以及MCS-51
    发表于 10-28 10:06 84次下载
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>应用设计

    MCS-51单片机应用系统

    MCS-51单片机应用系统详解,感兴趣的可以下载看看。
    发表于 11-06 18:19 2次下载

    MCS-51单片机的结构和原理

    MCS-51单片机的结构和原理
    发表于 12-11 23:41 1次下载

    MCS-51单片机的温度控制系统

    MCS-51单片机的温度控制系统
    发表于 09-21 13:50 25次下载
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>的温度控制<b class='flag-5'>系统</b>

    一文详解MCS-51单片机中断系统

    一文详解MCS-51单片机中断系统,具体的跟随小编来了解一下。
    的头像 发表于 07-28 11:26 1.3w次阅读
    一文<b class='flag-5'>详解</b><b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b><b class='flag-5'>系统</b>

    MCS-51单片机应用设计

    MCS-51单片机应用设计说明。
    发表于 05-24 14:27 48次下载