微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机系列连载4—中断

51单片机系列连载4—中断

时间:11-27 来源:互联网 点击:
今天介绍51单片机中比较重要的一个环节——中断,所谓中断,就是CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。从应用角度上看,基本后续的很多内容都会用到中断,那就先简单说一下中断。

首先,中断响应条件。有三点:中断源有中断请求、此中断源的中断允许位为1、CPU开中断(即EA=1)。以上三条同时满足时,CPU才有可能响应中断。在此基础上,下面从三个不同的中断进行介绍。

第一,定时器/计数器中断锁存寄存器TCON。如下图所示:



TCON中不同位代表中断的不同标志,具体如下:

IT0(TCON.0),外部中断0触发方式控制位。

当IT0=0时,为电平触发方式。

当IT0=1时,为边沿触发方式(下降沿有效)。

IE0(TCON.1),外部中断0中断请求标志位。

IT1(TCON.2),外部中断1触发方式控制位。

IE1(TCON.3),外部中断1中断请求标志位。

TF0(TCON.5),定时/计数器T0溢出中断请求标志位。

TF1(TCON.7),定时/计数器T1溢出中断请求标志位。

第二,串行口中断。也就是SCON的中断标志,具体如下:


这里主要介绍两个位。RI(SCON.0):串行口接收中断标志位,当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI,注意,RI必须由软件清除。TI(SCON.1):串行口发送中断标志位,当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程,每发送完一个串行帧,由硬件置位TI,CPU响应中断时,不能自动清除TI,TI必须由软件清除。

第三,中断允许控制。在51单片机中,中断允许和禁止都是由寄存器控制的,中断允许寄存器(IE)的字节地址为A8H,其格式如下:

其中:

EX0(IE.0),外部中断0允许位;

ET0(IE.1),定时/计数器T0中断允许位;

EX1(IE.2),外部中断0允许位;

ET1(IE.3),定时/计数器T1中断允许位;

ES(IE.4),串行口中断允许位;

EA(IE.7),CPU中断允许(总允许)位。

另外,中断函数不需要声明,比如voidexter0()interrupt0(01234分别对应的是外部中断0、定时器/计数器T0、外部中断1、定时器/计数器T1、串行口中断)

{

d1=0;

}这个中断函数在前面是不需要声明的,这个比较特殊,需要引起注意。

中断的应用有很多,最典型的就是定时器,这个下次再说吧!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top