微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

关于51单片机而言,五个中断源如何设置优先级呢?

2020-02-11 09:15 来源:互联网 编辑:Emma

在从事51单片机的工程师而言,里面包含五个中断源,那么他们的优先级该如何设置?

51单片机包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置。

关于51单片机而言,五个中断源如何设置优先级呢?

● PX0(IP.0),外部中断0优先级设定位;

● PT0(IP.1),定时/计数器T0优先级设定位;

● PX1(IP.2),外部中断0优先级设定位;

● PT1(IP.3),定时/计数器T1优先级设定位;

● PS (IP.4),串行口优先级设定位;

● PT2 (IP.5) ,定时/计数器T2优先级设定位。

关于51单片机而言,五个中断源如何设置优先级呢?

从上图里我们可以看出:

EA是中断控制位。EA=1,开放中断;EA=0,屏蔽所用中断(编程时人为设定)。

那EA是在哪里进行设置的呢?它就是在IE(中断允许寄存器)里进行设定的。

关于51单片机而言,五个中断源如何设置优先级呢?

第七位就是EA,剩下的还有第四位的ES,第三位的ET1,第二位的EX1,第一位的ET0和第零位的EX0。

是不是在上图中都能看到他们的影子?没错,要不IE能称为中断允许寄存器嘛。它先设定总允许中断,然后再设定其它中断是否允许。

接下来我们再来看其它中断允许位。

ES是串行口中断开放控制位。ES=1,响应串行口中断;ES=0,禁止串行口中断。

ET1是T1溢出中断开放控制位。ET1=1,响应T1溢出产生的中断;ET1=0,禁止T1溢出产生的中断。

EX1是外部中断1开放控制位。EX1=1,响应外部中断;EX1=0,禁止外部中断。

ET0的功能同ET1,对应T0。

EX0的功能同EX1,对应外部中断0。

这样,中断是否开启就由你说了算了,你要用什么直接就可以控制对应的中断和总中断EA就可以了。

现在我们开启了中断,cpu就会检测对应的中断是否到来,那如何检测的呢?接下来我们就要用到另外几个有用的位了。

关于51单片机而言,五个中断源如何设置优先级呢?

TCON的第七位TF1,第五位TF0,第三位IE1,第一位IE0。

关于51单片机而言,五个中断源如何设置优先级呢?

SCON的第一位TI,第零位RI。

RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。

TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。

TF1:T1当定时时间到或是当计数个数到的时候,会触发TF1位,然后CPU检测TF1位,执行对应的中断,响应中断后,硬件清零。

TF0:对应于TF1。

IE1:外部中断请求标志,外部中断执行,请求中断,对应IE1=1,CPU响应中断,硬件对IE1清零。

IE0:对应IE1。

但是对于外部中断,却有两种中断触发方式:

一种是低电平触发;

一种是下降沿触发。

对于不同情况要进行不同的控制,如何在两种方式间进行选择呢?

我们看TCON的第二位和第零位是没有用的,就是他们两个,第二位IT1对应外部中断1,第零位IT0对应外部中断0,给他们高电平就为下降沿触发,给他们低电平就为低电平触发。

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006