我们首先需要了解什么是中断?

中断是指cpu在执行某一过程中由于外界原因必须暂停现在的事情,处理别的事情,处理完了再回去执行暂停的事情。

中断的优点?

1.分时操作。
2.实时响应
3.可靠性高
中断中用到的寄存器:
IE寄存器:
1.单路开关:EX0 ET0 EX1 ET1 ES
EX0:外部中断0允许位
ET0:定时/计数器T0中断允许位
EX1:外部中断1允许位
ET1:定时/计数器T1中断允许位
ES:串行口中断允许位
2.总开关
EA:CPU中断允许位
EA=1打开
IP寄存器:
作用是选择优先级的,解决中断优先级问题。
IT0寄存器:选择低电平有效还是下降沿有效,上电默认电平触发方式,IT0=1是下降沿有效
T0 T1为定时器中断,RX TX为串行口中断
中断优先级顺序由高到低:
外部中断0(IE0)->定时/计数器0(TF0)->外部中断1(IE1)->定时/计数器1(TF1)->串行口(R1或T1)
首先响应的是优先级高的中断请求,正在中断的不会被新的中断请求打断,正在进行低优先级中断服务,能被高优先级中断请求中断。
中断函数一般形式:void 函数名() interrupt   n{}
n代表中断号,中断号是编译器识别不同中断的唯一编号
中断函数和普通函数的异同:
同:函数的形式非常类似,中断响应过程和普通函数调用过程也非常相似
异:中断函数不需要声明,普通函数需要声明
使用中断函数需要遵循以下规则:
(1)中断函数不能进行参数传递
(2)在任何情况下,都不能直接调用中断函数
简单中断程序:
#include <reg51.h>void main()
{P1=0x55;//p1口初始值EA=1;//全局中断开EX0=1;//外部中断0开IT0=0;//电平触发,一般写1while(1){}}
//外部中断程序
void interves(void) interrupt 0 using 1
{P1=~P1//进入中断程序执行程序//此时可以通过EA = 0指令暂时关掉中断}

51单片机之中断的实现过程相关推荐

  1. 51单片机 | 外部中断实验

    文章目录 一.外部中断介绍 二.外部中断配置 三.硬件设计 四.软件设计 五.实验现象    51 单片机外部中断有 2 个,外部中断 0 和外部中断 1,它们的使用方法是一样的,所以只要学会一个即可 ...

  2. 使用51单片机采用中断方式进行串口通信的学习记录:

    使用51单片机进行串口通信的学习记录之中断方式: 1.51单片机采用中断方式的串口通信过程及程序分析: 所谓中断方式,就是串口收/发标志位出发中断后,在中断中执行既定操作,可通过函数调用来实现. 接收 ...

  3. 51单片机的中断系统

    文章目录 1 51单片机的中断系统 1.1 中断的固有优先级和抢占优先级 1 51单片机的中断系统 1.1 中断的固有优先级和抢占优先级 中断使能寄存器: 中断查询序列: interrupt 后面中断 ...

  4. 51单片机之中断系统

    51单片机之中断系统 中断系统 四种中断类型: 外部中断: 定时器/计数器T0.T1中断: 串行口中断: 定时器/计数器T2中断: 中断入口: 与中断相关的特殊功能寄存器: 中断优先级: 中断响应时间 ...

  5. c语言单片机定时器的应用程序,51单片机定时器中断程序(C语言)

    51c程序 51单片机定时器中断程序(C语言) 用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期 机器周期=12/n(n指晶 ...

  6. 51单片机外部中断的C51编程

    51单片机外部中断的C51编程 相关知识: 1.51单片机的5大中断源:串行口中断.定时中断1.外部中断1.定时中断0.外部中断0: 2.中断源的编号: 串行口中断为4.定时中断1为3.外部中断1为2 ...

  7. c语言51单片机外部中断,51单片机外部中断0实例详解

    今天就以51单片机的外部中断0为例,来简单讲解一下单片机中断的用法. 1 51单片机的中断源 51单片机共有5个中断源,分别为:外部中断0 定时器0中断 外部中断1 定时器1中断 串口中断 每一个中断 ...

  8. 【51MCU】51单片机定时器中断写MIDI音乐(按键可切换音乐)

    Author: Manba Cople 专业:IOT 说明:记录和输出学习内容 文章目录 前言 定时器 音乐播放 音乐库 总结和展望 前言 程序思路:该程序是利用51单片机的定时器中断,另外根据音符的 ...

  9. 51单片机:中断实现按键按一下数码管从00加到99循环(C语言)

    51单片机:中断实现按键按一下数码管从00加到99循环(C语言) 题目要求: 在51单片机上通过C语言编写代码,使用中断,按键按一下数码管上面的数字从00开始加1,实现00--99的循环 准备工作: ...

  10. 关于51单片机串口中断的理解

    关于51单片机串口中断的理解 关于这个问题找了好几个帖子,都没看到能让我明白的.自己就想了想,又看了看.新手不一定说得对,您凑合着看看.要不对的话,望指正. 首先,我们在SCON中设置的时候,一般都会 ...

最新文章

  1. SQL Server 2017 AlwaysOn on Linux 配置和维护(18)
  2. java swing 外观框架_Swing外观框架BeautyEye使用
  3. Eclipse配置外部Tomcat
  4. 实名羡慕,国内这些厂.NET薪资高的吓人!
  5. #if, #ifdef, #ifndef, #else, #elif, #endif的用法
  6. 在Microsoft VS.net 2005下开发Linux环境的网站应用
  7. JQ实现标签栏切换效果、导航栏下滑效果以及动画队列和stop()方法
  8. 【react】 react 中 前后端数据的交互方式 (原生的ajax、jq的ajax、axios、fetch )...
  9. IIS建立两个站点服务,只有一个公网IP
  10. 在GridView中,设置字符超出单元格部分的内容用“...”表示
  11. 如何使用QQ快速截屏
  12. xjad使用中的几个问题
  13. 后台管理系统权限设计
  14. 三个技巧教你怎么裁剪视频画面,手残党也能掌握
  15. 2.3 zio入门——一些常见的zio操作符
  16. macos复制粘贴快捷键 快速_MacOS中复制和粘贴快捷键说明,及常见的各种快捷键整理大全...
  17. 计算机和人脑在线阅读,人脑与电脑课件.ppt
  18. gboard包名_如何在Android的Gboard键盘中搜索表情符号和GIF
  19. 噪声和信噪比的转换(如何在数据集中添加噪声)
  20. GSM Arena 魅族mx四核评测-个人翻译

热门文章

  1. 实验一:基于HMM的拼音转汉字程序|自然语言
  2. LSD slam with stereo cameras (使用双目相机的LSD算法)
  3. 计算机打印状态错误,打印机状态错误【设置办法】
  4. 苹果电脑如何双开微信
  5. 2021年12月中国A股钢铁行业上市企业市值排行榜:行业总市值较11月增长1.18%,金洲管道增幅最大(附月榜TOP44详单)
  6. 论文阅读笔记:A brief introduction to weakly supervised learning
  7. 资产管理系统——必备功能
  8. 主成分分析二级指标权重_主成分分析确定指标权重的问题_主成分分析法确定权重...
  9. 重邮第八届ACM大赛-预赛题解报告
  10. 关系数据库理论:范式判断、函数依赖、无损分解、正则覆盖