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

什么是中断系统

中断分为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);  //松手检测
            }
        }   
    }
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容