第5章(1)-外部中断_第1页
第5章(1)-外部中断_第2页
第5章(1)-外部中断_第3页
第5章(1)-外部中断_第4页
第5章(1)-外部中断_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用物理与电子工程学院:李刚

手机程QQ群:131314607

第5章(1)---外部中断中断的基本概念二.中断涉及的SFR三.外部中断工作方式四.小结2中断的比喻任何一件事情的发生都会中断小林看电视的进程而去响应和处理事件。例如,邮递员上门送信,小林必须去开门签收信件,当事件处理完后,小林回去接着看电视。这里,小林比喻的就是单片机,而5个可能发生的事件为单片机的5个中断源——外部中断0、外部中断1、Timer0中断、Timer1中断、串行通信中断。中断的基本概念中断的基本概念中断服务的指挥——中断向量表89C51单片机有5个中断源:外部中断0(/INT0)、外部中断1(/INT1)、Timer0中断(TF0)、Timer1中断(TF1)、串行通信中断(RI/TI)。当中断使能后,任何一个中断发生时单片机都会到上表所示的对应地址上去执行中断服务子程序。中断的基本概念中断的响应及处理51单片机的中断源有5种,也就是说有5种方式使单片机产生中断。当一个中断产生时,单片机会按以下的步骤进行响应与处理。①立即暂停当前正在执行的任何指令,并把下一条将要执行的指令地址压入堆栈中。②根据中断的类型在中断向量表中找到对应的地址。③到该地址上开始执行中断服务子程序,直到遇到指令“RETI”,中断服务子程序结束。④执行完中断服务子程序后,从堆栈中弹出在中断产生时保存的将要执行的下一条指令的地址到程序计数器PC中,单片机开始从PC指示的地址继续执行程序。中断的基本概念中断的响应及处理一个潜在的问题:每一个中断服务子程序的存放空间都非常有限,例如,外部中断0的中断向量为0003H,而Timer

0中断向量地址为000BH,可见外部中断0的中断服务子程序只有000BH-0003H=8个字节的空间来存放,这8个字节的空间实在也放不了几条指令。解决这个问题:可以把指令“ORG”与跳转指令“JMP”结合来实现中断服务子程序的跳转,从而在另一个更为广阔的的空间中来放置中断服务子程序。二.中断涉及的SFR单片机上电复位之后,默认所有中断都被屏蔽(关闭),这意味着即使任何一种中断产生,单片机也不会去响应。为了使单片机能对中断进行响应,或者说使能中断,需要对中断使能寄存器IE进行操作。中断使能寄存器IE是一个特殊功能寄存器,位于特殊功能寄存器区的地址A8H上。二.中断涉及的SFR中断使能寄存器IE中断使能寄存器IE的操作:①IE的位7是EA,是所有中断的“总开关”。只有EA=1时,中断才会开放,这时IE中的其他位将使能或屏蔽某一个中断。如果EA=0,所有中断都不会被响应(全被屏蔽)。②

如果EA=1时,相应的中断由IE中相应的位来控制。控制位置1使能中断;清0则屏蔽中断。9中断优先级如果有两个或两个以上的中断同时产生,单片机该先服务方便呢?89C51单片机有一个默认的中断优先级,外部中断0的中断优先级最高,串行通信中断优先级最低,其他中断的优先级依次按表中排列依次降低。例如,Timer0中断和外部中断1如果同时产生,单片机会先去响应Timer0中断并处理它的中断服务子程序。完成之后再响应外部中断1,进入相应的中断服务子程序。

二.中断涉及的SFR10二.中断涉及的SFR中断优先级如果想改变中断优先级顺序,可通过对中断优先级控制寄存器IP设置来完成。寄存器IP位于特殊功能寄存器区的地址B8H上是专门用于设置单片机中断优先级的寄存器。二.中断涉及的SFR■

外部中断0(/INT0)和外部中断1(/INT1)89C51单片机的/INT0端(12管脚)和/INT1端(13管脚)是外部中断信号进入单片机的通道。外部中断0和外部中断1的中断服务子程序入口地址,即中断向量分别为0003H和0013H。这两个外部中断分别由中断使能寄存器IE中的EX0和EX1位来使能或屏蔽。外部的脉冲信号或按钮开关S1都可以作为中断信号输入到/INTx端使单片机产生中断。二.中断涉及的SFR外部中断的低电平触发使单片机产生外部中断的信号有两种方式,一是低电平触发,二是下降沿触发。当单片机上电复位后,使能外部中断时就默认以低电平方式触发。在低电平触发模式下,外部中断信号输入端/INT0和/INT1出现低电平就会触发外部中断0或外部中断1。外部中断产生时,单片机会立即停止正在执行的指令,并根据中断向量表中的中断向量转入相应的地址执行外部中断服务子程序。在单片机进入中断服务子程序执行并在中断结束指令“RETI”之前,这个低电平必须撤走,否则将会使单片机执行完指令“RETI”后因/INT0或/INT1仍为低电平而再次进入中断服务子程序。二.中断涉及的SFR这样看来,低电平的保持时间太长会造成中断服务子程序重复被执行的问题。那如果低电平的时间太短会有什么问题?根据单片机的技术文档,一般为保证单片机对外部中断信号的相应,低电平的时长至少需要4个机器周期。外部中断的下降沿触发除了低电平触发外,边沿触发也是一种常用的触发外部中断的模式。在该模式下,/INT0端或/INT1端出现下降沿即可使单片机产生中断。与低电平触发不同,下降沿触发方式不是单片机默认的中断触发方式,所以需要指令来设置单片机工作在该模式下。方法是通过Timer控制寄存器TCON中的IT0位和IT1位来分别控制/INT0和/INT1触发方式。二.中断涉及的SFR二.中断涉及的SFR低电平与下降沿触发的区分:在低电平触发方式下,如果单片机正在执行中断服务子程序时,外部中断再次发生,由于电平触发信号不会被锁存,所以单片机在执行本次中断服务子程序后不会响应执行期间产生的中断。在下降沿触发方式下,如果单片机正在执行中断服务子程序时,外部中断再次发生,下降沿带来的中断信号将保存在TCON寄存器的IE位中,并且一直维持着,等单片机执行完本次中断服务子程序之后自动检测IE位,发现在中断服务子程序执行期间又发生了一次中断,则单片机又进入中断服务程序中再次执行。所以,可以粗略地归纳为:单片机执行中断服务子程序时,低电平触发方式会“漏掉”新的中断,而下降沿触发方式会“保留”新的中断。三.外部中断工作方式实例1.外部0中断实验,低电平触发,中断一次,小灯向下移动一次。三.外部中断工作方式程序:现象:按一次按键移动多次,原因就是执行了多次中断措施:等待按键弹起,是否还有其他方法?注意:默认触发方式是低电平触发,程序中没有显示写出IT0=0三.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论