51汇编(八):外部中断

本文介绍了51单片机的中断机制,重点讲解了外部中断的原理、中断源、中断寄存器和中断地址。外部中断包括低电平触发和下降沿触发,中断控制寄存器如IE0、IT0等控制中断请求和触发方式,中断允许控制寄存器如EA、EX0等决定中断是否被响应。内容还包括如何配置外部中断0并提供了中断响应函数的示例。
摘要由CSDN通过智能技术生成

中断

中断是一种计算机内部机制,常用于处理突发事件(优先级高的事件)。
在这里插入图片描述
下图是中断机制的原理图,计算机自动检测五个中断标志,判断是否有中断请求,再判断是否允许响应该中断请求,最后去执行中断响应函数。
我们可以把中断机制理解为一间房子,首先我们需要记住两道门:小门和大门。小门有五扇,指的是5个源允许位;大门只有一扇,指的是总允许位。大门不开,谁都进不来,大门开了,小门锁上,对应的房间也进不去;因此只有当大门和小门同时打开,才能完成一次中断响应(中断允许)。其次这房子还有一个特点,就是同一个时间只能进去一个人,因此如果有两个人(两个中断请求)同时要求进入,且两扇门都是打开的,这时管家(单片机)就会把这两人分为等级,等级高的先进入,我们也可以不按照管家的分级(默认优先级),自己为五个人分级(优先级控制器)。至此,中断机制就差不多了。
在这里插入图片描述

中断源

中断机制由中断源中断响应函数组成,AT89C52单片机的中断源有两个外部中断三个内部中断

中断源(默认优先级):

  • 外部中断0 (外部中断) 最高优先级
  • 定时器0中断 (内部中断)
  • 外部中断1 (外部中断)
  • 定时器1中断 (内部中断)
  • 串口中断 (内部中断) 最低优先级

本篇主要讲外部中断,不考虑自定优先级,不考虑同时发生。

中断寄存器

  • 中断控制寄存器
    在这里插入图片描述
    外部中断0/1:

    • IE0/1:外部中断0/1请求标志位,如果出现中断信号,该位由硬件置1。
    • IT0/1:外部中断0/1触发方式控制位,0为低电平触发,1为高电平触发。

    定时器0/1:

    • TF0/1:定时器0/1溢出标志位,计数器溢出则该位由硬件置1.
    • TR0/1:定时器0/1启动位,0不允许运行,1允许运行。
      在这里插入图片描述

    串口中断:

    • RI:接收中断
    • TI:发送中断
  1. 中断允许控制寄存器
    在这里插入图片描述
  • EA:中断总允许
  • EX0:外部中断0中断允许位
  • ET0:定时器0中断允许位
  • EX1:外部中断1中断允许位
  • ET1:定时器1中断允许位
  • ES:串口中断允许位
    以上各位置1为允许
  1. 中断优先级控制寄存器(本篇不讲)

中断地址

一旦触发了中断,单片机就会到指定的地点去寻找中断响应函数,这个固定的地方就叫做中断地址。

地址 功能
0003H—000AH 外部中断0
000BH—0012H 定时/计数器0中断
0013H—001AH 外部中断1
001BH—0022H 定时/计数器1中断
0023H—002AH 串行中断
002BH—0032H 定时/计数器2中断

外部中断

外部中断有两种触发方式,分别为低电平触发下降沿触发(我们通常使用下降沿触发),具体到单片机就是P3.2(外部中断0)P3.3(外部中断1)
在这里插入图片描述
配置外部中断0:

  1. 设置下降沿触发,打开两扇门(允许位置1)
SETB	IT0
SETB	EX0
SETB	EA
  1. 中断响应函数
ORG		03H
AJMP	EX0_INTERRUPT
……
……
EX0_INTERRUPT:
PUSH	ACC
PUSH	PSW
……
……
POP		PSW
POP		ACC
RETI

例程:

ORG		0000H
AJMP	START
ORG		0003H					;外部中断0
  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值