中断响应时间:从外部中断请求有效(外部中断请求标志置1)到转向中断入口地址所需要的响应时间。每个机器周期的S5P2时刻,INTx引脚的电平被锁存到内部寄存器中,待下一个周期查询。
1.最短时间:中断请求有效,查询后在下一个周期便开始执行一条硬件的子程序的调用(时间是两个周期),然后开始执行服务程序的第一条指令。这样从锁存电平的周期到执行中断服务程序,中间相隔3个机器周期。
2.最长时间:如果中断信号发生在前面所说的3种情况时,响应时间就要变长:
(1)响应时间取决于正在执行的同级或高级中断的执行时间;
(2)指当前CPU执行的指令是多周期指令,如乘除法指令(4个 周期),最坏情况,还要等3个周期。这样响应周期变为3+3=6个周期;
(3)CPU当前执行的指令是RETI或访问IE、IP寄存器时,本指令(1个周期)没有响应,且下一条指令执行完后才能响应,这样附加的等待时间最长不会超过5个周期(1+4)。整个响应为5+3=8个周期。
这样,如果不考虑第1种情况,整个中断响应的时间范围应当是: 3~8个机器周期。
关键字:单片机 中断响应时间
引用地址:
单片机中断响应时间的计算
推荐阅读最新更新时间:2024-03-16 15:40
51单片机基础之矩阵键盘4X4
原理: 16个键盘,通过八个引脚就可以控制,高四位控制行,低四位控制列。 代码: #include reg51.h #define SMG P0 //宏定义数码管 #define KEY P1 //宏定义矩阵键盘 typedef unsigned char u8; typedef unsigned int u16; u8 sum; //定义一个全局变量,用来保存按键的值 u8 SMG_Code ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0xff}; //数码管显示的
[单片机]
51单片机的直接寻址与间接寻址
指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。 以寄存器中的内容为地址,该地址的内容为操作数的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器间接寻址的存储空间包括内部数据存储器和外部数据存储器。由于内部数据存储器共有128字节,因此用一字节的R0和R1可间接寻址整个空间。而外部数据存储器最大可达64K,仅R0或R1无法寻址整个空间,为此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同寻址64K字
[单片机]
51单片机汇编控制nRF24L01源程序
基于nrfl2401芯片的无线传输电路原理图如下: 实验时收发双方都采用相同的电路 发送方程序如下: org 0000H AJMP START ;延时1/4s子程序 YANSHI1S: MOV R7,#250 YANSHI1S1: MOV R6,#250 YANSHI1S2: NOP NOP DJNZ R6,YANSHI1S2 DJNZ R7,YANSHI1S1 RET ;将58开始的单或多字节(字节数在R3中)写入芯片 XIENB: MOV R0
[单片机]
单片机C环境下位操作的实现方法
C语言既有高级语言的各种特点,又可对硬件进行操作,并对进行结构化程序设计,用C语言编写的程序较容易移植,它们可生成简洁可靠的目标代码,在代码效率和代码执行速度上完全可以和汇编媲美。采用C语言进行单片机编程是嵌入式程序设计的发展趋势。但是,在嵌入式控制等领域,经常需要控制某一个二进制位,然而除了Keil C51等C环境外,很多单片机C环境都没有扩充对位变量定义的关键字,甚至单片机本身的硬件上也没有对单个位操作的汇编指令,这使得已习惯MCS-51内核单片机Keil C51编程的用户都为其C环境不能对位变量进行位操作而烦恼。 1 用“读-修改-写”方法实现对单个位的位操作 ANSIC中,一般采用“读-修改-写”的方法实现单个
[应用]
新款TI C2000™ Piccolo™微控制器 帮助开发人员在成本敏感
高度集成的片上系统提高电动汽车/混合动力汽车、电网基础设施和工业应用的性能。 2018年2月2日,北京讯 德州仪器(TI)近日推出C2000™ Piccolo™微控制器(MCU)产品组合的最新产品。新型C2000 F28004x MCU系列针对电动汽车车载充电器、电机控制逆变器和工业电源等成本敏感型应用的电源控制进行优化,具有卓越的性能。通过添加集成浮点单元、数学加速器和可选并行处理器的这一新型实时控制装置,C2000 Piccolo MCU产品组合进一步提高了100-MHz中央处理器(CPU)的性能,设定了新的行业标准。 开发人员可以利用业界领先的C2000 Piccolo F28004x MCU集成模拟功能减少物料
[电源管理]
基于8051单片机为核心的温度控制系统设计
“温度”是各类工业控制生产中常见的、而又十分重要的控制参数。人们研制出各种针对不同控制对象的温度自动控制系统,其中软件控制算法已比较成熟,但温度控制系统的硬件构成特别是功率控制部分往往存在着硬件结构复杂,分离元件较多,结构较为封闭等问题。随着CPLD器件的大规模运用,采用CPLD器件可简化控制系统的硬件结构。本文设计了一种以8051 单片机 为核心的温度控制系统,该系统的控制部分由CPLD来完成,针对不同的控制对象可采用不同的控制算法,因此该控制系统具有结构开放、成本低廉、性能可靠等特点。 1 系统硬件构成 对一个温度自动控制系统来说,其硬件结构由两大部分构成:温度测量部分和功率控制部分。系统结构总框图如图1所示。
[单片机]
51单片机计数显示程序举例
前面我们做了定时器的实验,现在来看一看计数实验,在工作中计数常常会有两种要求: 第一、将计数的值显示出来, 第二、计数值到一定程度即中断报警。 第一种如各种计数器、里程表,第二种如前面例中讲到的生产线上的计数。先看第一种吧。 我们的硬件中是这样连线的:324组成的振荡器连到定时/计数器1的外部管脚T1上面,我们就利用这个来做一个计数实验,要将计数的值显示出来,当然最好用数码管了,可我们还没讲到这一部份,为了避免把问题复杂化,我们用P1口的8个LED来显示计到的数据。 程序如下: ORG 0000H , AJMP START ORG 30H START: MOV SP,#5FH MOV TMOD,#0100000
[单片机]
#单片机#利用pcf8591读取电位器电压值
#include reg51.h sbit sda=P2^0; sbit scl=P2^1; #define uint unsigned int #define uchar unsigned char uchar code table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x40}; //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 //--定义PCF8591的读写地址--// #define WRITEADDR 0x90 //写地址 #define READADDR 0x91 //读地址
[单片机]