51单片机学习——8--中断系统

发布者:人妙果华最新更新时间:2021-07-23 来源: eefocus关键字:51单片机  中断系统  中断返回 手机看文章 扫描二维码
随时随地手机看文章

中断概念

什么是中断

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);

CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);

待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。


中断系统


在这里插入图片描述

中断优点

分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;


实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;


可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。


51单片机中断分类

89C51/52的中断系统有5个中断源 ,2个优先级,可实现二级中断嵌套 。

在这里插入图片描述

1、外部中断0:(P3.2)可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。

2、外部中断2:(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。

3、定时计数器中断1:TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。

4、定时计数器中断3:TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。

5、串行口中断4:RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。


中断控制位

CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

在这里插入图片描述

EX0(IE.0),外部中断0允许位;

ET0(IE.1),定时/计数器T0中断允许位;

EX1(IE.2),外部中断0允许位;

ET1(IE.3),定时/计数器T1中断允许位;

ES(IE.4),串行口中断允许位;

EA (IE.7), CPU中断允许(总允许)位。


中断请求标志

TCON的中断标志

在这里插入图片描述

IT0(TCON.0),外部中断0触发方式控制位。

当IT0=0时,为电平触发方式。

当IT0=1时,为边沿触发方式(下降沿有效)。

IE0(TCON.1),外部中断0中断请求标志位。

IT1(TCON.2),外部中断1触发方式控制位。

IE1(TCON.3),外部中断1中断请求标志位。

TF0(TCON.5),定时/计数器T0溢出中断请求标志位。

TF1(TCON.7),定时/计数器T1溢出中断请求标志位。


中断优先级

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:

在这里插入图片描述
在这里插入图片描述

51单片机的中断优先级有三条原则

CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。

正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。

正在进行的低优先级中断服务,能被高优先级中断请求所中断。


为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置0,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。


中断处理过程

中断响应条件:

1.中断源有中断请求;

2. 此中断源的中断允许位为1;

3. CPU开中断(即EA=1)。

以上三条同时满足时,CPU才有可能响应中断(满足三个条件也不一定响应中断)

关键字:51单片机  中断系统  中断返回 引用地址:51单片机学习——8--中断系统

上一篇:51单片机学习——8.1外部中断0和1
下一篇:51单片机学习——7--8*8LED点阵显示

推荐阅读最新更新时间:2024-11-03 22:08

51单片机一位数码管汇编程序
;数码管从0-9显示 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R4, #00H ;记录码表的值 MOV DPTR, #TABLE ;把地址送DPTR STRAT: MOV A, R4 MOVC A, @A+DPTR ;取码 MOV P2, A ;显示 INC R4 ;自增,取下个值做准备 CALL DELAY ;调用 CJNE R4, #16, STRAT ;判断是否显示完16个数值 AJMP MAIN DELAY: MOV R6, #1 DELAY4: MOV R1, #10 DELAY3: MOV R2, #100 DEALY1: MOV
[单片机]
<font color='red'>51单片机</font>一位数码管汇编程序
使keil5支持51单片机
需要用到的工具:https://download.csdn.net/download/qq_33160790/10302877 PS:两个工具都是要用管理员身份运行。 keil5默认不支持51,51单片机的工程放到keil5会报错: keil5 --- Error: failed to execute 'G:keilC51BINC51.EXE' 安装方法: 1.运行c51v954a.exe,将路径选成之前keil5的安装路径。 2.使用keygen.exe破解License PS:管理员身份打开keil5 破解步骤: 将CID复制到破解机。 将生成的LIC拷贝至keil5。
[单片机]
使keil5支持<font color='red'>51单片机</font>
基于51单片机实现74LS164串入并出移位寄存器
对于串入并出移位寄存器以下是我个人的理解和实际开发工程中得出的经验 图一: 由我上图所画 可以得出 一个8位串入数据输入, 8位并行输出。可以看出先移的是高位, 就是第一个位进去的到最后会在最高位。 图为时序图 A B 是输入 clean 是清0端,低电平有效。就是如果给个低电平那么输出都为0强制都输出0。一般接高电平 clock 是时钟 上升沿有效 由上图可以得出如果 A B 有一个为低电平 ,那么阻止新数据的进入,并在下一个时钟上升沿时,将 QA 端清0. 如果A B端都为高电平则会使能信号输入,并在下一个时钟脉冲的上升沿之前使输出端QA置1.每一个时钟脉冲上升沿到来时,输出端的数据会移动一个位
[单片机]
基于<font color='red'>51单片机</font>实现74LS164串入并出移位寄存器
如何用51单片机点亮一盏LED灯
首先应该了解51单片机最小系统:51最小系统也称为51最小应用系统,是指用最少的元件组成的51单片机可以工作的系统。如图2.1.1所示,51最小系统一般应该包括:单片机、晶振电路、复位电路。 晶振电路的原理及组成,作用: 在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机
[单片机]
如何用<font color='red'>51单片机</font>点亮一盏LED灯
基于AT89C51单片机烟雾传感器
#include reg51.h #include stdio.h #define uchar unsigned char //宏定义无符号字符型 #define uint unsigned int //宏定义无符号整型 sbit ST=P3^0; //A/D启动转换信号 sbit OE=P3^1; //数据输出允许信号 sbit EOC=P3^2; //A/D转换结束信号 sbit CLK=P3^3; //时钟脉冲 uint i,j,AD0809; //定义数据类型 //延时子函数 void delay() { i = 1000; while(i--); } /****
[单片机]
基于AT89C<font color='red'>51单片机</font>烟雾传感器
AT89C51单片机数字电子钟的设计
一、 设计目的与要求 设计目的:通过设计,培养运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。 设计要求:设计一个时、分可调的数字电子钟、断电后将数据保存,开启后时间将从断电后时间继续行走。 二、 设计内容与方案制定 具有校时功能,按键控制电路其中时键、分键六个键分别控制时、分时间的调整。按下小时数实现对小时数加减,按下分钟数实现对分钟数进行加减,并设置有复位键,启始键。 以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。 通过AT24C02分别写入时、分、秒数据在断电后实现保存,在下次通电
[单片机]
AT89C<font color='red'>51单片机</font>数字电子钟的设计
mcs51单片机加法指令(4条)有例子
算术运算 指令 共有24条,算术运算主要是执行加、减、乘、除法四则运算。另外MCS-51指令系统中有相当一部分是进行加、减1操作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C,则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符号数进行补码运算。需要指出的是,除加、减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。这在使用中应特别注意。 . 加法指令(4条) 这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内容与累加器A的内容相加,运算结果存在A中。 ADD A,#data ;(A)+#data→(A) 累加器
[单片机]
MCS-51单片机地址指针及其应用介绍
MCS-51单片机外部RAM的地址空间为64K,地址总线为16位,访问外接RAM可执行如下4条指令: MOVX A,@DPTR MOVX @DPTR,A MOVX A,@RI MOVX @RI,A 其中DPTR为16位地址寄存器,地址高8位存于DPH,地址低8位存于DPL;Ri(I=0,1)是8位寄存器,作为地址指针时仅存低8位地址。 MCS-51执行上述指令时分为两个阶段:首先,是从外接程序存储器中取出指令代码,并进行分析。然后,执行对外接RAM的数据读/写操作。在这两个阶段,P0口、P1口上的地址选通是有区别的。 执行“MOVX A,@DPTR”和“MOVX @DPTR,A”指令时,在读指令代码阶段,由程序计数器
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved