一、原理分析

1、什么是中断?

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。

中断系统三要素:中断源、中断的嵌套和优先级处理、中断的响应过程

2、51单片机具有5个中断源:

3、 中断允许控制寄存器(IE)
8051单片机通过中断允许控制寄存器进行两级中断控制。

EA—中断允许的总控制位。
EA=0时,中断总禁止相当于关中断,即禁止所有中断。
EA=1时,中断总允许,相当于开中断。总的中断允许后,各个中断源是否可以申请
中断,则由其余各中断源的中断允许位进行控制。
EX0—外部中断0允许控制位,当EX0=0,禁止外中断0;EX0=1,允许外中断0。
EX1—外部中断1允许控制位,当EX1=0,禁止外中断1;EX1=1,允许外中断1。
ET0—定时器0中断允许控制位,当ET0=0, 禁止该中断;ET0=1,允许定时器0中断。
ET1—定时器1中断允许控制位,当ET1=0,禁止该中断;ET1=1,允许定时器1中断。
ES—串行口中断允许控制位,当ES=0,禁止串行中断;ES=1,允许串行中断。
ET2—定时器2中断允许控制位,当ET2=0,禁止该中断;ET2=1,允许定时器2中断。
(链接:https://wenku.baidu.com/view/22d783be59fb770bf78a6529647d27284a733762.html)
3、P3口
P3口除了可以做普通的I/O使用外,还具有第二功能:

二、程序编写

实现功能:定义一个working()函数,使L1灯不断闪烁。将P32引脚定义成外部中断功能,按键S5就会产生外部中断触发信号,在中断响应函数中,点亮L8指示灯,延时一段时间后熄灭,该功能用两种方式实现:1、中断方式(在中断服务函数中延时)2、查询方式

首先将J5处的跳线帽接到2~3引脚,即S5按键接到P32/INTO, S4按键接到P33/INT1。

中断方式:(直接在中断服务函数中执行)

#include <reg52.h>
sbit L1=P0^0;
sbit L8=P0^7;void delay(unsigned int t)//延时函数,注意t为int型
{while(t--);while(t--);while(t--);
}
void working()//L1闪烁函数
{P2=0xA0;P0=0x00;P2=0x80;P0=0xFF;//关闭外设P2=0x80;L1=0;delay(60000);L1=1;delay(60000);
}
void Init_INT0()//初始化函数,对中断的工作状态的初始化设置
{EA=1;//开中断总开关,允许中断IT0=1;//外部中断0,下降沿触发;若为低电平触发,则为IT0=0;EX0=1;//开外部中断0
}
void serviceINT0() interrupt 0//外部中断服务函数
{L8=0;delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);L8=1;
}
void main()
{Init_INT0();while(1){working();}
}

查询方式:(在中断服务函数中标志变量,在外部延时)

#include <reg52.h>
sbit L1=P0^0;
sbit L8=P0^7;void delay(unsigned int t)//延时函数,注意t为int型
{while(t--);while(t--);while(t--);
}
void working()//L1闪烁函数
{P2=0xA0;P0=0x00;P2=0x80;P0=0xFF;//关闭外设P2=0x80;L1=0;delay(60000);L1=1;delay(60000);
}
void Init_INT0()//初始化函数,对中断的工作状态的初始化设置
{EA=1;//开中断总开关,允许中断IT0=1;//外部中断0,下降沿触发;若为低电平触发,则为IT0=0;EX0=1;//开外部中断0
}
unsigned char flag=0;
void serviceINT0() interrupt 0//外部中断服务函数
{flag=1;
}
void LED()
{if(flag==1){ L8=0;delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);L8=1;}flag=0;
}
void main()
{Init_INT0();while(1){working();LED();}
}

蓝桥杯单片机——中断系统(7)相关推荐

  1. 蓝桥杯单片机比赛学习:6、中断系统之定时器中断的基本原理

    上节我们讲了中断的外部中断,基本的了解了一下中断,这一节我们继续来学习中断系统的定时器中断基本原理,本节很重要无论是在比赛中还是在单片机.嵌入式等的学习上都有着很重要的地位.如对本作者有兴趣可以去我主 ...

  2. 蓝桥杯单片机比赛学习:5、中断系统之外部中断的基本原理

    中断的基本概念 百度百科上是这样说的,当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作 ...

  3. 蓝桥杯单片机比赛学习:7、中断系统之串口中断的基本原理

    这一节我们讲一下蓝桥杯单片机比赛中断中的最后一个模块--串口.中断的其他模块在我的个人主页(4条消息) Do My Best的博客_CSDN博客-蓝桥杯单片机比赛学习领域博主有兴趣的可以去学习. 通信 ...

  4. 蓝桥杯单片机第四届省赛题详细讲解(模拟智能灌溉系统)

    看之前强烈建议先自己做一遍!!! 整个工程文件(有注释讲解) 网盘链接 先上演示效果 蓝桥杯单片机第五届模拟智能灌溉系统 首先依旧从赛题的系统框图开始讲起 首先需要做的是将系统框图里的各部分模块提前调 ...

  5. 蓝桥杯单片机省赛——第五届(模拟智能灌溉系统)

    蓝桥杯单片机省赛--第五届(模拟智能灌溉系统) 一.题目内容 二.程序源代码 1.主函数 2.ds1302驱动函数 3.iic驱动函数 注意:驱动代码需要改动一下,可以将原驱动代码按照下面的代码修改 ...

  6. 第四届蓝桥杯单片机省赛 自动灌溉系统

    第四届蓝桥杯单片机省赛 自动灌溉系统 新手.所用驱动为大赛提供驱动 #include<stc15f2k60s2.h> #include "intrins.h"#defi ...

  7. 蓝桥杯单片机第七届省赛-模拟风扇控制系统

    九层妖塔 起于垒土 ● 改编自国信长天蓝桥杯官方蓝皮书例程,按照自己的习惯进行了补充和修改 蓝桥杯单片机第七届省赛-模拟风扇控制系统 Notes1:按键按下后在某些情况下给一定的缓冲时间 Notes2 ...

  8. 蓝桥杯单片机设计与开发_标准模板

    蓝桥杯单片机设计与开发_标准模板 一.前言 首先,这篇文章是笔者第一次在 CSDN 上写博文,较为生疏,读者若有任何意见,欢迎大家在评论区交流! 笔者目前为一名大二学生,参加了2021年蓝桥杯单片机设 ...

  9. 蓝桥杯单片机设计与开发笔记(一)

    近期和我们实验室的小伙伴一起参加了第七届蓝桥杯单片机开发与设计组省赛,在这里将备赛期间的一些资料和经验总结一下,并分享给大家. 蓝桥杯单片机开发板是国信长天的CT107D单片机综合训练平台,个人感觉这 ...

最新文章

  1. 使用希捷DiscWizard格式化3TB硬盘并分区
  2. MYSQL 看书笔记
  3. WebServices中使用cxf开发日志拦截器以及自定义拦截器
  4. Using SSL Certificates with HAProxy--reference
  5. 企业日志分析 五大问题需重点注意
  6. java script object_javascript Object与Array用法
  7. P1078 文化之旅
  8. 为什么选择 npm script?
  9. python中event_Python Event实现线程通信
  10. 实验验证离散余弦变换和简单压缩应用,显示对应的原图,dct图和恢复的图像
  11. 190518每日一句
  12. 小米mini路由器刷breed不死鸟和潘多拉固件
  13. LOJ6070 基因 分块+回文自动机
  14. 启动服务器应用程序失败,打开系统管理时提示:autoupdateserviceset.exe 应用程序错误 应用程序无法正常启动,请单击确定 关闭应用程序。...
  15. 麻雀优化算法 SSA python实现
  16. Unity 实现蓄力攻击
  17. java爬虫小说网项目_java爬虫之下载txt小说
  18. python调用PHP
  19. ChatGPT使用案例之自然语言处理
  20. 计算机专业大一期末总结

热门文章

  1. php手冊,php手冊之變量范圍
  2. 华南x79主板u盘装系统教程_华南x79主板怎么装win7系统|华南x79主板装win7及BIOS设置...
  3. DIY蓝牙键盘(2) - 理解HID报文描述符
  4. 2022年的第一篇程序人生。。。
  5. 《Unity 游戏设计与实现 南梦宫一线程序员的开发实例》学习笔记01
  6. 韩国仁川机场乐天免税店买买买!
  7. 色彩大全 Android 颜色值
  8. 小米游戏本 linux 编程键,小米笔记本安装Ubuntu后特殊键终于可用了
  9. 【Win10系统安装】联想小新V3000安装Win10操作系统,并使用Administrator账户登录
  10. CANoe CAPL 接收以太网报文--UDP