17 定时器和计数器

单片机STC89C52学习——17 定时器和计数器

汇总:00 单片机STC89C52学习
参考教程:普中科技

1 定时器的原理

1.1 时序

单片机工作的基本时序:
振荡周期 亦为时钟周期,单片机提供时钟脉冲信号的振荡源的周期,该开发板为12MHz
状态周期 1个状态周期 = 1个时钟周期 * 2,是振荡源周期经过二分频得到的
机器周期 1个机器周期 = 6个状态周期S1~S6 = 12个时钟周期。在一个机器周期内,CPU可以完成一个独立操作
指令周期 指CPU完成一条操作所需要的全部时间,1个指令周期 = 1个或几个机器周期

外接晶振为12MHz时,51单片机相关周期的具体值为:

  • 振荡周期 = 1/12 μs
  • 状态周期 = 1/6 μs
  • 机器周期 = 1μs
  • 指令周期 = 1~4μs

1.2 定时/计数器的基本情况

  1. 51单片机有两组定时器/计数器,因为既可以定时又可以计数,故称之为定时器/计数器,一般直接称为定时器
  2. 定时器/计数器与单片机的CPU相互独立。定时器/计数器工作的过程是自动完成的,不需要CPU的参与
  3. 51单片机中的定时器/计数器根据机器内部的时钟或者外部的脉冲信号对寄存器中的数据加1。
  4. 作用增加单片机的效率,一些简单的重复加1的工作可以交给定时器/计数器处理,CPU转而处理一些复杂的事情;实现精确定时

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

       定时/计数器实质上是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。
       可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。

1.4 51单片机定时器结构

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

1.5 定时器的控制

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

  1. 工作方式寄存器TMOD
    工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1
    工作方式寄存器TMOD
  • GATE:门控位
    用于控制定时器的启动是否受外部中断源信号的影响。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作,即此时定时器的启动条件增加了INT0/1引脚为高电平这一条件。故通常使GATE = 0
  • C/T:定时/计数模式选择位
    C/T = 0为定时模式;C/T = 1为计数模式
  • M1M0:工作方式设置位
    定时/计数器有4种工作方式:
    (通常使用方式1;方式2为计算频率或串口通信使用;通常不使用方式0和3)
    定时/计数器的4种工作方式
  1. 控制寄存器TCON
    TCON的高4位用于控制定时/计数器的启动和中断申请:
    控制寄存器TCON
  • 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溢出中断请求标志位
    同上
  • TR0 (TCON.4) :T0运行控制位
    同上

1.6 定时器工作方式详解(T0为例)

计数个数X与计数初值N的关系:X = 2^位数 - N

  1. 方式0:13位计数
    由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。
    (门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制,当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数,这种方式常用来测量外中断引脚上正脉冲的宽度。)
    方式0
  2. 方式1:16位计数
    由TL0作为低8位,TH0作为高8位,组成了16位加1计数器 。
    方式1
  3. 方式2:8位计数
    自动重装初值的8位计数方式
    (TL0满后,不向TH0进位,而是自动装载初值继续累加,特别适合于用作较精确的脉冲信号发生器)
    方式2
  4. 方式3:独立8位计数
    只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数
    方式3

1.7 使用定时器时需要做的工作

  1. 初始化
  • TMOD)确定T0 / T1的工作方式,并对TMOD赋值
  • 赋初值)计算初值,并将其写入TH0、TL0 / TH1、TL1
  • IE)使用中断方式时,开放总中断允许,开放定时器中断允许
  • TCON)置位TR0 / TR1以启动
  1. 计数器初值的计算
  • 机器周期也就是CPU完成一个基本操作所需要的时间。
  • 机器周期 = 1/单片机的时钟频率。
  • 51单片机内部时钟频率是外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频。比如用12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ,当使用12MHZ的外部晶振时,机器周期 = 1/1M=1us。
  • 定时1ms,因1ms/1us=1000,即计数1000个,初值 = 65535-1000+1(因为实际上计数器计数到66636才溢出)= 64536 = FC18H

接下篇:18 定时器中断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容

  • 一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的...
    Dorajimmy阅读 1,347评论 0 1
  • TIMx简介 可编程预分频驱动 16位 自动装载计数器 用于输入:测试脉冲宽度输出:产生输出波形(输出比较和PWM...
    吴松乾阅读 1,468评论 0 2
  • 本文集下的内容主要介绍stc89c51系列单片的基础知识(初学者看会感到乏味,建议培养兴趣爱好之后再来看) 本文主...
    keep1234quiet阅读 3,289评论 8 6
  • 寄存器IE(8位):对单片机系统所有中断以及某个中断源的开放和屏蔽的控制 EX0(IE.0),外部中断0允许位; ...
    又是那一片天阅读 1,352评论 0 1
  • 交通灯控制设计 一、选题背景 每个城市的交通就犹如人体的血管,人类生命的持续需要心脏为血液提供动力,依靠血液来在人...
    Rik_personal阅读 1,647评论 0 0