51系列单片机一定具有基本的5个中断_AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计 Allegro,pads,PCB电路板设计,硬件及芯片资料分享—小北设计

51系列单片机一定具有基本的5个中断

51单片机 by AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计

151单片机中断基本介绍

单片机一定具有基本的5个中断,分别为外部中断0/1(INT0/IN0/1(Timer0/TImer1)和串口中断(UART),详解如下:

INTO—外部中断0,由P3.2端口线引入,低电平或下降沿引起;

INT1—外部中断1,由P3.3端口线引入,低电平或下降沿引起;

T0—定时器 / 计数器0中断,由T0计数器计满回零引起;

 T1—定时器 / 计数器1中断,由T1计数器计满回零引起;

T1 / RI—串行口中断,串行端口完成一帧字符发送 / 接收后引起

51系列单片机一定具有基本的5个中断

通用寄存器(IE和IP)

I、中断允许寄存器IE

IE:中断允许寄存器(可位寻址)

IE  EA  -  ET2  ES  ET1  EX1  ET0  EX0

EA:CPU的总中断允许控制位,EA=1CPU开放中断,EA=0CPU屏蔽所有的中断申请。EA的作用是使中断允许形成两级控制。即各中断源首先受EA控制;其次还受各中断源自己的中断允许控制位控制。

ET2:定时/计数器T2的溢出中断允许位。ET2=1,允许T2中断;ET2=0,禁止T2中断。

ES :串行口1中断允许位。ES=1,允许串行口1中断;ES=0,禁止串行口1中断。

ET1:定时/计数器T1的溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。

EX1:外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。

ET0:TO的溢出中断允许位。ET0=1,允许TO中断;ET0=0禁止TO中断。

EX0:外部中断0中断允许位。EX0=1,允许中断:EX0=0禁止中断。


Ⅱ、中断优先级寄存器IP

 -  -  -   PS  PT1  PX1  PT0  PX0

-一无效位。

PS一串行口中断优先级控制位。

PS=1,串行口中断定义为高优先级中断。

PS=0,串行口中断定义为低优先级中断。

PT1-定时器/计数器1中断优先级控制位。

PT1=1,定时器/计数器1中断定义为高优先级中断。

PT1=0,定时器/计数器1中断定义为低优先级中断。

PX1-外部中断1中断优先级控制位。

PX1=1,外部中断1定义为高优先级中断。

PX1=0,外部中断1定义为低优先级中断。

PT0一定时器/计数器0中断优先级控制位。

PT0=1,定时器/计数器0中断定义为高优先级中断。

PT0=0,定时器/计数器0中断定义为低优先级中断。

PX0-外部中断0中断优先级控制位。

PX0=1,外部中断0定义为高优先级中断。

PX0=0,外部中断0定义为低优先级中断。


51单片机特殊功能寄存器(TCON、TMOD、SCON和PCON)


定时器/计数器工作方式寄存器TMOD

GATE  C/T M1 M0  GATE  C/T   M1  M0

TMOD的高4位用于设置定时器1,低4位用于设置定时器0,对应4

位的含义如下:

GATE一门控制位。

GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制。

GATE=1,定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚

(INTO或INT1)上的电平状态来共同控制。

C/T-定时器模式和计数器模式选择位。

C/T=1,为计数器模式;C/T=0,为定时器模式。

M1M0一工作方式选择位。

每个定时器/计数器都有4种工作方式,它们由M1M0设定,

M1=0 M0=0方式0,为13位定时器/计数器

M1=0 M0=1方式1,为16位定时器/计数器

M1=1 M0=0方式2,8位初值自动重装的8位定时器/计数器

M1=1 M0=1方式3,仅适用于TO,分成两个8位计数器,T1停止计数


定时器/计数器控制寄存器TCON

TF1 TR1 TF0 TR0 IE1  IT1  IE0 IT0

(1)TF1、TF0—计数溢出标志位 当计数器计数溢出时,该位置“1”。使用查询方式时,此位作为状态位供CPU查询,但应注意查询有效后,应使用软件及时将该位清“0”。使用中断方式时,此位作为中断请求标志位,进入中断服务程序后由硬件自动清“0”。

(2)TR1、TR0—计数运行控制位 TR1位(或TR0位)=1,启动定时器工作的必要条件。 TR1位(或TR0位)=0,停止定时器工作。 该位可由软件置“1”或清“0”

低四位功能:(外部中断)

IE1:外部中断1请求标志位,当外部中断1被触发时置1。
  IT1:外部中断1触发方式选择位。当IT1=0,为低电平触发方式;当IT1=1,为下降沿触发方式。
  IE0:外部中断0请求标志位,当外部中断0被触发时置1。
  IT0:外部中断0触发方式选择位。 当IT0=0,为低电平触发方式;当IT0=1,为下降沿触发方式。


SBUF为串行口数据缓冲寄存器,分为SBUFSBUF不需要配置

 

串行控制寄存器SCON

SM0/FE  SM1  SM2  REN  TB8  RB8 TI  RI

SM0/FE:当PCON寄存器中的SMOD0/PCON.6位为1时,该位用于帧误检测。

无效停止位时,通过UART接收器设置该位。它必须由软件清零。

PCON寄存器中的SMOD0/PCON.6位为0时,该位和SM1一起指定串行通信的工作

其中SM0、SM1按下列组合确定串行口的工作方式:

SM0=0,SM1=0 方式0 波特率是SYSclk/12,

SM0=0,SM1=1 方式1 (2SMOD/32)x(定时器1的溢出率)

SM0=1,SM1=0方式2(2SMOD/ 64) x SYSclk系统工作时钟频率

SM0=1,SM1=1 方式3 (2SMOD/32)x(定时器1的溢出率)

当单片机工作在12T模式时,定时器1的溢出率=SYSclk/12/(256-TH1):

当单片机工作在6T模式时,定时器1的溢出率=SYSclk/6/(256-TH1)

SM2:允许方式2或方式3多机通信控制位。在方式2或方式3时,如SM2位为1,REN位为1,则从机处于只有接收到RB8位为1(地址帧)时才激活中断请求标志位RI为1,并向主机请求中断处理。被确认为寻址的丛机则复位SM2位为0,从而才接收RB8为0的数据帧。

在方式1时,如果SM2位为1,则只有在接收到有效的停止位时才置位中断请求标志位RI为1:在方式0时,SM应为0。


REN:允许/禁止串行接收控制位。由软件置位REN,即REN=1为允许串行接收状态,可启动串行接收器RxD,开始接收信息。软件复位REN,即REN=0,则禁止接收。

TB8:在方式2或方式3,它为要发送的第9位数据,按需要由软件置位或清0。例如,可用作数据的校验位或多机通信中表示地址帧/数据帧的标志位。

RB8:在方式2或方式3,是接收到的第9位数据。在方式1,若SM2=0,则RB8是接收到的停止位。方式0不用RB8:

TI:发送中断请求标志位。在方式0,当串行发送数据第8位结束时,由内部硬件自动置位,即TI=1,向主机请求中断,响应中断后必须用软件复位,即TI=0。在其他方式中,则在停止位开始发送时由内部硬件置位,必须用软件复位。

RI:接收中断请求标志位。在方式0,当串行接收到第8位结束时由内部硬件自动置位RI=1,向主机请求中断,响应中断后必须用软件复位,即RI=0。在其他方式中,串行接收到停止位的中间时刻由内部硬件置位,即RI=1(例外情况见SM2说明),必须由软件复位,即RI=0。

我们用工作方式1,对SCON,SM0和SM1用于确认工作方式,由上图可知分别为0,1;其他的均为默认值即可,则SCON = 0100 0000 = 0x40


电源控制寄存器PCON中的SMOD用于设置方式1、方式2、方式3的波特率是否加倍,不可位寻址,详解如下:


SMOD  SMODO  POF  GF1  GF0  PD  IDL

SMOD:波特率选择位。当用软件置位SMOD,即SMOD=1,则使串行通信方式123的波特率加倍:SMOD=0,则各工作方式的波特率加倍。复位时SMOD=0

SMOD0:帧错误检测有效控制位。当SMOD0=1SCON寄存器中的SM0/FE位用于FE(帧错误检测)功能:SMOD0=0SCON寄存器中的SM0/FE位用于SM0功能,SM1一起指定串行口的工作方式。复位时SMOD0=0

以上是51系列单片机各个通信中断的基本描述。更多的内容尽在小北设计


    Message:

    Name:
    Email:
    Content:
PgUP ...
Allegro,pads,PCB电路板设计,电源模块件及stm32,嵌入式,单片机资料分享—小北设计