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

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

3天内不再提示

MCS-51单片机外部中断详解

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

CPU在执行的过程中,一般来说都是在执行主程序(main函数里面的代码)。如果希望处理其他的功能,可以通过查询的方式进行,判断是否需要处理或者通过中断的方式,进入中断服务函数程序里面执行。

前者是在主程序中判断条件是否成立,如果成立则执行其他功能,否则不执行;后者是CPU在执行过程中,判断是否有中断标志位,响应中断进入中断服务函数,执行相关功能。

MCS-51 单片机中,有两个外部中断(INT0与INT1),中断有两种方式低电平触发与负跳变(下降沿)触发。

下面通过讲INT0说明外部中断,INT1同理。

原理图:

P0连接8个LED,INT0引脚连接一个按钮连接到地。

图片

在中断系统中,INT0设计的寄存器中有IE、IP、TCON,在C51规定特殊寄存器的地址为8的倍数均可以位寻址。IE寄存器地址为:0xA8;IP寄存器地址为0xB8;TCON寄存器地址为0x88;因此它们可以被位寻址。

以下是它们的位定义。

/*  TCON  */
sbit TF1   = TCON^7;
sbit TR1   = TCON^6;
sbit TF0   = TCON^5;
sbit TR0   = TCON^4;
sbit IE1   = TCON^3;
sbit IT1   = TCON^2;
sbit IE0   = TCON^1;
sbit IT0   = TCON^0;


/*  IE  */
sbit EA    = IE^7;
sbit ET2   = IE^5; //8052 only
sbit ES    = IE^4;
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;


/*  IP  */
sbit PT2   = IP^5;
sbit PS    = IP^4;
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^0;

如果需要使用外部中断,需要满足以下条件

1)中断中允许设置(置1)EA = 1;

2)中断源允许设置(置1)Ex0 = 1;

3)中断触发方式设置(置1或置0) IT0 =1 或者 IT0 = 0;

4)中断服务函数

图片

代码实现

#include "reg52.h"
#include "stdio.h"


void main(){
   IT0 = 1;
   EA = 1;
   EX0 = 1;
   while(1){};


}


void irq0(void) interrupt  0
{
    P0=~P0;
}

注:由于IT0 =1;设置中断触发方式为负跳变(下降沿),CPU相应中断后清除中断标志位。而由于IT0 =0;设置中断触发方式为低电平触发,CPU相应中断后不会清除中断标志位。

在上面的中断服务功能中表现,按一下LED灯亮,再按一次LED灯灭;

如果将IT0设置为0,则按下时LED会闪烁。因为中断标志位没有清除,不断进入中断服务函数。

如果需要设置外部中断1,负跳变触发。只需要改上面代码的三条语句即可。

IT0 = 1; ---- >  IT1 = 1;
 
  EX0 = 1;  ---- >  EX1 = 1;

   
void irq0(void) interrupt  0   -- >  修改终端号,将0 修改为2void irq0(void) interrupt  2    ---- >函数名irq0,可根据需要修改或不改
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634653
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120231
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10854

    浏览量

    211585
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123493
  • 外部中断
    +关注

    关注

    1

    文章

    131

    浏览量

    15816
收藏 人收藏

    评论

    相关推荐

    MCS-51单片机基本原理

    MCS-51单片机基本原理[学习要求] 掌握MCS-51单片机的基本概念和基本原理。[重点与难点]重点:单片机的基本原理与内部结构。难点:
    发表于 03-19 16:39

    新编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单片机系统扩展的基本概念1.1
    发表于 12-01 14:39 65次下载
    <b class='flag-5'>MCS-51</b><b class='flag-5'>单片机</b>系统扩展技术

    MCS-51 单片机基本原理

    [学习要求] 掌握MCS-51单片机的基本概念和基本原理。[重点与难点]重点:单片机的基本原理与内部结构。难点:MCS-51单片机存储器结构
    发表于 03-18 22:05 67次下载

    MCS-51 外部中断方案的改进

    MCS-51 外部中断方案的改进
    发表于 05-15 13:43 4次下载

    MCS-51单片机硬件结构

    教学内容:2.1  MCS-51单片机的基本结构2.2  MCS-51单片机的引脚及片外总线结构教学方法:  讲授法教学目的1、理解
    发表于 07-07 15:43 38次下载

    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是美国Intel公司的八位高档单片机系列,是在MCS-48系列基础上发展而成的,也是我国目前应用最广的一种单片机系列。在这个系列里,有8031、8051、8751、80C
    发表于 09-13 07:06 66次下载

    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单片机的硬件结构、指令系统、各种硬件接口设计、各种常用的数据运算和处理程序及接口驱动程序的设计以及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 0次下载

    一文详解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>系统

    MCS-51单片机应用设计

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