第六章 定时器及应用

6.1 定时器概述

89C51/S51单片机内部有两个16位定时器/计数器,即定时器0(T0)和定时器1(T1)。

6.1.1 什么是记数和定时

1.计数

所谓计数就是对外部事件进行计数,外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。51单片机有T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的计数输入端。外部输入的脉冲在负跳变(即下降沿)时进行计数器加1(加法计数)。

2.定时

定时是通过计数器的计数来实现的,只不过计数脉冲来自单片机内部,每个机器周期产生一个计数脉冲。每个机器周期,计数器加一。

(因为一个机器周期等于十二个振荡脉冲周期,因此计数频率为振荡周期的1/12)

6.1.2 定时器/计数器的组成

两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。都是16位加1计数器。

T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。

每个定时器都可由软件设置为定时工作方式或计数工作方式以及其他灵活多样的可控功能方式,这些都由TMOD(TIMER/COUNTER MODE CONTROL REGISTER定时器/计数器模式控制寄存器)和TCON(TIMER/COUNTER CONTROL REGISTER定时器/计数器控制寄存器)所控制。

设置为定时工作方式时,每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C51/S5采用12 MHz晶振时,一个机器周期为1 μs,计数频率为1 MHz。

设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生下降沿时,计数器的值加1。在每个机器周期的S5P2期间采样T0和T1引脚的输入电平,在本周期和下一周期之间存在下降沿,则计数器加1。所以,检测一个负跳变下降沿需要两个机器周期,故最高计数频率为振荡频率的1/24。(为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。)

不管是定时还是计数工作方式,定时器T0或T1在对内部时钟或对外部事件计数时,不占用CPU时间,除非定时器/计数器溢出,才可能中断CPU的当前操作。

除了可以选择定时或计数工作方式外,每个定时器/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。其中,模式0~2对T0和T1都是一样的,模式3对两者是不同的。

6.2 定时器的控制

当89C51/S51复位时,TNOD、TCON都被清零。这两个8位寄存器被用来设置T0或T1的操作模式和控制模式。

6.2.1 工作模式寄存器TMOD

TMOD用于控制T0和T1的工作模式。TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。

89C51系统复位时,TMOD的所有位被清0。

M1和M0:操作模式控制位。两位可形成四种编码,对应四种操作模式。

模式0——13位计数器;模式1——16位计数器;模式2——自动再装入8位计数器;模式3——定时器0分成二个8位计数器,定时器1停止计数

C/\overline{T}:定时器/计数器方式选择

C/\overline{T}=0,设置为定时方式,定时器计数单片机片内脉冲,即对机器周期计数(震荡周期的12倍);若C/\overline{T}=1,为计数方式,对外部脉冲计数(引脚T0(P3.4)或T1(P3.5))。

GATE:门控位。GATE=0,可以不管外部中断端口直接启动。

6.2.2 控制寄存器TCON

控制寄存器可位寻址。89C51/S51系统复位时,TCON的所有位被清0。

TF(Timer OverFlow Flag)、TR(Timer Run)

①TF1(TCON.7) —T1溢出标志位。

当T1溢出时,由硬件自动使中断触发器TF1置1,并向CPU申请中断。当CPU响应中断进入中断服务程序后,TF1被硬件自动清0。TF1也可以用软件清0。

②TF0(TCON.5)—T0溢出标志位。其功能和操作情况同TF1。

③TR1(TCON.6)—T1运行控制位。

可通过软件置1(TR1=1)或清0(TR1=0)来启动或关闭T1工作。在程序中用指令“SETB   TR1”使TR1位置1,定时器T1便开始计数。用“CLR TR1使TR1清0,定时器停止工作。

④ TR0(TCON.4)—T0运行控制位。 其功能和操作情况同TR1。

⑤ 其余为中断标志位

6.3 定时器的四种模式及应用

T0、T1在模式0、模式1、模式2时,工作模式形同,模式3时不相同。

模式0通常很少使用。

6.3.1 模式1及应用

模式1对应一个16位的定时器/计数器。寄存器TH0和TL1以全部16位参与操作。

当用于定时工作方式时,定时时长为:

① 用于定时工作方式时,定时时间为:

t=(65536-T0初值)×振荡周期×12

② 用于计数工作方式时,计数长度为:

(65536-T0初值)(个外部脉冲)

6.3.2 模式2及应用

模式2把TL0配置成一个可以自动重装载的8位定时器/计数器。

TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。

在程序初始化时,TL0和TH0由软件赋予相同的初值。

用于定时工作方式时,定时时间为:

 t=(256-TL0初值)×振荡周期×12

该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器 

6.3.3 模式三及应用

若将T0设置为模式3,则TL0和TH0被分成两个相互独立的8位计数器。

T0设置为模式3,TL0和TH0被分成两个相互独立的8位计数器。

TL0:用原T0的各控制位、引脚和中断源,即C/\overline{T},GATE,TR0,TF0,T0(P3.4)引脚,INT0(P3.2)引脚。

TL0可工作在定时器方式和计数器方式。其功能和操作与模式0、模式1相同(只是8位)。

TH0:只可用作简单的内部定时功能。TH0占用了定时器T1的控制位TR1和T1的中断标志TF1,其启动和关闭仅受TR1的控制。

所以T1没有模式3,若将T1设置为模式3,会导致T1立即停止计数,也就是保持原有的计数值。

定时器T1无工作模式3状态。在T0用作模式3时,T1仍可设置为模式0~2。

由于TR1和TF1被定时器T0占用,计数器开关K已被接通,此时,仅用T1控制位,C/\overline{T}切换其定时或计数器工作方式就可使T1运行。当计数器溢出时,只能将输出送入串行口或用于不需要中断的场合。T0模式3,一般设T1模式2作波特率发生器。

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

推荐阅读更多精彩内容