51单片机 | 定时器中断实验


  这一节介绍51单片机的定时器中断。 STC89C5X 含有 3 个定时器:定时器 0、定时器 1、定时器 2(注意: 51 系列单片机一定有基本的 2 个定时器(定时器 0 和定时器 1),但不全有 3 个中断,需要查看芯片手册,通常我们使用的是基本的 2 个定时器:定时器 0/1)。本节要实现的功能是通过定时器 0 中断控制 D1 指示灯间隔 1 秒闪烁。

一、定时器介绍

  在介绍定时器之前需要先科普下几个知识:

  1. CPU 时序的有关知识

    • 振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)。
    • 状态周期:2 个振荡周期为 1 个状态周期,用 S 表示。振荡周期又称 S 周期或时钟周期。
    • 机器周期:1 个机器周期含 6 个状态周期,12 个振荡周期。
    • 指令周期::完成 1 条指令所占用的全部时间,它以机器周期为单位。

    例如:外接晶振为 12MHz 时,51 单片机相关周期的具体值为:
    振荡周期=1/12us;
    状态周期=1/6us;
    机器周期=1us;
    指令周期=1~4us;

  2. 学习定时器前需要明白几点

    • 51 单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。
    • 定时器/计数器和单片机的 CPU相互独立的。定时器/计数器工作的过程是自动完成的,不需要 CPU 的参与。
    • 51 单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加 1。

    有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加 1 的工作可以交给定时器/计数器处理。CPU 转而处理一些复杂的事情。同时可以实现精确定时作用。

1. 51 单片机定时器原理

  STC89C5X 单片机内有两个可编程的定时/计数器 T0T1 和一个特殊功能定时器 T2。定时/计数器的实质是加 1 计数器(16 位),由高 8 位和低 8 位两个寄存器 THxTLx 组成。它随着计数器的输入脉冲进行自加 1,也就是每来一个脉冲,计数器就自动加 1,当加到计数器为全 1 时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置 1,向 CPU 发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加 1 计数器的计数值。

2. 51 单片机定时/计数器结构

  51 单片机定时器/计数器内部结构如下所示:
在这里插入图片描述
上图中的 T0T1 引脚对应的是单片机 P3.4P3.5 管脚的附加功能。51 单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD 是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON控制寄存器,控制 T0T1 的启动和停止及设置溢出标志。

  1. 工作方式寄存器 TMOD
    工作方式寄存器 TMOD 用于设置定时/计数器的工作方式,低四位用于 T0,高四位用于 T1。其格式如下:
    在这里插入图片描述
    GATE 是门控位,GATE=0 时,用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使 TCON 中的 TR0TR11,就可以启动定时/计数器工作;GATA=1 时,要用软件使 TR0TR11,同时外部中断引脚 INT0/1 也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了 INT0/1 引脚为高电平这一条件。
    • C/T :定时/计数模式选择位。C/T =0 为定时模式;C/T =1 为计数模式。
    • M1M0:工作方式设置位。定时/计数器有四种工作方式。
      在这里插入图片描述
  2. 控制寄存器 TCON
    TCON 的低 4 位用于控制外部中断,已在前面介绍。TCON 的高 4 位用于控制定时/计数器的启动和中断申请。其格式如下:
    在这里插入图片描述
    • TF1(TCON.7)T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置 TF1为 1。CPU 响应中断后 TF1 由硬件自动清 0。T1 工作时,CPU 可随时查询 TF1 的状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬件置 1 或清 0 的效果一样。
    • TR1(TCON.6)T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时,T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停止。
    • TF0(TCON.5)T0 溢出中断请求标志位,其功能与 TF1 类同。
    • TR0(TCON.4)T0 运行控制位,其功能与 TR1 类同。

3. 51 单片机定时/计数器

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值