51单片机定时器计数器解析
MCS51单片机的定时计数器及应用

定时/计数器T0和T1的工作方式2(P143) ----8位自动重载初值
振荡器
/12
T0 TR0
GATE INT0
控制
TL0(8 位) 重载
TH0(8位)
中断 TF0
TL0(或TL1)用于计数,TH0(或TH1)用于保存初值,计满 溢出时硬件自动将TH0的值重新装入TL0。自动装载的初值:
X=256-N
while (1) ;// 原地踏步
{}
}
void time0_int(void) interrupt 1
{// 中断服务程序 SQ=!SQ ;// 输出翻转
}
采用查询方式的汇编程序(P145)
ORG 0000H
LJMP MAIN ORG 0100H ;主程序 MAIN: MOV TMOD,#02H ; 定 时器T0工作方式2 MOV TH0,#06 ;保存初值 MOV TL0,#06 ; 赋初值 SETB TR0 ; 启动T0
ORG 0030H; 主程序 MAIN:MOV TMOD,#02H; 定时器
T0工作方式2 MOV TH0,#06H;初值保存 MOV TL0,#06H; 赋初值 SETB EA; 开放总中断 SETB ET0; 开放T0溢出中断 SETB TR0; 启动T0 SJMP $; 原地踏步
END
采用中断处理方式的C51程序(P145)
微 处 理 器
TH1
启动
TCON
溢出
TL1
TH0
TL0
内部总线
启动
工作方式
工作方式
TMOD
定时/计数器的结构说明
? TH0和TL0是定时/计数器T0计数器的高 8位和低8位, TH1和TL1是定时/计数器T1计数器的高 8位和低8位。
51单片机定时器计数器详解

51单⽚机定时器计数器详解第六章定时器/计数器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 8BH8CH 8AH6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图INTx P3.YGATE :门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5⼀. 对外部输⼊信号的计数功能当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。
若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。
所以计数器计数的频率最⾼为fosc 的1/24。
BDEHT H >1个机器周期T L >1个机器周期L⼆. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。
INTx P3.Y例如:晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。
2-MCS51单片机原理-定时器解析

MOV TL0,#9CH ;T0置初值
MOV TH0,#9CH
SETB TR1 ;启动T1
HERE: AJMP HERE
方式3的应用
T0工作在方式3时,TL0和TH0被分成两个独立的8位
定时器/计数器。其中,TL0可作为8位的定时器/计
数器;而TH0只能作为8位的定时器。
33
当T1用作串行口波特率发生器时,T0才设置为方式3。 此时,常把T1设置为方式2,用作波特率发生器。
31
外部信号由T1(P3.5) 脚输入,每发生一次负跳变计数 器加1,每输入100个脉冲,计数器产生溢出中断, 在中断服务程序中将P1.0取反一次。
T1工作在方式2的控制字为TMOD=60H。不使用T0 时,TMOD的低4位可任取,但不能使T0进入方式 3,这里取全0。
(2)计算T1的初值
X=28-100=156=9CH
18
定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,由于方式0
是为兼容MCS-48而设,其计数初值计算复杂,在 实际应用中,一般不用方式0,而采用方式1。 方式1应用 例1 假设系统时钟频率采用6MHz,要在P1.0上输出 一个周期为2ms的方波,如图所示。
19
方波的周期用T0来确定,让T0每隔1ms计数溢出1次, 既T0每隔1ms产生一次中断,CPU相应中断后, 在中断服务程序中对P1.0取反。
(2) C/T*——计数器模式和定时器模式选择位 0:定时器模式。 1:计数器模式。
6
(3) GATE——门控位 0:以运行控制位TRX(X=0,1)来启动 定时器/计数器运行。 1: 用 外 中 断 引 脚 ( INT0* 或 INT1* ) 上 的 高电平来启动定时器/计数器运行。
MCS-51单片机内部定时器计数器

二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
单片机课件5MCS-51单片机定时器计数器

定时器的示例代码
基于MCS-51单片机和定时器 计数器,实现控制蜂鸣器的 状态或LED的闪烁频率。
实践演示
控制蜂鸣器的状态
借助定时器计数器,设置蜂鸣器的开关状态以及背 景灯。
控制LED的闪烁频率
基于定时器计数器,利用MCS-51单片机来控制LED 灯的闪烁速率。
总结
1
重要性和应用
定时器计数器是单片机非常重要的组件之一,其应用非常广泛。
5MCS-51单片机定时器计 数器
本课件将介绍单片机中定时器计数器的作用、类型、寄存器、应用以及示例 代码,展现出单片机学习与应用的魅力。
什么是定时器计数器
1 时间的记录器
定时器计数器是一种可编 程的时间计算器,可用于 各种计时和计数任务。
2 核心组件
作为单片机的核心之一, 定时器计数器可以用来控 制其它模块的工作。
3 可编程
可以通过设置定时器的各 个寄存器来控制计时或计 数的周期、频率和模式。
MCS-51单片机的定时器计数器
定时器模块的功能
以MCS-51单片机为例,定时器计数器可以控制脉 冲的发生和周期、计数等。
定时器的类型
MCS-51单片机的定时器分为两种类型:定时器0和 定时器1,每种定时器都具有其特定的应用场景。
2
对单片机的学习和应用的帮助
通过学习单片机和定时器计数器,可以帮助我们更好地理解单片机的工作原理和应用场景。
3
接下来的拓展用,如机器人、智能家居等领域。
定时器的寄存器
MCS-51单片机的定时器计数器有多个寄存器,包 括计数器寄存器、模式寄存器和数据寄存器。
定时器的应用
定时器的使用方法
通过编程初始化各个寄存器, 设置定时器的模式、计数周 期和计数方式等,以达到所 需的计时或计数效果。
51单片机中断系统详解(定时器、计数器)

51单片机中断系统51单片机中断级别中断源默认中断级别序号(C语言用)INT0---外部中断0 最高0T0---定时器/计数器0中断第2 1INT1---外部中断1 第3 2T1----定时器/计数器1中断第4 3TX/RX---串行口中断第5 4T2---定时器/计数器2中断最低 5中断允许寄存器IE位序号DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0符号位EA ------- ET2 ES ET1 EX1 ET0 EX0 EA---全局中允许位。
EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。
EA=0,关闭全部中断。
-------,无效位。
ET2---定时器/计数器2中断允许位。
EA总中断开关,置1为开;ET2=1,打开T2中断。
EX0为外部中断0(INT0)开关,……ET2=0,关闭T2中断。
ET0为定时器/计数器0(T0)开关,……ES---串行口中断允许位。
EX1为外部中断1(INT1)开关,……ES=1,打开串行口中断。
ET1为定时器/计数器1(T1)开关,……ES=0,关闭串行口中断。
ES为串行口(TX/RX)中断开关,……ET1---定时器/计数器1中断允许位。
ET2为定时器/计数器2(T2)开关,……ET1=1,打开T1中断。
ET1=0,关闭T1中断。
EX1---外部中断1中断允许位。
EX1=1,打开外部中断1中断。
EX1=0,关闭外部中断1中断。
ET0---定时器/计数器0中断允许位。
ET0=1,打开T0中断。
ET0=0,关闭T0中断。
EX0---外部中断0中断允许位。
EX0=1,打开外部中断0中断。
EX0=0,关闭外部中断0中断。
中断优先级寄存器IP位序号DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0位地址--- --- --- PS PT1 PX1 PT0 PX0-------,无效位。
PS---串行口中断优先级控制位。
51定时器介绍

51单片机定时、计数器介绍一采用11.0592M 的晶振,每接收一个输入脉冲的时间约为1.085μs。
采用12M 的晶振,每接收一个输入脉冲的时间为1μs。
STC89C52 内有三个定时/ 计数器, 分别为T0、T1 和T2。
其中T0、T1 工作方式一样,T2 的工作方式稍有区别。
TMOD(见表1)、TCON(见表3)与定时器T0、定时器T1 间通过内部总线及逻辑电路连接,TMOD 用于设置定时器的工作方式,TCON 用于控制定时器的启动、停止,标志定时器的溢出和中断情况。
当设置了定时器的工作方式并启动定时器工作后,定时器就按被设定的工作方式独立工作,不再占用CPU 的操作时间,只有在计数器计满溢出时才可能中断CPU 当前的操作。
表1 TMOD寄存器表中各位(从左至右为从高位到低位)含义如下。
TMOD 的低4 位为定时器0 的方式字段,高4位为定时器1 的方式字段,它们的含义完全相同。
M1 和M0 :工作方式控制位,其定义如表2 所示( 其中i=0,1)。
表2 定时器工作方式控制位:功能选择位。
=0 时,设置为定时器工作方式;=1 时,设置为计数器工作方式。
GAte :门控位。
当GATE=0 时,软件控制位TR0 或TR1 置1 即可启动定时器。
TR0 或TR1 置0 即可停止定时器工作;当GATE=1 时,软件控制位TR0 或TR1 需置1,同时还需(P3.2) 或(P3.3) 为高电平方可启动定时器,即允许外部中断启动、定时器。
值得注意的是TMOD 寄存器不能位寻址,只能用字节指令设置高4 位定义定时器1 上的工作方式或低4 位定义定时器0 的工作方式。
而且在复位时,TMOD 所有位均置0。
表3 TCON寄存器表中各位(从左至右为从高位到低位)含义如下。
(1)TFl :定时器1 溢出标志位。
当定时器1 计满数产生溢出时,由硬件自动置TF1=1,向CPU发出定时器1 的中断请求,在中断允许时响应。
51单片机定时器计数器详解

PDF 文件使用 "pdfFactory Pro" 试用版本创建
二、定时器/计数器方式选择位 C/ T
1. C/T =0 选择定时方式。在定时方式中,以振荡输出时钟脉 冲的12分频信号作为定时的计数信号,也就是每一个机器 周期定时器加“1”,若晶振为12MHz,则定时器的计数频 率为1MHz。 2. C/T =1 选择计数功能。在计数方式中,采用外部引脚 T0(P3.4)、T1(P3.5)的输入脉冲作为计数脉冲, 当外部输 入脉冲发生1到0的负跳变时,计数器加1,最高计数频率为 时钟频率的1/24。
A B
C D E
F
G H
PDF 文件使用 "pdfFactory Pro" 试用版本创建
机器 周期
S1 S2 S3 S4 S5
指令 周期
S6 S1 S2
机器 周期
S3 S4 S5 S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
定时器/计数器是一种可编程部件,在工作之前必须 通过软件设定它的工作方式,即对工作方式寄存器TMOD中 每位进行设定。
T1
GATE C/ T M1 M0 GATE
T0
C/ T M1 M0
TMOD
字节地址89H
TMOD不能位寻址。上电复位时,TMOD所有位均为零。
PDF 文件使用 "pdfFactory Pro" 试用版本创建
TFx
中断 请求
+
定时器/计数器的比较 计数器
计数脉冲 外部信号下降沿 T0对应P3.4 T1对应P3.5 fmax=fosc/24
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.单片机定时器/计数器的结构
5.1 定时器的结构及工作原理
组成:两个16位的定时器T0和T1,以及他们的工作方式 寄存器TMOD和控制寄存器TCON等组成。内部通过总 线与CPU相连。 定时器T0和T1各由两个8位特殊功能寄存器TH0、TL0、 TH1、TL1构成。 工作方式寄存器TMOD:用于设置定时器的工作模式和 工作方式; 控制寄存器TCON:用于启动和停止定时器的计数,并控 制定时器的状态; 单片机复位时,两个寄存器的所有位都被清0。
3. 定时
一个钟表,秒针走60次,就是1分钟, 所以时间就转化为秒针走的次数,也就 是计数的次数,可见,计数的次数和时 间有关。只要计数脉冲的间隔相等,则 计数值就代表了时间,即可实现定时。 秒针每一次走动的时间是1秒,所以秒 针走60次,就是60秒,即1分钟。 因此,单片机中的定时器和计数器是一 个东西,只不过计数器是记录的外界发 生的事情,而定时器则是由单片机提供 一个非常稳定的计数源。
4. 溢出
上面我们举的例子,水滴满瓶子后, 再滴就会溢出,流到桌面上。单片机 计数器溢出后将使得TF0变为“1”, 一旦TF0由0变成1,就是产生了变化, 就会引发事件,就会申请中断。
5. 任意定时及计数的方法
计数器的容量是16位,也就是最大的计数值 到65536,计数计到65536就会产生溢出。 如果计数值要小于65536,怎么办呢?一个 空的瓶子,要1万滴水滴进去才会满,我们在 开始滴水之前就先放入一些水,就不需要 10000滴了。比如先放入2000滴,再滴8000 滴就可以把瓶子滴满。在单片机中,我们也 采用类似的方法,称为“预置数”的方法, 我们要计1000,那就先放进64536,再来 1000个脉冲,不就到了65536了吗?定时也 是如此。
8
两个可编程的定时器/计数器T1、T0。 每个定时器内部结构实际上就是一个可编程的加法计数 器,由编程来设置它工作在定时状态还是计数状态。
两种工作模式: (1) 计数器工作模式 就是对外部事件进行计数。计数脉冲来自相应的外部输 入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0 的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1) 的值增1。计数的最高频率一般为振荡频率的1/24。 Why? (2) 定时器工作模式 也是通过计数实现的。计数脉冲来自内部时钟脉冲,每 个机器周期计数值增1,每个机器周期=12个振荡周期, 因此计数频率为振荡频率的1/12。所以定时时间=计数 值×机器周期。 4种工作方式 (方式0-方式3) 。
第5章 定时器/计数器及其应用
5.1 定时器的结构及工作原理 5.2 定时器的TMOD和TCON寄存器 5.3 定时器的工作方式
◦ ◦ ◦ ◦
5.4 定时器的编程和应用
5.3.1 方式0 5.3.2 方式1 5.3.3 方式2 5.3.4 方式3
1
基本知识
定时器/计数器简介 1.计数概念
f0
f f0 /12
加1计数器 定时 计数
Tx TRx
控制信号K “1”启动,计数器运行; “0”停止,计数器停止;
TH x
TLx
TFx
INTx
定时器/计数器原理框图
当控制信号 定时器工作在定时方式;加1计数器对 脉冲 f 进行计数,每来一个脉冲,计数器加 1 ,直到计时器 f f0 /12 ,即一个计数脉冲的周期就是一个 计满溢出; 因为 f f0 /12 机器周期;计数器计数的是机器周期脉冲个数。从而实现 定时。 当控制信号 定时器工作在计数方式;加1计数器对 来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数, 每来一个脉冲,计数器加1,直到计时器计满溢出;
同学们选班长时,要投票,然后统计选票, 常用的方法是画“正”,每个“正”号五 划,代表五票,最后统计“正”号的个数 即可,这就是计数。单片机有两个定时/ 计数器T0和T1,都可对外部输入脉冲计 数。
2.计数器的容量
我们用一个瓶子盛水,水一滴滴地滴 入瓶中,水滴不断落下,瓶的容量是 有限的,过一段时间之后,水就会逐 渐变满,再滴就会溢出。单片机中的 计数器也一样,T0和T1这两个计数器 分别是由两个8位的RAM单元组成的, 即每个计数器都是16位的计数器,最 大的计数量是65536。
12
5.1 定时器的结构及工作原理
定时/计数器对输入信号的要求
1.
外部计数脉冲的最高频率为系统振荡器频率的1/24,例如 选用12MHz频率的晶体,则可输入500KHz的外部脉冲。
输入信号的高、低电平至少要分别保持一个机器周期。 如图所示,图中Tcy为机器周期。
2.
13
可编程定时器的工作方式、启动、停止、溢 出标志、计数器等都是可编程的——通过设 置寄存器TMOD,TCON,TH0,TL0,TH1和TL1 实现。 当设置了定时器的工作方式并启动定时器工 作后,定时器就按被设定好的工作方式独立 工作,不再占用CPU,只有在计数器计满溢 出时才向CPU申请中断,占用CPU。 由此可见,定时器是单片机中工作效率高且 应用灵活的部件。
C/T = 1
10
TCON(88H)
控制信号K可以控制计数器的“启动”和“停止”,
K = TRx(INTx + GATE)
11
指令周期 S1 S2 机器周期 S3 S4 S5 S6 S1 S2 机器周期 S4 S3 S5 S6
P P P P XTAL2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 1 P2 P1 P2 1 P2 1 P2 1 P2 P1 P2 P1 P2 (OSC) 振荡周期 状态周期