中断系统与定时器计数器.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断系统与定时器/计数器 在程序的执行过程中,由于某种外界的原因,必须终止当前执行的程序,而去执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序。这个过程叫中断。 中断的概念 执行主程序 主程序 继续执行主程序 断点 中断请求 中断响应 执行中断处理程序 中断返回 5个中断源,具有二个中断优先级,可实现二级中断服务程序的嵌套。每个中断源均可软件编程为高优先级或低优先级中断,允许或禁止向CPU请求中断。 有关的特殊功能寄存器(SFR)有: 中断允许寄存器IE 中断优先级控制寄存器IP 中断源寄存器(TCON、SCON中的有关位) 注:均可位寻址。 中断系统结构 IE0 TF0 IE1 TF1 TI RI 中断请求标志 EX0 ET0 EX1 ET1 ES ≥1 PX0 PT0 PX1 PT1 PS 高级 低级 内 部 查 询 内 部 查 询 入口地址 入口地址 INT0 INT1 T0 T1 TI RI 中断允许控制 中断优先级 EA 中断源 中断系统结构图 8051单片机共有5个中断源,分别是2个外部中断、 2个定时中断和1个串行中断。 外部中断是: 外部中断0--INT0,由P3.2提供, 外部中断1—INT1,由P3.3提供, 外部中断有两种触发方式,即低电平方式和负边沿方式。 定时器和串行口中断分别是: T0溢出中断; 由片内定时/计数器0提供 T1溢出中断; 由片内定时/计数器1提供 串行口中断RI/TI; 由片内串行口提供 中断源 中断方式 单片机的中断为向量中断,即一响应中断就转入固定入口地址执行中断服务程序。 具体如下: 中断源 入口地址 INT0 0003H T0 000BH INT1 0013H T1 001BH RI/TI 0023H 在这些单元中往往放一条跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。 与中断有关的特殊功能寄存器 与中断有关的特殊功能寄存器有四个: TCON----定时控制寄存器, IE----中断允许控制寄存器, IP----中断优先级控制寄存器, SCON----及串行口控制寄存器。 (1).定时控制寄存器TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1 TF0 IE1 IT1 IE0 IT0 中断请求标志 触发方式选择 0 低电平1 下降沿 注意:电平触发时,在中断返回前应撤除中断源。 (2).串行口控制寄存器SCON D7 D6 D5 D4 D3 D2 D1 D0 TI RI 串行中断 请求标志 (3).中断允许控制寄存器IE D7 D6 D5 D4 D3 D2 D1 D0 EA ES ET1 EX1 ET0 EX0 (4).中断优先级控制寄存器(IP) D7 D6 D5 D4 D3 D2 D1 D0 PS PT1 PX1 PT0 PX0 0 禁止 1允许 0 低级别 1高级别 实现两级控制 注意:复位时,禁止所有中断 每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高到低) 注意:响应中断后,CPU并不清零中断标志位,必须软件清零。 中断响应 响应条件----CPU要响应中断需满足下列条件: ① 无同级或高级中断正在服务; ② 当前指令周期结束,如果查询中断请求的机器 周期不是当前指令的最后一个周期,则不行; ③ 若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。 响应过程--单片机响应中断后,自动执行下列操作: ① 置位中断优先级有效触发器,即关闭同级和低级 中断: ② 调用入口地址,断点入栈,相当于LCALL指令; ③ 进入中断服务程序。 响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)+2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。 中断返回—中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档