MCS-51单片机外中断软件编程-基础电子_第1页
MCS-51单片机外中断软件编程-基础电子_第2页
MCS-51单片机外中断软件编程-基础电子_第3页
MCS-51单片机外中断软件编程-基础电子_第4页
MCS-51单片机外中断软件编程-基础电子_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

精品文档-下载后可编辑MCS-51单片机外中断软件编程-基础电子

MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中断软件编程。

外中断是由外部原因引起的中断,有两个中断源。即外中断0(INT0)和外中断1(INT1),中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。

外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进行规定。

电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。

脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入端进行采样中,如前为高,后为低即为有效中断请求。这就要求在这种中断方式,中断请求信号的脉冲宽度必须大于一个机器周期,以保证电平变化能被单片机采样到。

定时器控制寄存器(TCON)

外中断请求方式的控制位在定时控制寄存器TCON(地址为88H)中的位88(IT0)和位8A(IT1)两个位,当IT0(IT1)=0为电平方式,IT0(IT1)=1为脉冲方式。同时在此寄存器中的位89(IE0)和位8B(IE1)为外中断请求标志位,当CPU采样到INT0(INT1)端出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。

定时器控制寄存器(TCON)

位地址8F8E8D8C8B8A8988

位符号TF1TR1TF0TR0IE1IT1IE0IT0

中断允许控制寄存器(IE)

中断允许控制寄存器(IE)

位地址AFAEADACABAAA9A8

位符号EA//ESET1EX1ET0EX0

下面我们对有关控制位作说明:

·EA——中断允许总控制位,EA=0,中断总禁止,禁止所有中断。EA=1,中断总允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。

·EX0(EX1)——外部中断允许控制位,EX0(EX1)=0,禁止外部中断。EX0(EX1)=1,允许外部中断。

·ET0(ET1)——定时/计数中断允许控制位,ET0(ET1)=0,禁止定时/计数中断。ET0(ET1)=1,允许定时/计数中断。

·ES——串行中断允许控制位,ES=0,禁止串行中断。ES=1,允许串行中断。

中断的允许和禁止就是中断的开放和关闭,中断允许就是开放中断,中断的禁止就是关闭中断。从以上说明我们可看出,MCS-51的中断允许是通过两级控制的,以EA位作为总中断控制位,以各中断控制位为分控制位。当总中断位为禁止状态时,不管分控制位是允许或禁止整个中断都是禁止的。只有当EA=1(允许)时,才能由各分控制位设置各自的中断允许与禁止。MCS-51单片机复位后,IE=00H,因此中断处于禁止状态。

值得一提的是:单片机中断响应后不会自动关闭中断,因此在转入中断服务程序后,应由软件指令禁止中断。

中断优先级控制寄存器(IP)

MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。

中断优先级控制寄存器(IP)

位地址BFBEBDBCBBBAB9B8

位符号///PSPT1PX1PT0PX0

·PX0——外中断0(INT0)优先级控制位。

·PT0——定时中断0(T0)优先级控制位。

·PX1——外中断1(INT1)优先级控制位。

·PT1——定时中断1(T1)优先级控制位。

·PS——串行中断(ES)优先级控制位。

控制位=0,优先级为低。控制位=1,优先级为高。

中断优先级是为了中断嵌套服务的,控制原则为:

(1)低优先级中断不能打断高优先级的中断服务,而高优先级的中断服务可以打断低优先级的中断服务。

(2)同级的中断已经响应,其他中断将被禁止。

(3)如果同级的多个中断源同时出现,CPU将按查询次序确定哪个中断被响应,次序为:外中断0→定时中断0→外中断1→定时中断1→串行中断。

中断控制寄存器的状态设置

在应用中,我们可以通过相应的控制寄存器来使用中断系统,因此从使用的角度上看,这些控制寄存器是面向用户的。这些控制寄存器既可以进行字节寻址,也可以进行位寻址,也就是对位状态的寻址既可以使用字节操作指令也可以使用位操作指令,例如:

MOVIE,#81H

如使用位操作指令,也可写为:

SETBEA

SETBEX0

对于一般的外中断程序,我们可以这样安排:

ORG0000H;主程序入口

START:AJMPMAIN

ORG0003H;外中断程序入口

温馨提示

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

评论

0/150

提交评论