美文网首页
51单片机之中断系统,外部中断

51单片机之中断系统,外部中断

作者: David_Rao | 来源:发表于2019-09-26 12:34 被阅读0次

什么是中断系统

中断分为4个步骤:中断请求→中断相应→中断处理→中断返回(先做更重要的事)
1、数据的输入/输出传送方式

P3第二功能各引脚功能定义:

51单片机五个中断源

外部中断源(2个)

外部中断要看对应引脚外部的电平状态。
例如:外部中断0(INT0)对应的引脚是P32,
当出现低电平,即P32引脚连接的地方是低电平,进入相应的中断函数;
当出现下降沿,即P32引脚连接的地方由高电平变为低电平,进入相应的中断函数

内部中断源(3个)

内部中断源要看单片机内部的定时器/计数器

51单片机中断系统内部结构图
一、允许中断

中断允许寄存器IE

二、配置中断方式

定时器/计数器0/1控制寄存器TCON

三、编写中断处理函数

对同时发生多个中断申请时:
不同优先级的中断同时申请:先高后低
相同优先级的中断同时申请:按序执行
正处理低优先级中断又接到高级别中断:高打断低
正处理高优先级中断又接到低级别中断:高不理低

//中断处理函数
void int1() interrupt 2  //interrupt后加中断入口号,如interrupt 2就是外部中断1的处理函数
{
//中断处理语句
}
//外部中断1初始化:
EA = 1;  //开总中断
EX1 = 1;  //开外部中断1
IT1 = 1;  //跳变沿触发

初始化的意思如图所示

写一个使用 外部中断1 的程序

实现思路
查看上方 P3第二功能各引脚功能定义,P3.3是外部中断1 (INT1)的外部输入引脚

编写一个程序,使得S2按键按下时,某个IO口(下面程序选择了P3.7这个IO口)产生跳变沿(由1变0)。P3.3与P3.7用跳线连接,使P3.3口与P3.7口同时产生跳变沿。

#include <reg52.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char

sbit DU = P2^6;  //数码管段选
sbit WE = P2^7;  //数码管位选
sbit key_s2 = P3^0;  //独立按键s2
sbit flag = P3^7;  //外部中断信号产生脚

void delay(unsigned int z)
{
    unsigned int x, y;
    for(x = z; x > 0; x--)
        for(y = 114; y >0; y--);
}

//外部中断1初始化
void int1Init()
{
    EA = 1;  //开总中断
    EX1 = 1;  //开外部中断1
    IT1 = 1;  //外部中断1下降沿触发
}

//外部中断1服务程序
void int1() interrupt 2
{
    P1 = ~P1;  //控制LED灯亮与灭
}

void main() 
{
    int1Init();  //外部中断1初始化
    while(1)
    {
        if(key_s2 == 0)  //判断s2是否被按下
        {
            delay(20);  //按键消抖
            if(key_s2 == 0)  //确认按键确实是被按下的
            {
                flag = 1;
                flag = 0;  //P37口由1变0,产生跳变沿
                while(!key_s2);  //松手检测
            }
        }   
    }
}

相关文章

  • Keil方法类_中断实验

    中断系统和外部中断 实现一个C51单片机中断需要在中断请求标志位、中断允许标志位和 中断优先级控制位进行组合的实现...

  • 51单片机之中断系统,外部中断

    什么是中断系统 中断分为4个步骤:中断请求→中断相应→中断处理→中断返回(先做更重要的事)1、数据的输入/输出传送...

  • 命题-第13章-填空

    对采用电平触发方式的外部中断,必须在中断返回前( 撤销中断请求信号 )。 CS-51单片机有( 2 )个16位可...

  • 命题-第一章-填空

    对采用电平触发方式的外部中断,必须在中断返回前( 撤销中断请求信号 )。 CS-51单片机有( 2 )个16位可...

  • 51 单片机中断系统

    中断系统 51单片机有5个中断系统 (优先级从高到低) 中断号01234名称INT0T0INT1T1Rx/Tx 中...

  • 单片机中断

    寄存器IE(8位):对单片机系统所有中断以及某个中断源的开放和屏蔽的控制 EX0(IE.0),外部中断0允许位; ...

  • 十四章 选择题

    1 MCS-51单片机在同一级别里除INTO外,级别最高的中断源是() A. 外部中断1 B.定时器T0 C...

  • 51单片机采用中断进行串口通信

    51单片机采用中断方式的串口通信过程及程序分析: 所谓中断方式,就是串口收/发标志位出发中断后,在中断中执行既定操...

  • 51单片机中断

    (2)EX1:IT1=0电平触发,低电平有效;IT1=1下降沿触发;IE1=0中断请求标志位2.单片机内部有两个1...

  • 15 中断系统

    单片机STC89C52学习——15 中断系统 汇总:00 单片机STC89C52学习参考教程:普中科技 1 中断系...

网友评论

      本文标题:51单片机之中断系统,外部中断

      本文链接:https://www.haomeiwen.com/subject/wlsyyctx.html