1 / 25

单片机原理及接口

单片机原理及接口. 陈麟 光电学院 mulzero@gmail.com. 第五章 中断系统. 微机的输入 / 输出方式. CPU 与外部设备交换信息方式: 无条件传送方式 查询传送方式 中断传送方式. 启动外部设备. 延迟. 传送数据. 第五章 中断系统. 无条件传送方式. 这种数据传送方式有些类似于 CPU 和存储器之间的数据传送,即 CPU 总是认为外设在任何时候都是出于“准备好”的状态。因此,这种传送方式不需要交换状态信息,只需要在程序中加入访问外设的指令,数据传送便可以实现。. 输入状态信息. 准备好?. 传送数据.

forbes
Download Presentation

单片机原理及接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 单片机原理及接口 陈麟 光电学院 mulzero@gmail.com

  2. 第五章 中断系统 微机的输入/输出方式 CPU与外部设备交换信息方式: 无条件传送方式 查询传送方式 中断传送方式

  3. 启动外部设备 延迟 传送数据 第五章 中断系统 无条件传送方式 这种数据传送方式有些类似于CPU和存储器之间的数据传送,即CPU总是认为外设在任何时候都是出于“准备好”的状态。因此,这种传送方式不需要交换状态信息,只需要在程序中加入访问外设的指令,数据传送便可以实现。

  4. 输入状态信息 准备好? 传送数据 第五章 中断系统 查询传送方式 优点:通用性好,可以用于各类外部设备和CPU间的数据传送。 缺点:是需要有一个等待过程,特别是在进行连续数据的传送时,由于外设速度比CPU慢得多,因此,CPU需要等待很长的时间,效率比较低。 查询传送也称为条件传送,可用于无条件传送不便于使用的场合,以解决外部设备与CPU之间的速度匹配问题。

  5. 第五章 中断系统 中断传送方式 • 当CPU正在处理某件事情的时候,外部发生的某一事情请求CPU迅速去处理,于是,CPU暂时中止当前的工作转去处理所发生的事情,中断服务处理完该事情之后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。 • 实现这种功能的部件称为中断系统; • 产生中断的请求源(外设)称为中断源。 • 中断源向CPU提出的处理请求称为中断申请。 • CPU暂时中止自身的事务,转去处理事件的过程,称为中断响应过程。 • 对事件的整个处理过程,称为中断服务。处理完毕,再回到原来被中止的地方,称为中断返回。

  6. 第五章 中断系统 中断的一般处理过程 外设中断源 申请中断 INTR=0 CPU 响应中断 i+1条指令 i条指令 中断服务程序 CPU处理中断的过程可分为三个阶段,即中断响应、中断、处理和中断返回。

  7. 第五章 中断系统 中断的功能 • 分时操作。解决CPU速度快、外设速度慢的矛盾。在外设需要时发出中断申请,CPU才中断原有工作执行中断服务程序,与外设交换数据;中断服务结束,CPU返回原程序继续执行。 • 实时处理。控制系统往往有许多数据需要采集或输出。实时控制中有的数据难以估计何时需要交换。中断可为实时控制提供支持。 • 故障处理。计算机系统的故障往往随机发生,如电源断电、运算溢出、存储器出错等。采用中断技术,系统故障一旦出现,就能及时处理。

  8. 然 优 先 级 自 然 优 先 级 1 1 1 1 1 0 0 0 0 0 矢量 地址 矢量 地址 第五章 中断系统 8051中断系统结构及中断控制 高 级 中 断 请 求 TCON IE IP IT0=0 PX0 INT0 IE0 EX0 IT0=1 PT0 TO TF0 PC ET0 IT1=0 PX1 INT1 IE1 EX1 IT1=1 TF1 PT1 低 级 中 断 请 求 T1 ET1 TX TI PS + TR RI ES EA 优先级 源允许 总允许 SCON 中断标志 PC 硬件查询 8051单片机中断系统结构图

  9. 第五章 中断系统 8051中断源 8051中断系统的五个中断源为 INT0——外部中断0请求,低电平有效。通过P2.3引脚输入。 INT1——外部中断1请求,低电平有效。通过P3.3引脚输入。 T0——定时器/计数器0溢出中断请求。 T1——定时器/计数器1溢出中断请求。 TX/RX——串行口中断请求。 每个中断源都对应一个中断请求标志位,它们设置在特殊 功能寄存器TCON和SCON中。当这些中断源请求中断时,相应 的标志分别由TCON和SCON中的相应位来锁存。

  10. 中断源 中断矢量地址 外部中断0(INT0) 0003H 定时器T0中断 000BH 外部中断1(INT1) 0013H 定时器T1中断 001BH 串行口中断 0023H 第五章 中断系统 8051中断矢量 中断矢量:指向中断服务程序入口地址

  11. 第五章 中断系统 中断的控制 • 8051中断系统用以下四个特殊功能寄存器控制中断: • 定时器控制寄存器TCON(用六位)。 • 串行口控制寄存器SCON(用二位)。 • 中断允许寄存器IE。 • 中断优先级寄存器IP。

  12. 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TCON (88H) TF1 TF0 IE1 IT1 IE0 IT0 第五章 中断系统 TF1/TF0——定时器/计数器T1/T0的溢出中断请求标志位。当计数器启动后,从初值开始计数,计数器最高位产生溢出时,由硬件使TF1 /TF0置1,并向CPU发出中断请求。CPU响应中断时,硬件自动对TF1 /TF0清0。 IE1/IE0——外部中断1/0的中断请求标志。当检测到外部中断引脚1 /0上存在有效的中断请求信号时,由硬件使IE1 /IE0置1。当CPU响应中断时,由硬件清0。 IT1/IT0——外部中断1/0的中断触发方式控制位。 IT1/IT0 = 0时,为电平触发方式。 IT1/IT0 = 1时,为边沿触发方式。 中断请求标志(TCON)

  13. 99H 98H SCON (98H) TI RI 第五章 中断系统 中断请求标志(SCON) TI——串行口发送中断请求标志位。CPU将一个数据写入发送缓冲器SBUF时,就启动发送。每发送完一帧串行数据后,硬件置位IT1。但CPU响应中断时,并不清除TI,必须在中断服务程序中由软件对TI清0。 RI——串行口接收中断请求标志位。在串行口允许接收时,每接收完一个串行帧,硬件置位RI。同时CPU响应中断时不会清除RI,必须用软件对其清0。 SCON为串行口控制寄存器,其低2位锁存串行口的接收中断和发送中断标志RI和TI。

  14. AFH AEH ADH ACH ABH AAH A9H A8H IE (A8H) EA ET1 EX1 ET0 EX0 ES 第五章 中断系统 中断允许控制 8051对中断源的开放或者屏蔽是由中断允许控制器IE控制的。 EA——中断允许总控制位。EA=0,屏蔽所有中断请求;EA=1,,CPU开放中断。 ES——串行口中断允许位。ES=0,禁止;ES=1,允许。 ET1——定时器/计数器T1的溢出中断允许位。 EX1——外部中断1中断允许位。 ET0——定时器/计数器T0的溢出中断允许位。 EX0——外部中断0中断允许位。

  15. BFH BEH BDH BCH BBH BAH B9H B8H IP (B8H) PS PT1 PX1 PT0 PX0 第五章 中断系统 中断优先级控制 PS——串行口中断优先级控制位。 PT1——定时器/计数器T1中断优先级控制位。 PX1——外部中断1中断优先级控制位。 PT0——定时器/计数器T0中断优先级控制位。 PX0——外部中断0中断优先级控制位。 若某几个控制位为1,则相应的中断源就规定为高级中断;若为0,则为低级中断。 8051有两个中断优先级。每一个中断请求源均可以通过对 中断优先级寄存器IP编程为高优先级中断或低优先级中断。

  16. 同级内的中断优先级 中断源 外部中断0 最 高 定时器/计数器0溢出中断 外部中断1 定时器/计数器1溢出中断 串行口中断 最 低 第五章 中断系统 当CPU同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序。

  17. 第五章 中断系统 8051中断处理过程 • (中断源接口电路设置的)中断请求触发器提出中断申请 • 中断总允许位EA=1,即CPU开中断。 • 申请中断的中断源的中断允许位为1,即中断没有被屏蔽。 • 无同级或更高级中断正在被服务。 • 当前的指令周期已经结束。 • 若现行指令为RETI或者是访问IE或IP指令时,该指令以及紧接着的另一条指令已经执行完。

  18. 第五章 中断系统 中断处理 CPU在每个机器周期的S5P2采样各中断标志 若查询到某个中断标志=1,在下个机器周期响应中断 置位相应的中断优先级触发器 PC内容入栈(硬件执行LCALL指令,两周期) 中断矢量装入PC 中断返回 • 返回指令RETI。(清除中断响应时所设置的“优先级生效”触发器;从当前栈顶弹出断点地址送入程序计数器PC)。 • 若用户在中断服务程序中进行了压栈操作,则在RETI指令执行前应进行相应的出栈操作。PUSH和POP指令必须成对出现的,否则不能正确返回断点。

  19. EA=1; 各控制位均允许中断 CPU 1、CPU响应中断 置位优先级触发器 执行一条指令 执行主程序 2、CPU自动将断点PC入栈 取下一条指令 指令结束 N Y N 3、CPU将中断源提供的中断矢量地址装入程序计数器PC 是否有中断请求 Y CPU自动执行中断响应 清除中断标志 断点保护 转中断服务 执行PUSH指令 保护现场 CPU 执行中断服务程序 中断服务 执行POP指令 恢复现场 原PC出栈,返回主程序 返回主程序 第五章 中断系统 8051的中断响应

  20. 中断服务程序的设计 第五章 中断系统 中断程序设计应注意的问题: 主程序 1、主程序的起始地址(PC=0030H) 2、主程序中初始化: ⑴ 中断服务程序入口地址的设定。 ⑵ 某一中断源中断请求的允许与禁止。 ⑶ 对于外部中断请求,还需进行触发方式的设定。 ⑷ 各中断源优先级别的设定。 ⑸ CPU开中断与关中断。

  21. 第五章 中断系统 例. 试编写设置外部中断INT0和串行接口中断为高优先级,外部中断INT1为低优先级。屏蔽T0 和T1中断请求的初始化程序段。

  22. 第五章 中断系统 ORG 0000H SJMP MAIN ORG 0003H LJMP INT0INT ;设外部中断中断矢量 ORG 0013H LJMP INT1INT ;设外部中断中断矢量 ORG 0023H LJMP SIOINT ;设串行口中断矢量 ORG 0030H MAIN:… MOV IP,#00010001B ;INT0和串口中断为高优先级 MOV IE,#10010101B;开INT0、INT1、串口、CPU中断

  23. 第五章 中断系统 用户在编写中断服务程序时,应注意以下几点: 各中断源的入口矢量地址之间只相隔8个单元,因而,最常见的方法是在中断入口地址单元处存放一条无条件转移指令,转移至存储器其它的任意空间。 • 若在执行当前中断时禁止更高级别中断,应关闭CPU中断或屏蔽更高级中断源的中断,在中断返回前再次开放中断。 • 在保护现场和恢复现场时,为了不使现场信息受到破坏或造成混乱,一般应关闭CPU中断,使CPU暂时不响应新的中断请求。

  24. 电路结构: 1、各中断源申请通过非门后与INT0连接。 2、无论哪个外设提出中断请求,都会使INT0引脚电平变低。 3、究竟哪个中断源提出申请,可通过P1.0~P1.3查询。 第五章 中断系统 中断加查询扩展中断源 装置1 装置2 装置3 装置4

  25. 保护现场 输入各中断源 中断触发器状态 Y A申请 N A外设服务 Y B申请 N B外设服务 DONE 恢复现场 返回主程序 第五章 中断系统 DV2: …… AJMP EXIT DV3: …… AJMP EXIT DV4: …… AJMP EXIT ORG 0003H LJMP INTRP INTRP: PUSH PSW PUSH A JB P1.0, DV1 JB P1.1, DV2 JB P1.2, DV3 JB P1.3, DV4 EXIT: POP A POP PSW RETI DV1: …… AJMP EXIT

More Related