围绕中断响应条件及过程展开

合集下载

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0

中断响应过程及响应时间

中断响应过程及响应时间

本例中,单片机并行接口P3的一位T0输出作为该信号的输入,打印缓冲区仍就在内部数据存储器的10H-11H单元,公三字节。下面我们来看看程序:
中断响应过程及响应时间
第一条指令ORG 0000H是一条伪指令,意义是:告诉编译系统紧跟其后的那条指令从程序存储器的0000H单元开始存放。
指令MOV P2,10H的意义是:将内部数据存储器10H单元送上并行接口P2,其物理意义是发送第一打印数据。
指令CLR P3.4的意义为:对端口P3.4,即T0引脚清0,其物理意义向打印机发送选通信号的前沿,打印机检测到选通信号的前沿后,置引脚BUSY的状态为高电平,然后开始打印。
指令SETB P3.4的意义是 ,对端口P的意义是:对R0的内容加1,物理意义是改变打印缓冲区中下一个待打数据的指针,这条指令运行后,R0中的内容为12H,即下一个待打印数据在12H单元中。
指令CJNE RO,#13H LAB1的意义是:判断R0的内容是否为13H,如是则继续往下运行,否则跳转到标号为LAB1的地方,物理意义为如果待打印数据的指针向13H,即表示所有的数据都打印完毕,则运行关中断指令,否则表示数据末打印完,则跳过关中断指令。
外部中断响应时间
外部中断INT0和INT1的 电平在每个机器周期,经反向后锁存到IE0和IE1的标志位,CPU在下一个机器周期才会查询到新置入的IE0和IE1,这时如果满足响应条件,CPU响应中断时,要用二个机器周期执行一条硬件长调用指令“LCALL”。所以,从产生外部中断到开始执行中断程序至少需要三个完整的机器周期。如果在中断申请时,CPU正在长指令,如乘法和除法指令等四周期指令,则额外等待时间增加三个周期;若正在执行“RETI”指令或访问IE,IP的指令,则额外等待时间又增加两个周期。综上估计,在单一中断系统里,外部中断响应时间约在3-8个机器周期之间。

单片机原理与应用答辩题库

单片机原理与应用答辩题库

单片机原理与应用答辩题库1.P0 口做普通IO 口使用时,应该如何处理?答:接上拉电阻。

2.P3 口作为第二功能口使用时,各个引脚的功能分别是什么?答:3.定时计数器有几种工作方式?各有什么特点?答:4.串行口有几种工作方式?分别应用在什么场合?答:多机通讯主要用方式2和方式3。

5.单片机中断源有几个?答:有5个。

风别是外部中断0,定时器0,外部中断1,定时器1,串行口。

6.单片机中断触发方式有几种?分别是什么方式触发?答:有5种。

分别是:1 高电平触发;2 低电平触发;3 上升沿触发;4 下跳沿触发;5 沿触发。

7.MCS-51 单片机是几位机?答:是8位机。

8.请画出独立式键盘的接法,并说明软件编码方式?答:循环检测是否有低电平。

9.请画出矩阵式键盘的接法,说明扫描原理?答:扫描原理:(1)逐行扫描法。

依次从第一至最末行线上发出低电平信号, 如果该行线所连接的键没有按下的话, 则列线所接的端口得到的是全“1”信号, 如果有键按下的话, 则得到非全“1”信号。

(2)线反转法。

该法比行扫描速度快, 但在硬件上要求行线与列线外接上拉电阻。

先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列线的值, 那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为0。

这样,当一个键被按下时, 必定可读到一对唯一的行列值。

再由这一对行列值可以求出闭合键所在的位置。

10. 数码管有几种类型?原理如何?答:有两种,分别是共阴极和共阳极。

共阴极就是把所有的阴极连在一起共地,共阳极就是把所有的阳极连在一起接在VCC。

10.请说明共阳极数码管码表的推导过程?答:如图,如果显示1的话,b、c为0,其余都为1,即为10011111。

11.数码管有几种显示方式?优缺点是什么?答:有静态和动态两种显示方式。

静态可以稳定的同时显示各自的字形,动态的可一节省I/O口。

CPU响应中断的条件最全版

CPU响应中断的条件最全版
CPU响应中断的条件
yrty
1
CPU对中断的响应
• • • • • • 关中断 保留断点 保护现场 给出中断入口,转入相应的中断服务程序 恢复现场 开中断与返回
yrty
2
执行一条指令
No
取下一条指令
最后一个总线周期的最后一个T状态?
No
有INTR?
Yes Yes Yes
No
中断开放? (FR中的IF=1?)
8259A内部逻辑框图
yrty 12

2. 读/写控制逻辑
CS : 接高位地址的译码输出。 A0:常常与地址信号线A0相连。 8259A的两 个端口地址
CPU 通常利用:
OUT 指令, WR与CS, A0配合写入有关的控制字。 IN 指令,
RD与CS, A0配合读出8259A 内部 有关寄存器的内容。
从片A标志码:011,从片B标志码:110
yrty 15
(2) SP / EN引脚
① 当8259A 工作于非缓冲方式 (直接与
CPU 的DB 相连)
SP 为输入,是主从芯片定义引脚。
SP 1, 主片 SP 0, 从片
yrty
16
② 当8259A 工作于缓冲方式 (通过总线缓冲器与
CPU 的DB 相连)
中断服务
恢复现场 开中断,返回
yrty
9
6.3 8259A 可编程中断控制器
在微机系统中,可以使用 8259A 扩展
外部中断, Intel 8259A 可编程中断控制
器,主要有以下功能:
yrty
10
1. 1片8259A 能管理8级中断,通过级联用9
片8259A可以构成64 级主从式中断系统。 2. 每一级中断可以屏蔽或允许。 3. 在中断响应周期, 8259A 可提供相应的 中断类型号。 4. 可编程使8259A 工作在多种不同的方式。

简述单片机中断响应过程

简述单片机中断响应过程

简述单片机中断响应过程在单片机中,中断是一种机制,用于在程序执行过程中暂停正在执行的任务,转而执行一个特定的中断服务程序。

中断可以根据不同的情况触发,如外部信号的变化、定时器溢出等。

中断响应是指当中断事件发生时,单片机执行相应的中断服务程序。

单片机中断响应过程可以分为以下几个步骤:1. 中断触发:中断事件发生时,会触发中断请求信号。

中断事件可以是外部信号的变化,如按键按下、传感器检测到特定条件等;也可以是定时器溢出或其他定时事件。

2. 中断请求处理:当中断事件触发后,单片机会检测中断请求信号。

如果中断请求信号有效,即表示有中断事件发生,单片机会进入中断请求处理阶段。

3. 中断优先级判断:如果有多个中断请求同时发生,单片机会根据中断优先级来判断哪个中断请求应该被优先处理。

每个中断都有一个优先级,优先级高的中断会被优先处理。

4. 中断屏蔽:在中断请求处理之前,单片机会根据中断屏蔽寄存器的设置来判断是否屏蔽某个中断。

中断屏蔽是一种机制,可以阻止某些中断请求的处理,以避免中断过于频繁或干扰关键任务的执行。

5. 中断服务程序执行:当确定了要处理的中断请求后,单片机会跳转到相应的中断服务程序。

中断服务程序是一段特定的代码,用于处理中断事件。

中断服务程序执行完毕后,单片机会返回到之前被中断的地方继续执行。

6. 中断标志清除:在中断服务程序执行完毕后,单片机会清除相应的中断标志位。

中断标志位用于记录中断事件是否发生过,清除中断标志位可以表示中断事件已经得到处理。

7. 中断返回:当中断服务程序执行完毕后,单片机会执行中断返回指令,将之前被中断的程序状态恢复,继续执行被中断的任务。

需要注意的是,中断响应过程中的每个步骤都需要在规定的时间内完成,以保证中断的及时响应。

此外,中断服务程序的编写也需要考虑到实时性和效率,以充分发挥中断的作用。

单片机中断响应过程是一种有效的机制,可以在程序执行过程中及时响应外部事件,并执行相应的中断服务程序。

简述中断响应阶段要完成的具体工作

简述中断响应阶段要完成的具体工作

简述中断响应阶段要完成的具体工作哎呀,这可是个大问题啊!咱们先来聊聊中断响应阶段要完成的具体工作吧。

我们得知道什么是中断响应阶段。

简单来说,就是在计算机运行过程中,突然遇到了一个需要处理的问题,这时候就需要中断响应阶段来帮忙解决。

中断响应阶段具体要完成哪些工作呢?咱们一步一步来分析。

1.1 确定中断类型中断响应阶段得知道这个中断是什么类型的。

比如说,是因为程序执行出了问题,还是因为硬件故障导致的。

这就像是医生在看病之前,得先了解病人的症状和病史一样。

只有知道了问题的根源,才能更好地解决问题。

1.2 保存现场在确定了中断类型之后,接下来就是要保存现场。

这就像是在手术之前,医生得先把病人的身体状况记录下来,以免手术过程中出现意外。

同样地,中断响应阶段也需要保存当前正在执行的任务的状态,以便在处理完中断之后能够恢复到原来的状态。

1.3 选择处理方法既然知道了中断的类型和需要保存的状态,那么接下来就要选择合适的处理方法了。

这就像是医生根据病人的症状来选择治疗方法一样。

不同的中断类型可能需要采用不同的处理方法,而处理方法的选择又会影响到后续的操作。

2.1 分配处理器资源在选择了处理方法之后,接下来就需要分配处理器资源了。

这就像是医生在给病人做手术之前,得先准备好手术所需的各种器械和设备一样。

只有准备好了足够的资源,才能够顺利地进行手术。

2.2 执行处理方法分配好了处理器资源之后,接下来就是执行处理方法了。

这就像是医生开始给病人做手术一样。

在执行处理方法的过程中,可能会遇到各种各样的问题,需要不断地调整和优化处理方法,以便能够更好地解决问题。

3.1 恢复现场在完成了中断处理之后,接下来就是要恢复现场了。

这就像是医生在手术结束后,要把病人的身体状况恢复到手术之前一样。

只有恢复到了原来的状态,才能够继续执行后续的任务。

3.2 更新任务状态在恢复现场之后,还需要更新任务状态。

这就像是医生在给病人做完手术之后,要把病人的身体状况记录下来,以便下次看病时能够更快地找到问题所在一样。

微机原理14162中断处理过程

微机原理14162中断处理过程

8
§7.2 中断处理过程
二、CPU对中断的响应
3. 识别中断源
CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别。
4. 保护现场
为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。
5. 执行中断服务程序
6. 恢复现场 7. 开中断及返回
2019/10/3
4
§7.2 中断处理过程
一、CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断:
1) 当CPU复位时,中断允许触发器处于关中 断状态;
2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭。
2019/10/3
2019/10/3
7
§7.2 中断处理过程
二、CPU对中断的响应
CPU进入中断响应周期后,中断响应过程如下:
1. 关中断
CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求。
2. 保护断点 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点。
2019/10/3
四、中断优先级
17
§7.2 中断处理过程
实现方法:
将8个外 设的中断 请求触发 器组合为 一个端口, 并给这个 端口赋以 设备号 (口地址),
2019/10/3
四、中断优先级
18
§7.2 中断处理过程
四、中断优先级
然后,把各外设的中断请求信号相或后作为INTR信 号。任何外设有中断请求时,都可向CPU发出INTR 信号。CPU响应中断后,把中断寄存器的状态作为 一个输入端口读进CPU,然后逐位检测其状态,若 有中断请求就转入相应的中断服务程序,这样优先 级的级别取决于软件查询的顺序,先测试的中断源 具有较高的优先级。

中断响应条件

中断响应条件

其基本步骤如下。
(1)开放相应中断源的中断。
(2)设ቤተ መጻሕፍቲ ባይዱ所用中断源的中断优先级。
(3)若为外部中断,则应规定其为低电平还是负边沿的中断
触发方式。
历的时间。在单片机的实时控制系统中,为了满足控制速度的要求,需要
明确知道CPU响应中断所需的时间。
下面通过MCS-51单片机的中断响应时序,对中断响应时间进行分析。
中断响应时序
4.中断的初始化
7
中断系统的初始化指的是用户根据各中断源的具体要求,
对与中断控制有关的特殊功能寄存器中的各控制位进行赋值,
RETI时,首先将响应中断时压入堆栈保存的断点地址从堆栈弹
出到PC,使CPU从原来中断的地方继续执行程序;然后将与已
响应中断源对应的中断优先级状态触发器清0,通知中断系统
,该中断服务程序已执行完毕,在没有更高级别的中断请求发
生时,允许CPU响应同优先级别或低优先级的中断请求。
3.中断响应时间
6
中断响应时间指的是从中断源发出中断请求,到CPU响应中断需要经
被响应中断源的中断服务程序入口地址。执行这条指令时,先把断点(发生中
断的当前指令的下一条指令首地址)压入堆栈,以便中断返回时使用;然后将
相应的中断服务程序入口地址送入PC,于是CPU转去执行相应的中断服务程序。
MCS-51单片机的中断服务程序入口地址
2.中断响应过程
5
(4)执行到中断服务程序的最后一条指令——中断返回指令
中途打断)。
(5)若CPU正在执行的指令是RET、RETI或任何访问特殊功能寄存器IE或
IP的指令,则在当前指令执行完后,还要紧接着再执行完下一条指令。
2.中断响应过程
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用举例----关于保护现场
任务2描述:单片机上电,单灯按1Hz频率循环,一旦按下P3.2所接 的按键,发光二极管全亮,2秒钟后,单灯继续原来的循环。
1、流水灯的源程序
2、流水灯的源程序+中断初始化程序 3、中断服务程序及延时子程序
4、 用查询程序实现上述任务 5、从INT0输入,并采用了去抖动电路。
只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而 撤消了低电平的中断请求信号。 所需的负脉冲可增加如下两条指令得到: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0” 电平方式的外部中断请求信号的完全撤消,是通过软硬件 相结合的方法来实现的。
五、中断服务程序的设计
C1 U1 X1 C2
CRYSTAL 18 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
任务2描述:单片机上电,单灯按1Hz频率循环,一旦按下P3.2所接 的按键,发光二极管全亮,2秒钟后,单灯继续原来的循环。 1、流水灯的源程序 2、流水灯的源程序+中断初始化程序 3、中断服务程序及延时子程序 4、 用查询程序实现上述任务 5、从INT0输入,并采用了去抖动电路。
举例:
C3
22uF 1nF 19
一个用来指示某高优先级的中断正在执行,所有后来的中断均
被阻止。 另一个用来指示某低优先级的中断正在执行,所有同级中断都 被阻止,但不阻断高优先级的中断请求。
用中断优先级寄存器IP设置每个中断源的级别
可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。 两个中断优先级,可实现两级中断嵌套。如图5-6示。
2. 采用中断时的主程序结构 常用的主程序结构如下: ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ORG XXXXH MAIN: 主程序 ⋮ SJMP $ INT:中断服务程序

RETI END
3. 中断服务程序的流程
几点说明: (1)现场保护仅涉及到PSW和A的内容, 如还有其它需保护的内容,只需要在相应 的位置再加几条PUSH和POP指令即可。 (2) “中断处理程序段”,应根据任务 的具体要求,来编写。 (3)如果本中断服务程序不允许被其它 的中断所中断,可将“中断处理程序段” 前后的“开中断”和“关中断”两条去掉。 (4)中断服务程序的最后一条指令必须 是返回指令RETI。见例5-4P113
一、复习中断的概念
围绕中断响应条件及过程展开 中断系统涉及到的SFR 中断的软硬件设计的四个要素
二、中断优先级 三、图5-2 中断系统的结构 四、外中断触发方式及中断请求的撤销 五、中断服务程序的设计 六、多中断源的系统设计
二、89C51的中断优先级
89C51有两个中断优先级。 每个中断请求源均可编程为高优先级中断或低优先级中断。 MCS-51的中断系统有两个不可寻址的“优先级激活触发器”:
1.2 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下 一个机器周期采样为低,则置“1”中断请求标志(IE0/IE1), 直到CPU响应此中断时,该标志才清0。但输入的负脉冲宽 度至少保持1个机器周期。
2. 外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消是自动撤消的。 (2)电平方式外部中断请求的撤消: 除了标志位清“0”之外,还需在中断响应后把中断请 求信号引脚从低电平强制改变为高电平,如图5-8所示。
最低
三、图5-2 中断系统的结构
四、外中断触发方式及中断请求的撤销
1. 外部中断的触发方式选择(IT0/IT1) 两种触发方式:电平触发方式和跳沿触发方式。
适于外中断以低电平输入且 中断服务程序能清除外部中 断请求的情况。
1.1 电平触发方式 CPU在每个机器周期采样到的外部中断输入线的电平。 在中断服务程序返回之前,外部中断请求输入必须无效 (即变为高电平),否则CPU返回主程序后会再次响应 中断。
例5-4
INT:
典型的中断服务程序如下:
CLR PUSH PUSH SETB EA PSW ACC EA ;CPU关中断 ;现场保护 ; ;CPU开中断
中断处理程序段
CLR POP POP SETB RETI EA ACC PSW EA ;CPU关中断 ;现场恢复 ;CPU开中断 ;中断返回,恢复断点
CPU在执行主程序
CPU执行低级 中断服务程序
CPU执行高级 中断服务程序
低级中 断请求
高级中 断请求
图5-6 二级中断嵌套
特殊情况下中断优先级排列顺序

当同时接收到几个同一优先级的中断请求时,响应哪个中所示。P107 中断源 外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断 中断级别 最高
1. 中断服务程序设计的任务 (1)设置中断允许控制寄存器IE。 (2)设置中断优先级寄存器IP。 (3)对外中断源,是采用电平触发还是跳沿触发,要 设置IT0/IT1。 (4)编写中断服务程序,处理中断请求。 前3条一般放在主程序的初始化程序段中。
例5-3 假设允许外部中断 0中断,并设定它为高级中断, 其它中断源为低级中断,采用跳沿触发方式。 在主程序中编写如下程序段: SETB SETB SETB SETB EA ;CPU开中断 EX0 ;允许外中断0产生中断 PX0 ;外中断0为高级中断 IT0 ;外中断0为跳沿触发方式
相关文档
最新文档