当前位置:首页 > 单片机 > 单片机
[导读]单片机常用功能模块的使用-中断

1、单片机中断:

找了一张 80C51 单片机的图如下:

 

其中,在 P3.2、P3.3 的位置,即 12 ,13 引脚处,标有 INT0 和 INT1,那两个引脚就是外部中断的输入。上面一个横杠代表低电平有效,给 P3.2、P3.3 赋值 0,就可以运行已经写好的中断服务程序。具体怎么用,还要熟悉一些中断寄存器的使用。

2、中断寄存器:

(1)、IE (Interrupt Enable):中断允许控制寄存器

 

EA (IE.7):EA=0 时,所有中断禁止(即不允许中断)

EA=1 时,各中断的产生由个别的允许位决定

ET2 (IE.5):定时器 2 溢出中断允许(8052 用,博主用的 STC89C54RD+ 也有)

ES (IE.4):串口中断允许(ES=1 允许,ES=0 禁止,下同)

ET1 (IE.3):定时器 1 中断允许

EX1 (IE.2):外部中断 INT1 中断允许

ET0 (IE.1):定时器 0 中断允许

EX0 (IE.0):外部中断 INT0 中断允许

(2)、IP (Interrupt Priority):中断优先级控制寄存器

 

PX0:外部中断 0 的中断优先级控制位,PX0=1,外部中断 0 被定义为高优先级中断;PX0=0,外部中断 0 定义为低优先级中断

PT0:定时器 T0 的中断优先级控制位,PT0=1,定时器 T0 被定义为高优先级中断;PT0=0,定时器 T0 定义为低优先级中断

PX1:外部中断 1 的中断优先级控制位,PX1=1,外部中断 1 被定义为高优先级中断;PX1=0,外部中断 1 定义为低优先级中断

PT1:定时器 T1 的中断优先级控制位,PT1=1,定时器 T1 被定义为高优先级中断;PT1=0,定时器 T1 定义为低优先级中断

PS:串口中断优先级控制位,PS=1,串口中断被定义为高优先级中断;PS=0,串口中断定义为低优先级中断

(暂时没用过,后续使用再更新)

(3)、TCON (Timer Control Register):定时器/计数器控制寄存器

这个寄存器在前面定时器里遇到过,再备份一下:

 

TF:定时器溢出标志,计数器溢出时硬件自动置位,即 TF=1,进入中断后再由硬件自动清除(TF=0)

TR:计数器的控制位

TR=1:计数器开始工作

TR=0:计数器停止计数

IE:外部中断 INT 的请求标志

当单片机检测到 INT 引脚上有下降沿时,IE=1 申请中断,进入中断服务程序时,硬件自动清除 IE 标志

IT:外中断触发类型控制

IT=1 时,外中断信号的下降沿触发 IE 标志

IT=0 时,外中断信号的低电平触发 IE 标志

3、中断的编程使用:

使用中断,就是说当发生某些事件的时候,运行“中断服务程序”,使用方法如下:

void Timer0_ISR(void) interrupt 1 using 1

{

/* 此处编写中断服务的具体内容 */

}

语句 interrupt x using y 是指:此函数作为“x 号中断”的“中断服务程序”,并且使用“y 号寄存器组”“传递参数”。

首先要清楚:80C51 单片机有 5 个中断源:2 个外部中断、2 个定时器中断(定时器 0 和 定时器 1)、1 个串口中断(8052 有 6 个中断源,多了一个定时器 2 中断),x 即为“中断号”:

 

上面的程序是定时器 0 的中断服务程序,因此是 interrupt 1;要是想按一个键进行中断,那么就是外部中断,因此是 interrupt 0 或者 interrupt 2。

关键字 using,用来指定中断服务程序使用的“寄存器组”。用法是:using 后跟一个 0 到 3 的数,对应着 4 组工作寄存器。一旦指定工作寄存器组,默认的工作寄存器组就不会被压栈,这将节省 32 个处理周期,因为入栈和出栈都需要 2 个处理周期。这一做法的缺点是所有调用中断的过程都必须使用指定的同一个寄存器组,否则参数传递会发生错误。顺便一提,默认使用 0 号寄存器组,即:不写 using y 就会默认 using 0,因为主程序使用 0 号寄存器组做参数传递。

补充:中断入口地址:

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

仪表放大器是电子电路中常用的功能模块,用于测量和放大微弱信号。它具有高放大精度、低噪声和抗干扰等特点,因此在各种电子设备和工程中都得到广泛应用。本文将详细介绍仪表放大器的原理和功能,并探讨如何设计和实现基于仪表放大器的功...

关键字: 仪表放大器 电子电路 功能模块

中断机制在单片机及嵌入式系统中是重中之重,我们必须深入理解。首先我们要明白一点:CPU执行指令代码,并非一直顺序地逐条执行,而是可能突然跳到某段代码上去的。因为这段代码的优先级更高,或者说它更加紧迫,CPU必须暂时放下手...

关键字: 中断 单片机 嵌入式系统

PIC单片机是基于RISC系统结构的单片机,最初的设计是支持PDP(编程数据处理器)计算机。大量的操作可以用来控制外围设备。PIC单片机比微控制器具有更快的程序执行能力。它是由微芯片技术公司于1889年发明的,是一种8位...

关键字: PIC单片机 定时器 中断

STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等。还支持ISP下载,不用编程器,只要一个MAX2...

关键字: 单片机 看门狗 中断

什么是PIC中断程序呢?形象的生活比喻就比如你现在这在看我的文章,突然你的朋友喊你一起去烤地瓜,这时候你就中断了看文章和朋友烤地瓜去了,烤完地瓜之后你又回来看文章。烤地瓜这件事就好比中断程序,他中断了你看文章这件事。在程...

关键字: PIC 中断 标志位

MCS—51系列单片机内部只需两个外部接中断连源输入端,当外部接连源多于两个时,就必须进行拓宽,下面介绍几种简略的拓宽办法:

关键字: 单片机 软件 中断

最近在浏览星球主题的时候,发现一位球友打卡中断了,就去关心了一下他(瞧我这该死的责任心❤️),结果被他反手就问了下面这个问题。

关键字: 中断 Spring Boot 实战项目

摘要:根据煤矿管理流程进行煤矿信息化平台的架构及功能模块建设 ,并运用云技术进行贵州省省级平台的搭建探索 ,打通企 业与各级管理部门之间的沟通障碍 ,有利于提高煤矿企业和管理部门的科学管理水平 ,提高社会资源利用率。

关键字: 功能模块 云模式 行业信息化系统

济南2022年5月2日 /美通社/ -- 手机APP的平均寿命是10个月,而缺少商业化运营的政务类应用则更为"短命"。静默困境 -- 是当下政务应用生存环境的真实写照,突出表现就是用户不打开、不使用,...

关键字: APP 功能模块 数据库 转换率

实质上是加一的计数器。外部脉冲让他不断加一,当计数器溢出时,计数器的溢出相应的中断标志位置1,并向CPU发出中断请求。如果定时器/计数器工作为定时模式,则表示时间以到;如果工作于计数模式,则表示计数器、则表示计数值已满。

关键字: 周期 中断
关闭
关闭