80C51的中断系统 – 定时/计数器

中断系统——80C51单片机学习笔记

  • 中断的概念
    • 中断系统的结构
    • 中断请求标志
      • 1、TCON的中断标志
      • 2、SCON的中断标志位
    • 80C51中断的控制
      • 中断允许控制——IE
      • 中断优先级控制——IP
      • 中断优先级的原则
  • 80C51的定时/计数器
    • 一、定时/计数器的结构
    • 二、定时/计数器的工作原理
    • 三、定时/计数器的控制
      • 1、工作方式寄存器TMOD
      • 2、控制寄存器TCON
    • 四、定时/计数器的工作方式
      • 1、方式O
      • 2、方式1
      • 3、方式2
      • 4、方式3
    • 五、定时/计数器应用举例
  • 补充说明
    • 中断响应的条件为:
    • 中断服务函数要与中断一一照应

本篇略长,请以目录为导航;这是我观看郭天祥老师的单片机视频后的整体汇结;

中断的概念

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
CPU暂停中断当前的工作,转去处理事件B(中断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回);
这一过程称为—— 中断

80C51的中断系统 - 定时/计数器

中断系统的结构

80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套。

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溢出中断请求标志位

2、SCON的中断标志位

IE各位
EXO(IE.0),外部中断0允许位;
ETO(IE.1),定时/计数器TO中断允许位;
EX1(IE.2),外部中断0允许位;
ET1(IE.3),定时/计数器T1中断允许位;
ES(IE.4),串行口中断允许位;
EA(IE.7),CPU中断允许(总允许)位。

中断优先级控制——IP

80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。

IPH
PXO (IPH.0),外部中断0优先级设定位;
PTO (IPH.1),定时/计数器TO优先级设定位;
PX1 (IPH.2),外部中断0优先级设定位;
PT1 (IPH.3),定时/计数器T1优先级设定位;
PS (IPH.4),串行口优先级设定位;
PT2 (IPH.5),定时/计数器T2优先级设定位。

中断优先级的原则

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,排列如下:

80C51的中断系统 - 定时/计数器
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制TO、T1的启动和停止及设置溢出标志

二、定时/计数器的工作原理

加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是TO或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TFO或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值
■设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t
■设置为计数器模式时,外部事件计数脉冲由TO或T1引脚输入到计数器。在每个机器周期的S5P2期间采样TO、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2us。

三、定时/计数器的控制

80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。

1、工作方式寄存器TMOD

工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于TO,高四位用于T1。其格式如下:

80C51的中断系统 - 定时/计数器

2、控制寄存器TCON

TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:

80C51的中断系统 - 定时/计数器
定时器模式时有:N = t / Tcy
计数初值计算的公式为 : X=213 – N
定时器的初值还可以采用计数个数直接取补法获得。
计数模式时,计数脉冲是TO引脚上的外部脉冲

门控位GATE具有特殊的作用。当GATE=O时,经反相后使或门输出为1,此时仅由TRO控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TRO共同控制。当TRO=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。

2、方式1

方式1的计数位数是16位,由TLO作为低8位、THO作为高8位,组成了16位加1计数器。

80C51的中断系统 - 定时/计数器
计数个数与计数初值的关系为: X=28 – N
工作方式2特别适合于用作较精确的脉冲信号发生器。

4、方式3

方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。

80C51的中断系统 - 定时/计数器

补充说明

中断响应的条件为:

1. 中断源有中断请求;
2. 此中断源的中断允许位为1
3. CPU开中断(EA=1);

以上三条必须同时满足时,CPU才有可能响应中断。

中断服务函数要与中断一一照应

外部中断0 —— interrupt 0
外部中断1 —— interrupt 2
定时/计数器0 —— interrupt 1
定时/计数器1 —— interrupt 3
串口中断 —— interrupt 4

来源:Mr.小白白

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月25日
下一篇 2020年7月25日

相关推荐