单片机C语言程序设计 侯殿有 3.10新.pptVIP

单片机C语言程序设计 侯殿有 3.10新.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 MCS-51单片机的中断系统 10.1中断的基本概念 在前面一些章节中,我们已用到了一些中断的知识,本章将系统介绍中断的基本概念和应用。 中断是计算机中很重要的一个概念,中断系统也是MCS-51单片机的重要组成部分。实时控制、故障处理往往通过中断来实现,计算机与外部设备之间的信息传递常常采用中断处理方式。什么是中断?在计算机中,由于计算机内外部的原因:使CPU从当前正在执行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所应对的服务程序。执行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断,实现中断的硬件系统和软件系统称为中断系统。 中断处理涉及到以下几个方面的问题: 1.中断源及中断请求 产生中断请求信号的事件、原因称为中断源。根据中断源产生的原因,中断可分为软件中断和硬件中断。当中断源请求CPU中断时,就通过软件或硬件的形式向CPU提出中断请求。对于一个中断源,中断请求信号产生一次,CPU中断一次,不能出现中断请求产生一次,CPU响应多次的情况。这就要求中断请求信号及时撤除。 2.中断优先级 能产生中断的原因很多,当系统有多个中断源时,有时会出现几个中断源同时请求中断的情况,但CPU在某个时刻只能对一个中断源响应,响应哪一个呢?这就涉及到中断源优先权控制问题。在实际系统中,往往根据中断源的重要程度给不同的中断源限定等级。当多个中断源提出中断请求时,优先级高的先响应,优先级低的后响应。 3.中断允许与中断屏蔽 当中断源提出中断请求,CPU检测到后是否立即进行中断处理呢?结果不一定。CPU要响应中断,还受到中断系统多个方面的控制,其中最主要的是中断允许和中断屏蔽的控制。如果某个中断源被系统设置为屏蔽状态,则无论中断请求是否提出,都不会响应;当中断源设置为允许状态,又提出了中断请求,则CPU才会响应。另外,当有高优先级中断正在响应时,也会屏蔽同级中断和低优先级中断。 4.中断响应与中断返回 当CPU检测到中断源提出的中断请求,且中断又处于允许状态,CPU就会响应中断,进入中断服务程序。首先对当前的断点地址进行入栈保护。然后把服务程序的地址送给程序指针PC,转移到中断服务程序,在中断程序中进行相应的中断处理。中断服务程序结束,结束中断,返回断点位置。在中断服务程序中往往还涉及到现场保护和恢复现场以及其他处理。 10.2.1 MCS-51单片机的中断源 MCS-51单片机提供5个(52子系列提供6个)硬件中断源: 两个外部中断源INT0(P3.2)和INT1(P3.3),2个定时/计数器T0和T1的中断源TF0和TF1;1个串行口中断(发送TI和接收RT共用一个中断向量,算1个中断源) 。 1. 外部中断INT0和INT1 外部中断源INT0和INT1的中断请求信号通过MCS-51单片机的并口引脚P3.2和P3.3的输入,主要用于自动控制实时处理、单片机掉电和设备故障处理。 外部中断请求INT0和INT1有两种触发方式:电平触发及跳变(边沿)触发。这两种触发方式可以通过特殊功能寄存器TCON来选择。前面已经介绍,特殊功能寄存器TCON在定时计数器中使用过,其中高4位用于定时计数器控制,低4位用于外部中断控制,形式如图10.1所示。 IT0(IT1):外部中断0(或1)触发方式控制位,(IT0或IT1)被设置为0 ,则选择外部中断为电平触发方式;(IT0或IT1)被设置为1,则选择外部中断为脉冲触发方式。 IE0(IE1):外部中断0(或1)的中断请求标志位。在电平触发方式时,CPU在每个机器周期采样P3.2 (或P3.3),若P3.2 (或P3.3)引脚为高电平,则IE0(IE1)清零,若P3.2(或P3.3)引脚为低电平,则IE0(IEI)置1,向CPU请求中断;在脉冲触发方式时,若第一个机器周期采样到P3.2 (或P3.3)引脚为高电平,第二个机器周期采样到P3.2(或P3.3)引脚为低电平时,由IE0(或IE1) 置1,向CPU请求中断。 在脉冲触发方式时,CPU在每个机器周期都采样P3.2 (或P3.3)。为了保证检测到负跳变,输入到P3.2 (或P3.3)引脚的高电平与低电平至少应保持1个机器周期。CPU响应后能够由硬件自动将P3.2(或P3.3)清零。 对于电平触发方式,只要P3.2(或P3.3)引脚为低电平,IE0(或IE1)就置1,请求中断,CPU响应后不能够由硬件自动将IE0(或IE1)清零。如果在中断服务程序返回时,P3.2(或P3.3)引脚还为低电平,则又会中断,这样就会发出一次请求,中断多次的情况。为避免这种情况,只有在中断服务程序返回前撤销P3.2(或P3.3)的中断请求信号,就是使P3.2 (或P3.3)为高电平。 2.定时/计数器T0和T1中断 当定时

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档