STC89C51RC系列单片机定时器中断简介

 1、什么是中断?

当CPU正在执行程序时,由于系统出现了某种需要处理的紧急事件,CPU就会暂停正在执行的程序,去执行紧急事件,执行结束再执行原本正在执行的程序,这就是中断。

1.1、中断的作用?
中断增加系统对紧急事件执行的能力,提高了CPU的工作效率。`

1.2、中断源配置介绍

STC89C51RC系列单片机一共有8个中断请求源,分别是外部中断0(INT0),定时器0中断(Timer 0),外部中断1(INT1),定时器1中断(Timer 1),UART串口中断,定时器2中断(Timer 2),外部中断2(INT2),外部中断3(INT3)配置如下:

中断源中断向量      地址查询次序IPH,IP请求标志位允许控制位

INT0

0003H0(highest)PX0H,PX0IE0EX0/EA
Timer 0000BH1PT0H,PT0TF0ET0/EA
INT10013H2PX1H,PX1IE1EX1/EA
Timer 1001BH3PT1H,PT1TF1ET1/EA
UART0023H4PSH,PSRI+TI
Timer 2002BH5PT2H,PT2TF2+EXF2ET2/EA
INT20033H6PX2H,PX2IE2EX2/EA
INT3003BH7(lowest)PX3H,PX3IE3EX3/EA

1.3、中断结构图介绍

如图所示:当中断发生时,中断请求会经过中断允许控制寄存器 IE和中断优先级控制寄存器IPH,

进入CPU内部按照中断源优先级处理不同中断请求。


上图4个外部中断INT0,INT1,INT2,INT3请求中断时,需要先设置相应的触发方式。分别由  TCON和XICON控制。Timer 0,Timer 1,Timer 2则直接指向IE的bit1,bit3,bit5位。UART指向SCON串行口控制寄存器TI和RI。

   TCON:定时器/计数器T0、T1的控制寄存器

B7B6B5B4B3B2B1B0
TF1TR1TF0TR0IE1IT1LE0IT0

IE1:外部中断1请求源标志位   IE1=1,外部中断1向CPU请求中断,当响应中断时,由硬件清“0”。

IE0:外部中断0请求源标志位   IE0=1,外部中断0向CPU请求中断,当响应中断时,由硬件清“0”。

IT1:外部中断1触发方式控制位。当IT1=0时,对应的外部中断触发类型为低电平触发;IT1=1时,对应的外部中断触发类型为跳变沿触发方式。

IT0:外部中断0触发方式控制位。当IT0=0时,对应的外部中断触发类型为低电平触发;IT0=1时,对应的外部中断触发类型为跳变沿触发方式。

  XICON:附加的中断控制寄存器(可位寻址)

B7B6B5B4B3B2B1B0
----IE3IT3----IE2IT2

IE2:外部中断1请求源标志位   IE2=1,外部中断2向CPU请求中断,当响应中断时,由硬件清“0”。

IE3:外部中断0请求源标志位   IE3=1,外部中断3向CPU请求中断,当响应中断时,由硬件清“0”。

IT2:外部中断2触发方式控制位。当IT2=0时,对应的外部中断触发类型为低电平触发;IT2=1时,对应的外部中断触发类型为跳变沿触发方式。

IT3:外部中断3触发方式控制位。当IT3=0时,对应的外部中断触发类型为低电平触发;IT3=1时,对应的外部中断触发类型为跳变沿触发方式。

  SCON:串口控制寄存器

D7D6D5D4D3D2D1D0
SMOSMISM2RENTB8RB8T1

R1

SM0、SM1:串行口工作方式控制位。一般来说串口配置常用工作方式1,具体配置:SCON=0X50;(SM0=0,SM1=1,SM2=0,REN=1)

SMOSMI工作方式功能
00方式08位同步移位寄存器
01方式110位UART
10方式211位UART
11方式311位UART

SM2:多机通信控制位。
多机通信是工作于方式2和方式3,当SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接收到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都会将数据送入SBUF,并发出中断申请。

REN:允许接受位。当REN=1:允许接收;当REN=0:禁止接收。

TB8:发送数据位8
在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。

RB8:接收数据位8(一般配置为0)
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。

TI:   发送中断标志位。在一帧数据发送完时置位。TI=1,申请中断,说明发送缓冲器SBUF已空,CPU可以发送下一帧数据。中断被响应后,TI不能自动清零,必须由软件清零。 ,

RI:   接收中断标志位。在接收到一帧有效数据后,由硬件置位。RI=1,申请中断,表示一帧数据接收结束,并已装入接收缓冲器SBUF中,CPU响应中断,取走数据。RI不能自动清零,必须由软件清零。

    IE:中断允许寄存器

B7B6B5B4B3B2B1B0
EA--ET2ESET1EX1ET0

EX0

EA: CPU的总中断允许控制位。

ET2:定时/计数器T2的溢出中断允许位。

ES :串行口1中断允许位。 

ET1:定时/计数器T1的溢出中断允许位。

EX1:外部中断1中断允许位。

ET0: T0的溢出中断允许位。

EX0:外部中断0中断允许位。

注:以上各bit位,都置1时,允许中断发生;都置0时,禁止中断发生。其中各个bit位置1且EA=1时,中断才会发生。EA相当于电路中的总开关。

    IPH:中断优先级控制寄存器(不可位寻址)

B7B6B5B4B3B2B1B0
PX3HPX2HPT2PSHPT1HPX1HPT0HPX0H

   IP:中断优先级控制寄存器(不可位寻址)

B7B6B5B4B3B2B1B0
PX3PX2PT2PSPT1PX1PT0PX0

通过IPH和IP上各位配置:例如bit0位:(PX0=0,PX0H=0);(PX0=0,PX0H=1);(PX0=1,PX0H=0);(PX0=1,PX0H=1); 按从低到高优先级分被别是:(0,0);(0,1);(1,0);(1,1)即所有的中断都具有4个优先级。

   通过设置IPH相应位,可将优先级分为4级;如果只更改IP或者XICON,中断优先级只有2级。
      以下是中断查询序号:

                                                                             


2、配置中断初始化程序步骤

2.1、配置定时器0中断初始化程序步骤:

2.1配置串口中断初始化程序步骤:


3、配置定时器0中断程序,实现led2在每间隔0.5s的亮灭同时,led1每隔1s亮灭。

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值