第5章 中断系统 单片机原理及接口技术知识(C51编程)课件.pptVIP

第5章 中断系统 单片机原理及接口技术知识(C51编程)课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 中断系统 单片机原理及接口技术知识(C51编程)课件.ppt

度。当外部中断源被设定为电平触发方式时,在中断服务程序返回之前,外部中断请求输入必须无效(即外部中断请求输入已由低电平变为高电平),否则CPU返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源(即外部中断输入电平又变为高电平)的情况。如何清除电平触发方式的外部中断请求源的电平信号,将在本章的后面介绍。 5.6.2 跳沿触发方式 外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是CPU暂时不能响应,中断请求标志也不会丢失。在这种方式下,如果相继连续两次 * 采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则中断申请触发器置“1”,直到CPU响应此中断时,该标志才清“0”。这样就不会丢失中断,但输入的负脉冲宽度至少保持12个时钟周期(若晶振频率为6MHz,则为2?s),才能被CPU采样到。外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求。 5.7 中断请求的撤销 某个中断请求被响应后,就存在着一个中断请求的撤销问题。下面按中断请求源的类型分别说明中断请求的撤销。 * 1.定时器/计数器中断请求的撤销 定时器/计数器中断的中断请求被响应后,硬件会自动把中断请求标志位(TF0或TF1)清“0”,因此定时器/计数器中断请求是自动撤销的。 2.外部中断请求的撤销 (1)跳沿方式外部中断请求的撤销 跳沿方式的外部中断请求的撤销,包括两项内容:中断标志位清“0”和外中断信号的撤销。其中,中断标志位(IE0或IE1)清“0”是在中断响应后由硬件自动完成的。而外中断请求信号的撤销,由于跳沿信号过后也就消失了,所以跳沿方式的外部中断请求也是自动撤销的。 * (2)电平方式外部中断请求的撤销 对于电平方式外部中断请求的撤销,中断请求标志的撤销是自动的,但中断请求信号的低电平可能继续存在,在以后的机器周期采样时,又会把已清“0”的IE0或IE1标志位重新置“1”。为此,要彻底解决电平方式外部中断请求的撤销,除了标志位清“0”之外,必要时还需在中断响应后把中断请求信号输入引脚从低电平强制改变为高电平。为此,可在系统中增加如图5-8所示的电路。 * * 图5-8 电平方式的外部中断请求的撤销电路 由图5-8可见,用D触发器锁存外来的中断请求低电平,并通过D触发器的输出端Q接到INT0*(或INT1* )。所以,增加的D触发器不影响中断请求。中断响应后,为了撤销中断请求,可利用D触发器的直接置“1”端SD实现,即把SD端接AT89S51的P1.0端。因此,只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而就撤销低电平的中断请求信号。所需的负脉冲可在中断服务程序中先把P1.0置1.再让P1.0为0,再把P1.0置1,从而产生一个负脉冲。 3.串行口中断请求的撤销 串行口中断请求的撤销只有标志位清“0”的问题。串行口中断的标志位是TI和RI,但对这两个中断标志CPU不进行自动清“0”。因为在响应串行口的中断后,CPU无法知道 * 是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即使用软件在中断服务程序中把串行口中断标志位TI、RI清0。 5.8 中断函数 为直接使用C51编写中断服务程序,C51中定义了中断函数。由于C51编译器在编译时对声明为中断服务程序的函数自动添加了相应的现场保护、阻断其他中断、返回时自动恢复现场等处理的程序段,因而在编写中断函数时可不必考虑这些问题,减小了用户编写中断服务程序的繁琐程度。 * 第3章中介绍的中断服务函数的一般形式为: 函数类型 函数名(形式参数表) interrupt n using n 关键字interrupt后面的 n是中断号,对于51单片机,n的取值为0~4,编译器从8×n+3处产生中断向量。AT89S51单片机的中断源对应的中断号和中断向量见表5-3。 * AT89S51单片机在内部RAM中可使用4个工作寄存器区,每个工作寄存器区包含8个工作寄存器(R0~R7)。C51扩展了一个关键字using,using后面的n专门用来选择AT89S51的4个不同的工作寄存器区。using是一个选项,如果不选用该项,中断函数中的所有工作寄存器的内容将被保存到堆栈中。 关键字using对函数目标代码的影响如下:在中断函数的入口处将当前工作寄存器区的内容保护到堆栈中,函数返回前将被保护的寄存器区的内容从堆栈中恢复。使用关键字using在函数中确定一个工作寄存器区时须十分小心,要保证任何工作寄存器区的切换都只在指定的控制区域中发 * 生,否则将产生不正确的函

您可能关注的文档

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档