51单片机定时器的使用和详细讲解__特别是定时器2 PPT
合集下载
课件51单片机的定时计数器讲义
图6-13 P1.0引脚上输出周期为2ms的方波
30
基本思想:方波周期T0确定,T0每隔1ms计数溢出1次, 即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务 子程序中对P1.0取反,如图6-13所示。为此要做如下几步 工作。
(1)计算计数初值X
机器周期 = 2s = 2 10−6s
设需要装入T0的初值为X,则有 (216−X)210−6=1 10−3,216−X=500,X=65036。
33
PT0M0: MOV TL0,#0CH ;T0初始化,装初值的低8位
MOV TH0,#0FEH ;装初值的高8位
SETB ET0
;允许T0中断
SETB EA
;总中断允许
SETB TR0
;启动T0
RET
IT0P: MOV TL0,#0CH ;中断子程序,T0重装初值
X化为十六进制数,即: 65036 = FE0CH 。
T0的初值为TH0 =FEH,TL0 = 0CH。
31
(2)初始化程序设计 采用定时器中断方式工作。包括定时器初始化和中断系 统初始化,主要是对寄存器IP、IE、TCON、TMOD的相 应位进行正确的设置,并将计数初值送入定时器中。 (3)程序设计 中断服务子程序除了完成所要求的产生方波的工作之外 ,还要注意将计数初值重新装入定时器,为下一次产生中 断做准备。 本例,主程序用一条转至自身的短跳转指令来代替。
10
TR1位(或TR0位) = 0,停止定时器/计数器工作。 该位可由软件置“1”或清“0”。 6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。 6.2.1 方式0 M1、M0=00时,被设置为工作方式0,等效逻辑结构框图 如图6-4所示(以定时器/计数器T1为例,TMOD.5、 TMOD.4 = 00)。
30
基本思想:方波周期T0确定,T0每隔1ms计数溢出1次, 即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务 子程序中对P1.0取反,如图6-13所示。为此要做如下几步 工作。
(1)计算计数初值X
机器周期 = 2s = 2 10−6s
设需要装入T0的初值为X,则有 (216−X)210−6=1 10−3,216−X=500,X=65036。
33
PT0M0: MOV TL0,#0CH ;T0初始化,装初值的低8位
MOV TH0,#0FEH ;装初值的高8位
SETB ET0
;允许T0中断
SETB EA
;总中断允许
SETB TR0
;启动T0
RET
IT0P: MOV TL0,#0CH ;中断子程序,T0重装初值
X化为十六进制数,即: 65036 = FE0CH 。
T0的初值为TH0 =FEH,TL0 = 0CH。
31
(2)初始化程序设计 采用定时器中断方式工作。包括定时器初始化和中断系 统初始化,主要是对寄存器IP、IE、TCON、TMOD的相 应位进行正确的设置,并将计数初值送入定时器中。 (3)程序设计 中断服务子程序除了完成所要求的产生方波的工作之外 ,还要注意将计数初值重新装入定时器,为下一次产生中 断做准备。 本例,主程序用一条转至自身的短跳转指令来代替。
10
TR1位(或TR0位) = 0,停止定时器/计数器工作。 该位可由软件置“1”或清“0”。 6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。 6.2.1 方式0 M1、M0=00时,被设置为工作方式0,等效逻辑结构框图 如图6-4所示(以定时器/计数器T1为例,TMOD.5、 TMOD.4 = 00)。
51单片机定时器 66页PPT文档
(2) 当GATE=1时, “与门”的输出信号K由INTx输入 电平和TRx位的状态一起决定(即此时K=TRx·INTx),
当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。
返回
27
5.3 定时器的工作方式——方式1
5.3.2 方式1
M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。
缺点: 只有8位计数器,定时时间短、计数范 围小。其定时时间为: (28-初值)×振荡周期×12
若晶振频率为12MHz,则最长的定时时间为 (28-0)×(1/12)×12us=0.256ms
方式2工作过程图 (x=0, 1) 。
30
5.3 定时器的工作方式——方式3
5.3.4 方式3 只适用于定时器/计数器T0。T1不能工作在方式3。 如果将T1置为方式3,则相当于TR1=0,停止计数 (此时T1 可用来作串行口波特率产生器) 。
5.3.1 方式0 5.3.2 方式1 5.3.3 方式2 5.3.4 方式3
5.4 定时器的编程和应用
5
第5章 定时器/计数器及其应用
5.1 定时器的结构及工作原理
6
5.1 定时器的结构及工作原理
8051
内 部 结定 构时 框器 图
组成:两个16位的定时器T0和T1,以及他们的工作方式寄存器 TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。
当TL1的低5位计数溢出时,向TH1进位。而TH1计 数溢出时,则向中断标志位TF1进位(即硬件将TF1 置1),并请求中断。
可通过查询TF1是否置“1”或考察中断是否发生来判 定定时器T1的操作完成与否。
25
5.3 定时器的工作方式——方式0
当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。
返回
27
5.3 定时器的工作方式——方式1
5.3.2 方式1
M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。
缺点: 只有8位计数器,定时时间短、计数范 围小。其定时时间为: (28-初值)×振荡周期×12
若晶振频率为12MHz,则最长的定时时间为 (28-0)×(1/12)×12us=0.256ms
方式2工作过程图 (x=0, 1) 。
30
5.3 定时器的工作方式——方式3
5.3.4 方式3 只适用于定时器/计数器T0。T1不能工作在方式3。 如果将T1置为方式3,则相当于TR1=0,停止计数 (此时T1 可用来作串行口波特率产生器) 。
5.3.1 方式0 5.3.2 方式1 5.3.3 方式2 5.3.4 方式3
5.4 定时器的编程和应用
5
第5章 定时器/计数器及其应用
5.1 定时器的结构及工作原理
6
5.1 定时器的结构及工作原理
8051
内 部 结定 构时 框器 图
组成:两个16位的定时器T0和T1,以及他们的工作方式寄存器 TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。
当TL1的低5位计数溢出时,向TH1进位。而TH1计 数溢出时,则向中断标志位TF1进位(即硬件将TF1 置1),并请求中断。
可通过查询TF1是否置“1”或考察中断是否发生来判 定定时器T1的操作完成与否。
25
5.3 定时器的工作方式——方式0
单片机定时器的使用课件
02
单片机定时器的使用方法
定时器的初始化设置
定时器时钟源选择
根据单片机型号和系统时钟频 率,选择合适的定时器时钟源
。
定时器工作模式设定
根据需求选择定时器工作在计 数模式还是计时模式。
预分频器设置
根据定时时间要求,设置合适 的预分频系数,以降低计数频 率。
自动重载值设定
根据定时时间要求,设置合适 的自动重载值,以实现定时器
04
单片机定时器的编程技巧
优化定时器的启动与停止方式
定时器启动方式
在单片机定时器编程中,应选择合适的启动方式以减少误差。常用的启动方式有软件启动和外部信号 启动。软件启动通过编程指令控制定时器的启动,而外部信号启动则是通过外部硬件信号触发定时器 开始计时。
定时器停止方式
定时器停止计时的方式也会影响其精度。常用的停止方式有软件停止和外部信号停止。软件停止通过 编程指令控制定时器停止计时,而外部信号停止则是通过外部硬件信号触发定时器停止计时。
合理设置定时器的中断优先级
中断优先级设置
在单片机定时器编程中,应合理设置定 时器的中断优先级。中断优先级决定了 定时器触发中断的优先级,对程序的执 行顺序和实时性有重要影响。根据实际 需求,选择合适的中断优先级可以提高 程序的效率和稳定性。
VS
避免中断冲突
在设置定时器的中断优先级时,应注意避 免与其他中断源发生冲突。如果多个中断 源的中断优先级相近,可能会导致程序执 行混乱或出现不可预测的行为。因此,在 编程时应充分考虑各种中断源的优先级关 系,确保程序的正确执行。
定时器与其他单片机的集成与融合
集成化趋势
随着集成电路技术的发展,单片机定 时器将更加集成化,与其他单片机、 传感器、执行器等集成在一起,形成 更为紧凑和高效的系统。
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* ) 上 的 高电平来启动定时器/计数器运行。
第4章-51单片机对时间的控制PPT课件
13
定时工作方式0
在定时工作1,16位寄存器TH1和TL1只用13位,由TH1的8位和TL1的低5位组 成。当TL1的低5位计数溢出时,向TH1进位。而TH1计数溢出时,则向中断标志 位TF1进位(即硬件将TF1置1),并请求中断。可通过查询TF1是否置“1”或考 察中断是否发生来判定定时器T1的操作完成与否。
当GATE=0时,“或门”输出恒为1,“与门”的输出信号K由TR1决定,定 时器不受INT1输入电平的影响,由TR1直接控制定时器的启动和停止。 TR1=1;定时/计数启动; TR1=0;定时/计数停止;
当GATE=1时,“与门”的输出信号K由INT1输入电平和TR1位的状态一起 决定,当且仅当TR1=1且INT1=1(高电平)时,计数启动;否则,计数停止。
时计数器时,也就是TH0和TL0合并为一个16位数据寄存器,当计数达到最大状态 65535,如表4-5所示。如果再计一个数,就会产生溢出,此时标志位TF0被置为1, 而TH0和TL0都被清零。 ② TR1和TR0——定时器运行控制位
TR0(TR1)=0,停止定时器/计数器的工作。 TR0(TR1)=1,开启定时器/计数器的。
定时计数中断响应地址
中断源
定时/计数器 0(TF0) 定时/计数器 1(TF1)
向量地址
000BH~0012H 001BH~0022H
C51 中断序号
20
定时工作方式1
当工作方式控制寄存器控制位M1、M0=01,定时/计数器所在的工作方式为工 作方式1,假设我们使用定时器0,则定时数据寄存器就是由TH0的全部8位和 TL0全部8位组成。其逻辑电路和工作情况和方式0是完全相同的,所不同的只是 组成计数器的位数。
12
(5)定时\计数工作方式控制寄存器TMOD(89H)
定时工作方式0
在定时工作1,16位寄存器TH1和TL1只用13位,由TH1的8位和TL1的低5位组 成。当TL1的低5位计数溢出时,向TH1进位。而TH1计数溢出时,则向中断标志 位TF1进位(即硬件将TF1置1),并请求中断。可通过查询TF1是否置“1”或考 察中断是否发生来判定定时器T1的操作完成与否。
当GATE=0时,“或门”输出恒为1,“与门”的输出信号K由TR1决定,定 时器不受INT1输入电平的影响,由TR1直接控制定时器的启动和停止。 TR1=1;定时/计数启动; TR1=0;定时/计数停止;
当GATE=1时,“与门”的输出信号K由INT1输入电平和TR1位的状态一起 决定,当且仅当TR1=1且INT1=1(高电平)时,计数启动;否则,计数停止。
时计数器时,也就是TH0和TL0合并为一个16位数据寄存器,当计数达到最大状态 65535,如表4-5所示。如果再计一个数,就会产生溢出,此时标志位TF0被置为1, 而TH0和TL0都被清零。 ② TR1和TR0——定时器运行控制位
TR0(TR1)=0,停止定时器/计数器的工作。 TR0(TR1)=1,开启定时器/计数器的。
定时计数中断响应地址
中断源
定时/计数器 0(TF0) 定时/计数器 1(TF1)
向量地址
000BH~0012H 001BH~0022H
C51 中断序号
20
定时工作方式1
当工作方式控制寄存器控制位M1、M0=01,定时/计数器所在的工作方式为工 作方式1,假设我们使用定时器0,则定时数据寄存器就是由TH0的全部8位和 TL0全部8位组成。其逻辑电路和工作情况和方式0是完全相同的,所不同的只是 组成计数器的位数。
12
(5)定时\计数工作方式控制寄存器TMOD(89H)
第7章 单片机的定时器 优质课件
§5-2 定时 / 计数器
一、定时/ 计数器的结构
51子系列单片机内有两个十六位增一 定时 / 计数器
TH0 计数值高八位 TL0 计数值低八位
TH1 计数值高八位 TL1 计数值低八位
P3.4
控
控 P3.5
制
制
TMOD TCON
工作方式 定时 / 计数控制
5.2.1 定时器的控制
1、工作方式控制寄存器 TMOD
M1M0—— 工作模式选择位(编程可决定四种工作模式)。
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T 类同 0
M1 M0 00 01 10 11
方式 方式0 方式1 方式2 方式3
0
定时器模式
1
计数器模式
0
与INT 0无关
1
与INT 0有关
GATE = 1时,TRi = 1,且 INTi =1,才启动定时 / 计数。
ORG 0000H
LJMP MAIN
ORG 2000H
MAIN:MOV TMOD,#99H ;T0、T1均工作在定时,
;模式1,GATE=1
MOV A,#00H
;T0、T1赋计数初值00H,
; 定时器最大计数值为0000 ~ 65536
LOOP: JBC TF1, LOOP1 AJMP LOOP
LOOP1 : MOV TL0,#03H MOV TH0,#0FCH CLR TF1 CPL P1.0 AJMP LOOP
小结:1、MCS-51单片机内有几个定时计数器? 如何计数?
2、T0、T1有几种工作方式? 3、编程应用前要事先确定的参数有几个?
一、定时/ 计数器的结构
51子系列单片机内有两个十六位增一 定时 / 计数器
TH0 计数值高八位 TL0 计数值低八位
TH1 计数值高八位 TL1 计数值低八位
P3.4
控
控 P3.5
制
制
TMOD TCON
工作方式 定时 / 计数控制
5.2.1 定时器的控制
1、工作方式控制寄存器 TMOD
M1M0—— 工作模式选择位(编程可决定四种工作模式)。
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T 类同 0
M1 M0 00 01 10 11
方式 方式0 方式1 方式2 方式3
0
定时器模式
1
计数器模式
0
与INT 0无关
1
与INT 0有关
GATE = 1时,TRi = 1,且 INTi =1,才启动定时 / 计数。
ORG 0000H
LJMP MAIN
ORG 2000H
MAIN:MOV TMOD,#99H ;T0、T1均工作在定时,
;模式1,GATE=1
MOV A,#00H
;T0、T1赋计数初值00H,
; 定时器最大计数值为0000 ~ 65536
LOOP: JBC TF1, LOOP1 AJMP LOOP
LOOP1 : MOV TL0,#03H MOV TH0,#0FCH CLR TF1 CPL P1.0 AJMP LOOP
小结:1、MCS-51单片机内有几个定时计数器? 如何计数?
2、T0、T1有几种工作方式? 3、编程应用前要事先确定的参数有几个?
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T1
T0
00:模式0
方式 01:模式1 方式
选择
10:模式2 11:模式3
选择
图8-2 模式寄存器组成
3.控制寄存器(TCON)
TCON高4位用于控制定时器0、1的运行;低4位用于控 制外部中断,与定时器无关。
定时器0、1运行控 制位TR0(TR1): TR0(TR1)=1 启动 TR0(TR1)=0 停止
T0加法计数器的高8位和低8位分别用TH0、TL0表 示
T1加法计数器的高8位和低8位分别用TH1、TL1 表示
高8位和第8为可分别单独使用
当定时器工作时,加法计数器对内部机器周期脉 冲Tcy计数。
Tcy
2.模式寄存器(TMOD)
TMOD用来选择定时器0、1的工作模式,低4位 用于定时器0,高4位用于定时器1,其组成如图 8-2所示。
专用硬件电路定时:可实现精确的定时和计数,但参数 调节不便。
可编程定时器/计数器:不占用CPU时间,能与CPU并行 工作,实现精确的定时和计数,又可以通过编程设置其 工作方式和其它参数,因此使用方便。
定时器的基本工作原理是:利用计数器对固定周 期的脉冲计数,通过寄存器的溢出来触发中断。
具体应用步骤:
51单片机定时器的使用和详细讲解__特别 是定时器2
章节概述 很棒
8.1 概述 8.2 定时器T0和T1的结构 8.3 定时器工作模式 8.4 定时器T2
8.1 概述
定时器是单片机的重要功能模块之一,在检测、 控制领域有广泛应用。
定时器常用作定时时钟,以实现定时检测、定 时响应、定时控制,并且可用于产生ms宽的 脉冲信号,驱动步进电机
加法计数器对机器周期脉冲Tcy计数,每个机器周 期TL0加1。
定时器的定时时间
T(81-X 9)2 Tcy
计数初始值X
X2n-定时时(此 间n处 1)3 Tcy
最大定时能力:
Tma8x19 T2cy
模式0的结构图如图8-4所示。1计3位数加器法
门控位
GATE=0 定时器不受 控于外部信号;仅打 开与门,是定时器仅 有TR位控制; GATE=1 定时器受控 于外部信号,此时要 求TR=1;
计数初值 2n -定时时间 Tcy
X 2 1 30 .6 * 160 81 8 90 2 1 09 0 0 x 20 C 75
高 8位 TH 00000010x1006
T0从192开始计数,直到 超过8192即溢出,置
低 5位 TL 00000000x0000
TF0=1,产生中断信号
定时器初始化程序 MOV TL0, #0X00 MOV TH0,#0X06 MOV TMOD,#0X00 SETB ET0 SETB TR0
定时器中断服务程序 PUSH …. …… CPL P0_0 …… POP …
2.工作模式1 T0M(T1M)=01时定时器设定为工作模式1,此时
定时器0(定时器1)被设置为16位定时器。此时 TH0、TL0都是8位加法计数器。其他与工作方式0 相同。 定时器的定时时间
图8-3 控制寄存器组成
定时器0、1溢, 由硬件自动清0
4.中断使能寄存器(IEN0)
IEN0中的ET0(ET1)位控制定时器0、1是否产生中断 请求信号。为0时不产生中断请求信号,为1时允许产 生中断请求信号。其结构如图8-4所示。
8.2 定时器T0和T1的结构
定时器T0和T1的结构如图8-1所示。
核心寄存 器——16位 加法计数器
图8-1 定时器T0和T1结构图
定时器模 式寄存器
大家应该也有点累了,稍作休息
大家有疑问的,可以询问和交流
1.16位加法计数器
16位加法计数器是定时器的核心,图8-1中用寄存 器TH0、TL0及TH1、TL1表示。
图8-3 中断使能寄存器组成
定时器0中 断使能位
定时器0中 断使能位
8.3 定时器工作模式
定时器0 和定时器1 完全兼容,均可设定为四 种不同的工作模式,如表8-1 所示。寄存器 TMOD 的位域TxM选择定时器的工作模式。
两个定时器在模式0、1 和2 时独立工作;在 模式3 时具有特定功能。
图8-4 方式0结构图
例题:生成周期为1.2 ms的等宽正方波。机器晶 振26.67MHz。使用T0以方式0工作,由P0.0输出
1.2 ms
机器周期:37.5ns。计数周期Tcy是机器脉冲 的2分频,因此Tcy=75ns;
定时时间0.6ms 。 以0.6 ms为周期在P1.0端交替输出高低电平。
表8-1 定时器0 和定时器1 工作模式
1.工作模式0
当T0M(T1M)=00时定时器设定为工作模式0,此 时定时器工作于13位定时状态。
其中TH0是高8位加法计数器,TL0是低5位加法计 数器(TL0只用了低5位,高3位未用)。TL0加法 计数溢出时向TH0进位,TH0加法计数溢出时硬件 置TF0=1。
定时器0、1各具有四种工作模式;定时器2有两 种工作模式。
定时器0、1和定时器2的任何一种工作模式均可 通过程序对相应寄存器进行设置来选择。
定时器在定时时间到时,可以由程序决定是否产 生中断请求信号,进而判断是否执行中断程序。
但是,无论中断请求信号是否产生,当定时器在 定时时间到时,定时器的溢出标志位TF0(TF1) 由硬件置“1”。
1)根据需要的定时时间,结合单片机的晶振频率, 计算出寄存器的初始值
2)根据需要开中断
3)启动定时器
若已规定用软件启动,则可把TR0、TR1或TR2置“1”; 若已规定由外中断引脚电平启动,则需给外引脚步加启动 电平。当实现了启动要求后,定时器即按规定的工作方式 和初值开始计数或定时。
XC866单片机有三个16位的定时器——定时器0、 定时器1和定时器2。
定时和计数功能最终都是通过计数实现的,若 计数的事件源是周期固定的脉冲,则可以实现 定时功能,否则只能实现计数功能。因此可以 将定时和计数功能由一个部件实现。
实现定时和计数的方法一般有:软件定时、专用 硬件电路和可编程定时器/计数器三种方法。
软件定时:执行一个循环程序进行时间延迟。定时准确,不 需要外加硬件电路,但增加CPU开销。