0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计数器输入的计数脉冲源结构与工作方式详解

GReq_mcu168 来源:互联网 作者:佚名 2018-01-22 11:17 次阅读

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

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

计数器输入的计数脉冲源

系统的时钟振荡器输出脉冲经12分频后产生;

T0或T1引脚输入的外部脉冲源。

计数过程

每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。

定时应用

用作定时器:此时设置为定时器模式,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。

计数运用

用作计数器:此时设置为计数器模式,外部事件计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。

工作方式寄存器(TMOD)

GATE:门控位。

GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时器/计数器工作;(即需要一个启动条件)

GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚也为高电平时,才能启动定时器/计数器工作,即需要两个启动条件。

C/T :定时/计数模式选择位。

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

M1M0:工作方式设置位。

计数器工作方式选择

M1 M0 工 作 方 式 功 能 说 明

0 0 方式0 13位计数器

0 1 方式1 16位计数器

1 0 方式2 自动重装8位计数器

1 1 方式3 定时器0:分成两个8位

定时器1:停止计数

定时器/计数器的控制

控制寄存器TCON

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

TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。TR1(TCON.6):T1起/停控制位。1:启动 0:停止

TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。

TR0(TCON.4):T0起/停控制位。1:启动 0:停止

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

方式0

方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

方式1

方式1的计数位数是16位,由TL0(TL1)作为低8位、TH0(TH1)作为高8位,组成了16位加1计数器 。

方式2

方式2为自动重装初值的8位计数方式。

在方式2下,当计数器计满255(FFH)溢出时,CPU自动把TH 的值装入TL中,不需用户干预。因此特别适合于用作较精确的脉冲信号发生器。

方式3

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

工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92959
  • 定时器
    +关注

    关注

    23

    文章

    3146

    浏览量

    112033
  • 脉冲源
    +关注

    关注

    0

    文章

    5

    浏览量

    7044

原文标题:单片机定时器/计数器结构与工作方式详解

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    计数器怎么判断同步和异步 计数器异步和同步的区别

    计数器是计算机领域中常用的一种数据结构,用于记录和控制程序执行中的指令或事件发生的次数。计数器可以根据同步机制或异步机制进行操作。本文将详细讨论计数器的同步性和异步性,深入探讨两者的区
    的头像 发表于 02-22 15:14 476次阅读

    计数器怎么用 计数器的作用有哪些

    计数器是一种被广泛应用于各个领域的实用工具,在我们的日常生活中随处可见。无论是进行时间统计,协助工作任务的完成,还是用于科学研究和编程技术,在各个领域都起到了重要的作用。本文将详细介绍计数器
    的头像 发表于 02-03 10:04 1198次阅读

    8031单片机的定时器和计数器是怎么工作

    8031单片机的定时器和计数器是通过内部的时钟源来工作的。具体来说,定时器/计数器T0和T1的输入端都接到了机器周期信号上,因此它们的计数
    发表于 02-02 17:13 312次阅读

    同步计数器和异步计数器各有什么特点

    同步计数器和异步计数器是两种常见的数据结构,它们都用于控制对共享资源的访问。它们的主要作用是实现多个线程之间的同步和并发控制。尽管它们都被用于同步的目的,但它们有很多不同的特点和用例。 同步
    的头像 发表于 12-15 10:49 639次阅读

    4017计数器工作原理

    中,我们将详细介绍4017计数器工作原理。 4017计数器的内部结构非常复杂,但核心的原理相对简单。它包含一个时钟输入引脚(CLK),一个
    的头像 发表于 12-15 09:24 1207次阅读

    同步计数器和异步计数器的区别主要在哪里

    同步计数器和异步计数器的区别详解 同步计数器和异步计数器是数字电路中两种常见的计数器类型,它们在
    的头像 发表于 12-13 14:54 2438次阅读

    请问51单片机定时/计数器T0,采用工作方式2怎么写程序?

    51单片机定时/计数器T0,采用工作方式2怎么写程序?
    发表于 10-26 06:57

    单片机定时/计数器工作于定时和计数方式时有何异同点?

    单片机定时/计数器工作于定时和计数方式时有何异同点? 单片机中的定时/计数器是一项常见的功能,它经常被用于测量时间、频率或者作为触发器。在单
    的头像 发表于 10-25 11:50 2074次阅读

    数字电路中的计数器详解

    数字电路中一个非常重要的器件就是计数器,即统计脉冲个数。
    的头像 发表于 10-17 12:46 2367次阅读
    数字电路中的<b class='flag-5'>计数器</b><b class='flag-5'>详解</b>

    51单片机的定时结构工作原理详细说明

    本质上是一致的,在以后的叙述中将定时/计数器笼统称为定时。组成:两个16位的定时T0和T1,以及他们的工作方式寄存
    发表于 09-25 08:23

    数字7段脉冲计数器电路分享

    可以使用 7490 解码计数器和 7557A 构建脉冲计数器。该电路可以从9计数到3。所有 2 的引脚 7490 必须连接在一起。
    的头像 发表于 07-27 15:59 582次阅读
    数字7段<b class='flag-5'>脉冲计数器</b>电路分享

    基于CD4511的两位数显脉冲计数器

    使用计数器T0,工作方式0,对外部脉冲进行计数,当外部脉冲数量累计达到1000后LED显示值加
    的头像 发表于 07-12 11:51 965次阅读
    基于CD4511的两位数显<b class='flag-5'>脉冲计数器</b>

    计数器在程序中有什么作用

    PLC程序除了梯形图之外,还有FBD功能块作为指令,这种指令一般都有背景DB。   PLC计数器指令可使其对内部程序事件和外部过程事件进行计数。这样就可以节约外部计数器的使用。   每个
    的头像 发表于 07-04 15:57 1000次阅读
    <b class='flag-5'>计数器</b>在程序中有什么作用

    STC15W408AS单片机定时器/计数器的相关寄存器

    STC15W408AS只有定时器0和定时器2,工作工作位定时器或者计数器模式。定时器/计数器的核心部件是一个加法计数器,其本质是对脉冲进行
    发表于 06-16 09:51 2636次阅读
    STC15W408AS单片机定时器/<b class='flag-5'>计数器</b>的相关寄存器

    SIMATIC S7-1500 PLC SIMATIC计数器-加计数器

    计数器(S_CU)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV 小于
    的头像 发表于 04-27 15:38 1674次阅读
    SIMATIC S7-1500 PLC SIMATIC<b class='flag-5'>计数器</b>-加<b class='flag-5'>计数器</b>