外部中断原理

外部中断:当CPU正在按主程序运行时,外部发生了紧急事件,向CPU发送中断请求来优先处理紧急事件,当CPU处理完紧急事件后再继续从主程序断开的地方运行程序。发出中断请求的源称为中断源,不同的中断源具有不同的优先级别,当CPU同时接收到多个中断源时,优先处理优先级高的中断请求。中断也可以嵌套,例如CPU正在处理某个低优先级的中断时发生了更高优先级的中断请求,那么CPU会先去处理高优先级的中断请求,处理完毕后再继续处理低优先级中断请求,最后再返回主程序中断点继续执行下面的程序。

                                                          中断发生原理图

中断优先级

 

外部中断配置

IT0和IT1:选择中断触发的方式,当ITX=1时为下降沿触发,即发生电平下降就触发,若发生抖动则会多次触发,当ITX=0时为低电平触发,即当外部输入低电平时触发,若外部输入持续为低电平则会多次触发

 EX1和EX0:外部中断允许位,置1才允许触发外部中断

EA:总中断允许位,置1时才允许发生中断

PX0和PX1:选择优先级,例如:当PX1=1时,设定外部中断1为高优先级中断。IP的设置是相对于整个中断系统而言的,若是只有一种中断发生则可以不配置IP,若是发生多种中断,涉及中断嵌套时,用于设定哪一中断先执行。

 TCON配置(可位寻址)

高四位用于配置定时器/计数器,低四位用于配置外部中断

IE配置(可位寻址)

 中断号

例如外部中断0的配置:

#include <regx52.h>


void exti0_Init()
{
	IT0=1;     //触发方式为下降沿
	EA=1;      //打开总中断
	EX0=1;	   //打开INT0的中断允许
}

//void exti0() interrupt 0    //外部中断0的中断函数
//{
//	//执行相应操作
//}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值