Chapter 7 : 单片机的定时/计数器:《单片机》笔记

Chapter 7 : 单片机的定时/计数器

7.1 概述

  • 本章的主要内容
    定时/计数器结构和工作原理
    定时/计数器的控制寄存器
    定时/计数器的工作方式
    定时/计数器的应用程序设计

  • 定时/计数的应用:

    在测量控制系统中,常常要求有一些实时时钟,以实现定时控制、定时测量或延时动作;也往往要求有计数功能对外部事件计数,如测电机转速、 频率、工件个数等。单片机内部定时/计数器是用得非常多的一个功能部件。

  • 实现定时/计数有3种主要方法:

    1. 软件定时:

      即让机器执行一个程序段,这段程序本身没有具体的执行目的,只是为了延时一段时间。这种方法定时占用CPU执行时间,降低了CPU利用率。

    2. 数字电路硬件定时:

      采用小规模集成电路器件如555,外接定时部件(电阻和电容)构成。这样的定时电路简单,但要改变定时范围,必须改变电阻和电容;这种定时电路在硬件连接好以后,修改不方便。

    3. 可编程定时/计数器【本章介绍就是此法】:

      它是硬件定时,又很容易地通过软件来确定和改变它的定时值,通过编程,能够满足各种不同的定时和计数要求,即软硬件相结合。本章介绍的内容就属于这一种。

7.2 定时/计数器结构和工作原理

7.2.1 工作原理:

51系列单片机片内有二个16位定时/计数器:定时器0(T0)和定时器1(T1)。【2个定时/计数器】

两个定时器都有定时或计数的功能,可通过软件的设置来选择是定时还是计数工作方式。【选择工作方式】

定时/计数器的核心部件是16位加1计数器。满了之后就溢出了。【核心部件】

T0由2个8位持殊功能寄存器TH0和TL0构成,T1由2个8位持殊功能寄存器TH1和TL1构成。【High & Low】

T0和T1受特殊功能寄存器TMOD和TCON控制.【受控制于】

7.2.2 定时工作方式 和 计数工作方式的区别:

  1. 定时:
    定时器计数的脉冲是由51单片机片内振荡器经12分频后产生的,即:每经过一个机器周期,定时器(T0或T1)的数值加1直至计数满产生溢出。

    如:当采用12MHz晶体时,每个机器周期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。

    晶振确定后,机器周期就确定了,每个机器周期,定时器数值+1。

  2. 计数:

    主要通过两类引脚:P3.4(T0)和 P3.5(T1)输入的外部脉冲信号计数。

    当输入脉冲信号产生由1至0的下降沿时,定时/计数器的值加 1

    测量过程是: CPU前一个机器周期采样脉冲值为高,下一个机器周期采样脉冲值为低,则计数器加 1

    由于检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一

    例如:当采用12MHz晶体时,每个机器周期为1μs。计数器要2μs才能检测到一个1至0的跳变。

    计数的频率不能超过0.5MHz,否则计算机就来不及检测了。

  3. 不占用cpu时间

    无论是定时还是计数,当软件设定了定时/计数器的工作方式,启动以后,定时/计数器就按规定的方式工作,不占用CPU的操作时间,此时CPU可执行其他程序,到了计满规定的时间或规定的个数(定时/计数器溢出),定时/计数器会给出溢出标志,你可以通过查询或中断方式了解是否溢出。

7.3 定时/计数器的控制寄存器

  • 两个控制寄存器:

    1. 工作模式寄存器 TMOD (89H)【不可位寻址】

    2. 控制寄存器 TCON(88H)【可位寻址】

  • 工作模式寄存器 TMOD (89H)
    在这里插入图片描述

  • 控制寄存器 TCON(88H)
    在这里插入图片描述

  • 定时/计数器0的内部逻辑电路结构
    在这里插入图片描述

7.4 定时/计数器的工作方式

  • 对TMOD寄存器的M1、M0位的设置,可选择4种工作方式:方式0/1/2/3

  • 方式0:
    在这里插入图片描述

  • 方式1:
    在这里插入图片描述

  • 方式2:
    在这里插入图片描述

  • 方式3:
    在这里插入图片描述

  • 总结:

    各个方式的最大计数值?用作定时的定时时间?方式自身的特点?4种方式适用范围?

    是否存在进位?何时产生溢出?是否有中断?

7.5 定时/计数器的应用程序设计

7.5.1 定时/计数器的计数初值C的计算和装入

在这里插入图片描述

例子:要计100个脉冲的计数初值
在这里插入图片描述

7.5.2 定时计数器的初始化编程

在这里插入图片描述

7.5.3 应用编程举例

*见ppt

7.6 总结

  • 定时/计数器应用非常广泛,如定时采样、时间测量、产生音响、测量波形的频率、检测电机转速、测量汽车速度等。因此应很好掌握。

  • 通常,计数值>256时用方式1,计数值<=256时用方式2,这样比较方便。

  • 51系列单片机有两个16位的定时/计数器,有四种不同的工作方式,归纳于下表:在这里插入图片描述

  • 定时和计数实质都是对脉冲的计数,只是被计脉冲的来源不同

    定时方式的被计脉冲来源于时钟,计数方式的被计脉冲来源于外部,

    定时方式的计数初值和被计脉冲周期有关,计数方式的计数初值和被计脉冲的个数有关。

  • 无论定时还是计数,当计满规定的脉冲个数,就产生溢出(计数初值寄存器回零),置位TFx , 可以通过程序查询,如果允许中断,会产生中断。

  • 利用T0和T1的方式2计数功能(初值为0FFH),可以扩展为外部中断INTx的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值