51单片机之定时器\计数器的工作原理

  • 定时器/计数器的结构:
  • 何时处于计数器方式?何时处于定时器方式?
  • TCON和TMOD特殊功能寄存器:
  • 定时器/计数器工作方式:
    • 方式0:13位的定时器/计数器
    • 方式1:16位的定时器/计数器
    • 方式2:自动装载初值的8位定时器/计数器
    • 方式3:俩个8位的定时器/计数器,只有T0有
  • 定时器/计数器的使用:
    • 例1:
    • 例2:

定时器/计数器的结构:

PS:此处涉及到了TCON和TMOD特殊功能寄存器,详见51单片机之特殊功能寄存器SFR篇

TH0、TH1:俩个加法型的计数变量,当外部产生一次时钟信号时,计数加一,直到加到最大值时发生溢出

何时处于计数器方式?何时处于定时器方式?

1、当计数变量使用单片机内部的时钟作为时钟源,我们称这种方式为定时器方式
2、当计数变量使用片外引脚P3.4、P3.5上存在的方波脉冲的时候,我们称这种方式为计数器方式

在使用片外引脚P3.4、P3.5上存在的方波脉冲时,需要俩个机器周期的时间才能确定一次脉冲信号,即需要产生下降沿时才能确定一次脉冲信号

TCON和TMOD特殊功能寄存器:


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

方式0:13位的定时器/计数器

因为存在俩个8位的计数变量TLx和THx,所以最大可计数16位,在方式一中,只使用13位,则最大计数2^13;
需要注意的是:THx装入的是高8位,TLx装入的是低5位,如上图实例

方式1:16位的定时器/计数器

同方式0相同

方式2:自动装载初值的8位定时器/计数器

这种工作模式下,TLx用于计数,而THx则是用于存放初值,当TLx溢出时,THx中的初值自动装入TLx中;用于严格的计数场景

方式3:俩个8位的定时器/计数器,只有T0有

定时器/计数器的使用:

例1:


例2:


51单片机之定时器\计数器的工作原理相关推荐

  1. 【51单片机】定时器/计数器的工作原理和结构(一)

    [51单片机]定时器/计数器的工作原理和结构 回看下单片机中断系统内部结构: 分析内部中断触发: 先看图 TCON:和外部中断相比少了IT位设置触发方式 :1跳沿触发 0电平触发:此处我的理解是:就好 ...

  2. 51单片机并行I/O口工作原理

    51单片机并行I/O口工作原理 51单片机并行I/O口工作原理 P1: 仅作为双向I/O口 P3: 做为双向I/O口,同时还有第二功能 P2: 双向I/O口和高8位地址线,与P1的结构相比多了一个数据 ...

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

    单片机笔记 定时器/计数器 定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器 ...

  4. 六、51单片机之定时器/计数器_理论

    1.什么是定时器.计数器 定时器就是单片机设定一个时间间隔,时间间隔到后通知单片机.例如设置100ms的定时器,100ms后定时器通知单片机时间到了. (1)定时器是单片机的一种内部外设.(以前的单片 ...

  5. 51单片机之定时器/计数器应用实例(方式0、1、2、3)

    硬件:STC89C52RC 开发工具:Keil uVision4 对于刚接触单片机的同学来说可能会对定时器/计数器的应用很蒙圈,特别是初值的计算和各种定时方式的选择.下面希望能给你带来一个清晰的思路. ...

  6. 单片机两个正玄波信号的相位差计算_51单片机的定时器/计数器的原理与使用

    CPU时序的有关知识 振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期) 状态周期:2个振荡周期为1个状态周期,用S表示.振荡周期又称S周期或时钟周期. 机器周期:1个机器周期含6 ...

  7. 51单片机内部定时器/计数器实验

    51单片机内部定时器/计数器实验 一.实验内容 使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED). ...

  8. 51单片机计算定时器初值

    51单片机计算定时器初值 前言 理论分析 工作方式寄存器 TMOD GATE 门控位 C/T' 计数器模式和定时器模式选择位 M1 M0 工作方式选择位 定时器/计数器控制寄存器 TCON TCON补 ...

  9. 51单片机学习--定时器--中断--串口通信

    51单片机学习–定时器–中断–串口通信 定时器–中断–串口通信 中断分类 定时器中断 外部中断 串口中断 基本概念 对于单片机来讲, 中断是指 CPU 在处理某一事件 A 时, 发生了另一事件 B, ...

最新文章

  1. PHP一行命令打印当前系统时间
  2. Java打印整数的二进制表示(代码与解析)
  3. Java中的String类
  4. BOOST_CURRENT_FUNCTION宏用法的测试程序
  5. 面试官:Spring为什么建议使用构造器来注入?
  6. .NET跨平台实践:再谈用C#开发Linux守护进程 — 完整篇
  7. java把含小数点的数字字符串转换为int类型
  8. 学号 20165329 《Java程序设计》第4周学习总结
  9. Android 用户可以直接在搜索页面上安装 app 了
  10. activiti7(三):Activiti7简介与HelloWorld
  11. 2015中国大学排行榜100强新鲜出炉(校友会版)-[转]
  12. nodejs 中读取 package.json 文件内容
  13. 华为 小米 OPPO 手机type-c快充接口 会用到什么胶水?
  14. 【Deep Learning】Transformers Assemble(PART I)
  15. c语言text的作用,一个读text文本文件和解析文本的例子(C语言)
  16. 博客营销与软文营销那些事儿
  17. 开集识别(Open Set Recognition, OSR)算法:《Towards Open Set Deep Networks》OpenMax
  18. docker search - 搜寻镜像
  19. Python文件读写 w+ 与 r+ 到底如何操作
  20. Oracle,MySql和PostGreSql对中文字段按拼音排序

热门文章

  1. 学习编程技术常见的疑问,你敢说你没有过一个吗?信你个鬼!
  2. OpenCV中的凸包
  3. 图片也要查重了?期刊用AI审论文防造假,旋转/翻转/拉伸都不行
  4. 美国科学院院士、斯坦福大学王永雄(Wing H Wong)教授 - 生物信息学云论坛第一讲!...
  5. 苹果Mac修改图标“偷梁换柱”的一种简单方法
  6. 如何初始化局部变量c语言_重要的事情说三遍:局部变量一定要初始化!你做到了吗?...
  7. 1.4编程基础之逻辑表达式与条件分支 21 苹果和虫子2
  8. 7647 余数相同问题
  9. php-cms,GitHub - lovelife10000/L-php-cms: 基于laravel框架开发的一款php CMS内容管理系统,前端采用angular、jquery技术...
  10. 表单元素聚焦状态回车提交表单问题小记