- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]第五章中断与数码管
第五章 中断和定时系统 中断的好处 提高CPU的效率 CPU有了中断功能,可以通过分时操作,启动动个外设同时工作,并能对它们进行统一管理. CPU在和外设交换信息时通过中断就可以避免不必要的等待和查询,从而大大提高了它的工作效率。 中断程序举例。在图4-2中,P1口的八个引脚(P1.0~P1.7)上各接了一个发光二极管,外部中断引脚上接一单脉冲。用单脉冲作中断源,每来一个单脉冲,点亮的发光二极管向下移动一位。编程实现。 中断源 8051的五级中断分为二个外部中断、二个定时器溢出中断和一个串行口中断。 外部中断源 外中断是由单片机外部原因引起的,共有两个中断源,既外部中断0和外部中断1。它们的中断请求信号分别由引脚(P3.2)和(P3.3)引入。 外部中断请求信号有两种方式触发中断系统工作,既电平方式和脉冲方式。可通过有关控制位的定义进行规定。 电平触发方式: 是低电平有效。只要单片机在中断请求信号输入端上采样到有效的低电平,就激活外部中断。(INT0或P3.2 ,INT1或P3.3) 脉冲触发方式: 是在脉冲的下降沿有效。既单片机在连续两次对中断信号(P3.2或P3.3)的采样中,如前一次为高电平,后一次为低电平,即为一次有效的中断请求信号。 中断标志 89C51在每个机器周期的固定时间检测(或接收)外部(或内部)中断源发生的中断请求信号后,先使相应中断标志位置位,然后便在下个机器周期检测这些中断标志位状态,以决定是否响应该中断。 定时器控制寄存器TCON 定时器控制寄存器TCON 定时器控制寄存器TCON 各位介绍如下: IT0和IT1: IT0为中断触发方式标志位,位地址是88H。IT0状态可由用户通过指令设定:若使IT0=0,则中断靖求信号的中断触发方式为电平触发(即低电平引起中断);若IT0=1,则设定为下降沿中断触发方式(即由下降沿引起中断)。IT1的功能和IT0相同,仅是被设定的外部中断触发方式为中断1不是而是中断0,位地址为8AH。 IE0和IE1: IE0为外部中断中断请求标志,位地址是89H。当CPU每个机器周期检测一次,当检测到引脚上的状态为中断请求有效时,IE0则硬件自动置位;当CPU响应上中断请求后进入相应中断服务程序执行时,IE0被自动复位。IE1为外部中断 的中断请求标志位,位地址为8BH,其作用和IE0相同。 对中断允许的控制 中断的开放和关闭是通过中断允许寄存器IE进行两级控制的。所谓两级控制是指有一个中断允许总控位EA,配合各中断源的中断允许控制位共同实现对中断请求的允许控制。这些中断允许控制位在寄存器IE中,如下所示 这些中断允许控制位在寄存器IE中,如下所示。 对中断允许的控制寄存器IE EA: 中断允许总控制位。EA=0,屏蔽所有中断请求;EA=1,CPU开放中断,对各中断源的中断请求是否允许,还取决于各中断源的中断允许控制位的状态。 如下字节传送指令来开放外部中断的溢出中断: MOV IE, #81H 若改为位寻址指令,则需采用两条指令: SETB EA SETB EX0 应当指出,在MCS-51复位时,IE各位被复位成“0”状态,CPU因此而处于关闭所有中断请求。所以,在MCS-51复位以后,用户必须通过主程序中的指令来开放所需中断,以便相应中断请求到时为CPU所响应。 中断处理过程 中断处理过程可分为三个阶段:中断响应、中断处理和中断返回。 中断响应操作过程 CPU在判断了中断响应的条件后开始响应中断。 1)把中断点的地址(断点地址),也就是当前程序计数器PC中内容压入堆栈,以便指行到中断服务程序中的RETI指令时按此地址返回原程序指行; 2)关闭该中断,以防在响应中断期间受到再次中断请求的干扰; 3)根椐中断源入口地址(如表4-2所列)转入相应中断服务程序指行(即相当于执行一条长转移指令) 中断处理 CPU响应中断结束后即转至中断服务程序的入口。从中断服务程序的第一条指令开始到返回指令为止,这个过程称为中断处理或中断服务,即执行中断服务子程序。一般情况下,中断处理包括两部分内容:一是保护现场,二是为中断源服务。 现场: 通常是指在主程序中已经使用的一些寄存器,如PSW、工作寄存器、特殊功能寄存器等,如果在中断服务程序中又要用到这些寄存器,则在进入中断服务之后应先将它们的内容保护起来(保护现场),再使用这些寄存器。同时在中断结束,执行RETI指令之前应恢复现场。 五个中断源的入口地址之间,只相隔8个存储单元,一般中断服务程序是容纳不下的,因而最常用的方法是在中断入口地址单元处存放一条无条件转移指令,而转至存储器(64K范围内)其他的任何空间,并将中断服务程序安
原创力文档


文档评论(0)