您的位置 首页 发布

80C51单片机中止的编程使用方法介绍

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

1、单片机中止:

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

80C51单片机中止的编程运用方法介绍

其间,在 P3.2、P3.3 的方位,即 12 ,13 引脚处,标有 INT0 和 INT1,那两个引脚便是外部中止的输入。上面一个横杠代表低电平有用,给 P3.2、P3.3 赋值 0,就可以运转现已写好的中止服务程序。详细怎样用,还要了解一些中止寄存器的运用。

2、中止寄存器:

(1)、IE (Interrupt Enable):中止答应操控寄存器

80C51单片机中止的编程运用方法介绍

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):中止优先级操控寄存器

80C51单片机中止的编程运用方法介绍

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):定时器/计数器操控寄存器

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

80C51单片机中止的编程运用方法介绍

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 即为“中止号”:

80C51单片机中止的编程运用方法介绍

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

关键字 using,用来指定中止服务程序运用的“寄存器组”。用法是:using 后跟一个 0 到 3 的数,对应着 4 组作业寄存器。一旦指定作业寄存器组,默许的作业寄存器组就不会被压栈,这将节约 32 个处理周期,由于入栈和出栈都需求 2 个处理周期。这一做法的缺陷是一切调用中止的进程都必须运用指定的同一个寄存器组,不然参数传递会产生过错。趁便一提,默许运用 0 号寄存器组,即:不写 using y 就会默许 using 0,由于主程序运用 0 号寄存器组做参数传递。

弥补:中止进口地址:

80C51单片机中止的编程运用方法介绍

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/344677.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部