第六章 单片机的中断系统.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 (第六章 单片机的中断系统) 教学内容 ? 中断系统概述 ? 中断系统的控制 ? 中断系统的编程 DATE: 2019/4/29 PAGE: 2 一、中断系统概述 ? 当 CPU 在执行某一程序过程中,在突发事件的请求下 , CPU 中断当前正在执行的程序,自动转去执行为处 理该事件而预先编写的服务程序,当服务程序执行完 后, CPU 继续执行原来的程序,这一过程称为 中断 。 ? 请求产生中断的事件称为 中断源 ,中断源向 CPU 提出 请求称为 中断请求或中断申请 。 DATE: 2019/4/29 PAGE: 3 二、中断系统的控制 ? 8051 单片机系统提供 5 个中断源,每个中断源都被分配了 一个编号以及相应的中断服务程序入口地址,通过该入口 地址中的跳转指令转到相应的中断服务程序。 ? 如果多个中断源同时向 CPU 提出中断请求, CPU 将选择优先 级最高的中断源为其服务。当完成高优先级的中断服务后 , CPU 才能响应低优先级的中断请求。 DATE: 2019/4/29 PAGE: 4 二、中断系统的控制 ? 8051 单片机允许对中断系统进行中断允许控制和中断优先 级控制,可以分别通过配置中断允许寄存器 IE 和中断优先 级寄存器 IP 来实现这两项控制。 ? ( 1 )定时 / 计数器控制寄存器 TCON 表 6-2 给出了 TCON 的格式,其中低四位用于控制外部 中断 INTO 和 INT1 的工作方式。 DATE: 2019/4/29 PAGE: 5 二、中断系统的控制 ? ( 2 )中断允许寄存器 IE 通过配置中断允许寄存器 IE 可以实现对中断源的开放 或屏蔽设置,并且可以实现两级控制。 ? 所有的中断源同受一个总开关控制,能够控制所有中断 源是否开放, ? 5 个中断源分别对应一个中断屏蔽位,可以单独设置该中 断是否开放 , 可以进行位寻址。 DATE: 2019/4/29 PAGE: 6 二、中断系统的控制 ? ( 3 )中断优先级寄存器 IP ? 8051 单片机支持两种中断优先级, 5 个中断源分别对应一 个中断优先级控制位,均可以单独设置为高优先级或低优 先级,该功能通过配置中断优先级寄存器 IP 来实现。中断 优先级寄存器 IP 可以位寻址。 DATE: 2019/4/29 PAGE: 7 二、中断系统的控制 ? 例 6-1 ,如果 IP 的值设为 06H ,如果 5 个中断请求同时发生 ,求中断响应的次序。 ? 解: 06H 化为二进制是 ,根据表 6-4 知,定时器 T0 和外中断 被设置成高优先级中断,因此如果 5 个中断请 求同时发生,中断响应的先后次序是:定时器 T0 →外中断 INT1 →外中断 →定时器 T1 →串行中断。 DATE: 2019/4/29 PAGE: 8 三、中断系统的编程 中断函数的定义 : void 函数名 (void) interrupt n using m { 中断函数内容 } ? 修饰符 interrupt n 表明该中断服务程序所对应中断源 的中断号,编译器会把该函数转化为中断函数,并在对应 的中断入口地址处添加跳转指令,以便转入本中断函数。 ? 修饰符 using m 用于指定本函数内部使用的工作寄存器 组, m 的取值为 0~3 。该修饰符可省略,由编译器去分配。 DATE: 2019/4/29 PAGE: 9 三、中断系统的编程 ? 编写中断函数时,应注意以下几点: ? ( 1 )中断函数不带任何参数,否则会导致编译出错。 ? ( 2 )中断函数不能有返回值,所以函数类型应为 void 。 ? ( 3 )中断函数必须由中断源触发而自动调用,不得直接 调用,因此也不用提前声明。 ? ( 4 )中断函数要精简,避免因执行时间过长影响其它中 断的响应。 DATE: 2019/4/29 PAGE: 10 三、中断系统的编程 ? 例 6-2 如图 6-2 所示, P0 口连接了 8 个发光二极管, 引脚 上接了一个按键,要求每次按键均能改变发光二级管的亮 灭。 DATE: 2019/4/29 PAGE: 11 三、中断系统的编程 #include reg51.h #define LED P0 sbit KEY = P3^3; bit flag

文档评论(0)

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

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

1亿VIP精品文档

相关文档