51单片机定时器计数器详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章定时器/计数器

6.1 定时器的结构及工作原理6.2 定时器的控制

6.3 定时器的工作模式及其应用

第六章定时器/计数器

实现定时一般有多种方法:

1. 利用软件实现(延时程序)

优点:简单,控制方便;缺点:CPU效率低。

2. 外部硬件实现:单稳态定时器、计数定时器

优点:CPU效率高;缺点:修改参数麻烦。

3. 利用计数器实现

输入脉冲

定时器/计数器作用主要包括产生各种时标间隔、记录外部事件的数量等,是单片机中最常用、最基本的部件之一。

外来脉冲

定时计数定时器/计数器功能示意图

6.1 定时器/计数器的结构及工作原理6.1.1 定时器/计数器的基本结构

MCS-51单片机有二个定时器/计数器,每个定时器/计数器由几个专用寄存器组成。

TMOD(89H )高四位TMOD(89H )低四位方式寄存器TCON(88H)

TCON(88H)

控制寄存器*

8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)

定时器T1定时器T0

定时器/计数器的结构如下图所示。

定时器/计数器的基本结构框图

申请

P3.5or P3.4or 8DH 8BH

8CH 8AH

6.1.2 定时器/计数器的工作原理定时器/计数器结构原理图

INTx P3.Y

GATE :门控制位

:定时/计数控制位T

C/x=0,1Y=2,3Z=4,5

一. 对外部输入信号的计数功能

当T0或T1设置为计数工作方式时,计数器对来自输入引脚P3.4(T0)和P3.5(T1)的外部信号计数。

若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。所以计数器计数的频率最高为fosc 的1/24。

B

D

E

H

T H >1个机器周期

T L >1个机器周期

L

二. 定时功能:

定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单片机的片内振荡器输出经12分频后产生的信号,即为对机器周期计数。

INTx P3.Y

例如:

晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。

f=机器周期

fmax=fosc/24

计数频率f

内部信号(片内振荡器)外部信号下降沿T0对应P3.4T1对应P3.5计数脉冲

定时器

计数器

定时器/计数器的比较

6.2 定时器的控制

定时器/计数器的控制主要是通过以下几个寄存器实现的:

TCON---定时器/计数器控制寄存器

TMOD---定时器/计数器工作方式控

制寄存器

IE---中断允许控制寄存器

6.2.1 定时器/计数器的工作方式寄存器TMOD

定时器/计数器是一种可编程部件,在工作之前必须通过软件设定它的工作方式,即对工作方式寄存器TMOD 中每位进行设

定。T0TMOD 字节地址89H

M0

M1 C/ GATE M0 M1C/ GATE T T TMOD 不能位寻址。上电复位时,TMOD 所有位均为零。

一、M1和M0工作方式控制位

M0和M1为工作方式控制位,确定4种工作方式,如表7-1所示。

T0分成两个独立的8位计数器, T1在

方式3时停止工作

1 1自动重装入初值的8位计数器1 0

16位定时器/计数器0 1

13位定时器/计数器(TH 的8位和TL 的低5位) 0 0

说明M1 M0

二、定时器/计数器方式选择位1. =0 选择定时方式。在定时方式中,以振荡输出时钟脉冲的12分频信号作为定时的计数信号,也就是每一个机器周期定时器加“1”,若晶振为12MHz ,则定时器的计数频率为1MHz 。

2. =1 选择计数功能。在计数方式中,采用外部引脚T0(P

3.4)、T1(P3.5)的输入脉冲作为计数脉冲,当外部输入脉冲发生1到0的负跳变时,计数器加1,最高计数频率为时钟频率的1/24。

T C/T C/T C/

M0

M1 C/ GATE M0 M1C/ GATE T0

C/ =0 —定时;C/ =1 —对外计数。定时:fosc/12 =1/(12/fosc)=1/T (机器周期)N 个方波

T 计数:脉冲不等间隔波形等间隔,次数已定,时间确

定, 即对机器周期进行计数。左图定时时间为N*T

每个下降沿计数一次确认一次负跳变需两个机器周期,所以,计数频率最高为fosc / 24。T T

三、GATE启动门控位

1. GATE=0 时

只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1);

2. GATE=1 时

只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。

T0

C/

GATE

M1

M0

M1

C/

GATE

M0

INTx

P3.Y

x=0,1

Y=2,3

Z=4,5对TMOD进行设置: MOV TMOD,#0CH MOV TMOD,#60H MOV TMOD,#6CH

相关文档
最新文档