复位和中断解析:.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3中断系统原理 CIP-51 包含一个扩展的中断系统,支持22 个中断源,每个中断源有两个优先级。这22个中断源可分为:外部中断、定时中断、可编程计数器中断、串行口中断、比较器中断及A/D转换中断6类。中断技术是计算机中的重要技术之一,既和硬件有关,也和软件有关。 关于外设有效中断条件和中断标志位工作状态方面的详细信息,在与特定外设相关的章节中介绍。 如果中断被允许,在中断标志被置位时将产生中断。 C8051中断系统结构 CPU接受某一个中断后,一旦当前指令执行完,CPU 产生一个LCALL 到一个预定地址,开始执行中断服务程序(ISR)。 6.3.1中断源和中断向量 每个ISR 必须以RETI 指令结束,使程序回到中断前执行完的那条指令的下一条指令。如果中断未被允许,中断标志将被硬件忽略,程序继续正常执行。(中断标志置1 与否不受中断允许/禁止状态的影响。) 6.3.2中断允许寄存器 每个中断源都可以用一个SFR(IE-EIE2)中的相关中断允许位允许或禁止,但是必须首先置‘1’EA 位(IE.7)以保证每个单独的中断允许位有效。不管每个中断允许位的设置如何,清‘0’EA 位将禁止所有中断。 某些中断标志在CPU 进入ISR 时被自动清除。但大多数中断标志不是由硬件清除的,必须在ISR 返回前用软件清除。如果一个中断标志在CPU 执行完中断返回(RETI)指令后仍然保持置位状态,则会立即产生一个新的中断请求,CPU 将在执行完下一条指令后重新进入ISR。 软件可以通过将任何一个中断标志设置为逻辑‘1’来模拟一个中断。 IE:中断允许寄存器 位7: EA:允许所有中断。 0:禁止所有中断源; 1:开放中断。每个中断由它对应的中断屏蔽设置决定。 位6: IEGF0:通用标志位0。 该位用作软件控制的通用标志位。 位5: ET2:定时器2 中断允许位。 该位用于设置定时器2 的中断屏蔽。 0:禁止定时器2 中断; 1:允许TF2 标志位(T2CON.7)的中断请求。 位4: ES0:UART0 中断允许位。 该位设置UART0 的中断屏蔽。 0:禁止UART0 中断。 1:允许RI0 标志位(SCON0.0)或TI0 标志位(SCON0.1)产生的中断。 位3: ET1:定时器1 中断允许位。 该位用于设置定时器1 的中断屏蔽。 0:禁止定时器1 中断。 1:允许TF1 标志位(TCON.7)的中断请求。 IE:中断允许寄存器 位2: EX1:外部中断1 允许位。 该位用于设置外部中断1 的中断屏蔽。 0:禁止外部中断1 中断。 1:允许/INT1 引脚的中断请求 位1: ET0:定时器0 中断允许位。 该位用于设置定时器0 的中断屏蔽。 0:禁止定时器0 中断。 1:允许TF0 标志位(TCON.5)的中断请求。 IE:中断允许寄存器 IE:中断允许寄存器 位0: EX0:外部中断0 允许位。 该位用于设置外部中断0 的中断屏蔽。 0:禁止外部中断0。 1:允许/INT0 引脚的中断请求 EIE1:扩展中断允许1 位7: ECP1R:允许比较器1(CP1)上升沿中断。 该位设置CP1 的中断屏蔽。 0:禁止CP1 上升沿中断。 1:允许CP1RIF 标志位(CPT1CN.5)的中断请求。 位6: ECP1F:允许比较器1(CP1)下降沿中断。 该位设置CP1 的中断屏蔽。 0:禁止CP1 下降沿中断。 1:允许CP1FIF 标志位(CPT1CN.4)的中断请求。 位5: ECP0R:允许比较器0(CP0)上升沿中断。 该位设置CP0 的中断屏蔽。 0:禁止CP0 上升沿中断。 1:允许CP0RIF 标志位(CPT0CN.5)的中断请求。 位4: ECP0F:允许比较器0(CP0)下降沿中断。 该位设置CP0 的中断屏蔽。 0:禁止CP0 下降沿中断。 1:允许CP0FIF 标志位(CPT0CN.4)的中断请求。 EIE1:扩展中断允许1 位3: EPCA0:允许可编程计数器阵列(PCA0)中断。 该位设置PCA0 的中断屏蔽。 0:禁止所有PCA0 中断。 1:允许PCA0 的中断请求。 位2: EWADC0:允许ADC0 窗口比较中断 该位设置ADC0 窗口比较的中断屏蔽。 0:禁止ADC0 窗口比较中断。 1:允许ADC0 窗口比较中断请求。 EIE1:扩展中断允许1 位1: ESMB0:允许SMBus0 中断 该位设置SMBus0 的中断屏蔽。 0:禁止SMBus0 中断。 1:允许SI 标志位(SMB0CN.3)的中断请求。 位0: ESPI0:允许串行外设接口0 中断 该位设置SPI0 的中断屏蔽。 0:禁止SPI0 中断 1:允许SPIF 标志位(SPI0CN.7)

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档