第6章 定时器及应用PPT课件
合集下载
单片机原理及应用 第06章定时计数器
20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
第6章AT89C51定时器计数器
用12MHz频率的晶体 ,则可输入500KHz的外部脉冲。 输入信号的高 、低电平至少要保持一个机器周期 。如图6- 12
所示 , 图中Tcy为机器周期。
图6- 12
6.4 定时器/计数器的编程和应用 4种工作方式中 ,方式0与方式1基本相同 , 由于方式0是为兼容
MCS-48而设 ,初值计算复杂 ,在实际应用中 ,一般不用方式 0 ,而采用方式1。 6.4. 1 方式1应用 例6- 1 假设系统时钟频率采用6MHz ,要在P1.0上输出一个周期 为2ms 的方波 ,如图6- 13所示。
M1 、M0=01 , 16位的计数器。
图6-5 6.2.3 方式2 计数满后自动装入计数初值。
M1 、M0= 10 ,等效框图如下:
图6-6
TLX作为常数缓冲器 , 当TLX计数溢出时 ,在置“ 1 ”溢出标志 TFX的同时 ,还自动的将THX中的初值送至TLX ,使TLX从初 值开始重新计数。
定时器/计数器的方式2工作过程如图6-7 (X=0, 1) 。
图6-7 省去用户软件中重装初值的程序 ,来精确定时。
6.2.4 方式3 增加一个附加的8位定时器/计数器 , 从而具有3个定时器/计数
器。
只适用于定时器/计数器T0 。T1不能工作在方式3 。 T1方式3时相当于TR1=0 ,停止计数(此时T1可用来作串行口
图6-8( a)
图6-8(b)
2. T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时 , T0才工作在方式3 。 T0为方式3时 , T1可定为方式0 、方式1和方式2 ,用来作为串
行口的波特率发生器 , 或不需要中断的场合。 ( 1)T1工作在方式0
图6-9
(2) T1工作在方式1
所示 , 图中Tcy为机器周期。
图6- 12
6.4 定时器/计数器的编程和应用 4种工作方式中 ,方式0与方式1基本相同 , 由于方式0是为兼容
MCS-48而设 ,初值计算复杂 ,在实际应用中 ,一般不用方式 0 ,而采用方式1。 6.4. 1 方式1应用 例6- 1 假设系统时钟频率采用6MHz ,要在P1.0上输出一个周期 为2ms 的方波 ,如图6- 13所示。
M1 、M0=01 , 16位的计数器。
图6-5 6.2.3 方式2 计数满后自动装入计数初值。
M1 、M0= 10 ,等效框图如下:
图6-6
TLX作为常数缓冲器 , 当TLX计数溢出时 ,在置“ 1 ”溢出标志 TFX的同时 ,还自动的将THX中的初值送至TLX ,使TLX从初 值开始重新计数。
定时器/计数器的方式2工作过程如图6-7 (X=0, 1) 。
图6-7 省去用户软件中重装初值的程序 ,来精确定时。
6.2.4 方式3 增加一个附加的8位定时器/计数器 , 从而具有3个定时器/计数
器。
只适用于定时器/计数器T0 。T1不能工作在方式3 。 T1方式3时相当于TR1=0 ,停止计数(此时T1可用来作串行口
图6-8( a)
图6-8(b)
2. T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时 , T0才工作在方式3 。 T0为方式3时 , T1可定为方式0 、方式1和方式2 ,用来作为串
行口的波特率发生器 , 或不需要中断的场合。 ( 1)T1工作在方式0
图6-9
(2) T1工作在方式1
第06章 MCS-51单片机定时计数器
10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)
位
D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清
▪
MOV TMOD,#10H
;工作方式1设定
▪
MOV TH1,#0FEH
;计数1初值设定
▪
MOV TL1,#0CH
▪
MOV IE,#00H
;关中断
▪
SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出
▪
第6章MCS-51的定时器
• 28×12×1/12MHz=28us=256us=0.256ms
工作方式2_补充说明
8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时 ,TH0中的计数初值自动装入TL0,即TL0是一个自动 恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。
工作方式1_应用分析
定时和计数的应用 计数范围:1~216 计数计算公式:计数值=216-计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期~216机器周期 定时计算公式:定时时间=(216-定时初值)×
机器周期 如果晶振频率为6MHz ,则最大定时时间为: 216×12×1/6MHz=217us=131072us=131.072ms 如果晶振频率为12MHz ,则最大定时时间为: 216×12×1/12MHz=216us=65536us=65.536ms 工作方式1的定时计数功能切换模式,与工作方式
0完全一样;而启动定时计数器的模式,也与工作方式 0完全一样。计数量方式1更大,可完全取代方式0。
6.2.3 方式2
方式2为自动重装初值的8位计数方式。
TCON
TF1 D7
申请 中断
TR1
溢出8位计数器
1
TF0
TL0
TR0
0 &
TH1重TH装0 单元 ≥1 8位
D0
T0引脚
机器周期 1
INT0引脚
6.1.1 工作方式控制寄存器TMOD TMOD(工作方式寄存器):选择定时器/计数器T0、T1的工作 模式和工作方式,字节地址为89H,不能位寻址。
8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位
第6章定时器及应用分析PPT课件
T 1 初 5 值 5 5 D 8 F 30 H 6
解:2)确定工作模式寄存器TMOD的值 ∵ 定时器T1工作于模式1的定时器工作方式, ∴ 高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取0。 ∴ (TMOD)=0001 0000 B = 10H
3)编程
MOV SETB LOOP:MOV MOV JNB CLR CPL SJMP
28
(2) 计算计数初值 因为: (216-X)×12×10-6 ×1/12=50×10-3 所以: X=15536=3CB0H 因此: TH0=3CH,TL0=B0H
(3) 10次计数的实现 设计一个软件计数器,初始值设为10。每隔 50ms定时时间到,产生溢出标志TF0,程序查询 到TF0=1,则软件计数器减1。这样减到0时就获 得了500ms的定时。
• T0为方式0, M1M0=00 • 定时工作状态, C/T=0 • GATE=0,不受INT0控制, • T1不用全部取“0”值。 • 故TMOD=00H
25
第二步: 计算1ms定时的初值X
设初值为X,则有: (213-X) ×12×10-6 ×1/12=1×10-3 可求得:X=8192-1000=7192
第6章 定时器及应用
§6.1 定时器概述 §6.2 定时器的控制 §6.3 定时器的四种模式及应用 §6.4 思考题与习题
*
6.1 定时器概述
• 89C51/S51/S51单片机片内有两个16位定时器/计数器 定时器0(T0) 定时器1(T1)。
• 定时和事件计数 • 用于定时控制、延时、对外部事件计数和检测等场合。
& INT0引脚接一脉冲可 测脉宽
22
模式 1 工作特点
• 该模式对应的是一个16位的定时器/计数器。
解:2)确定工作模式寄存器TMOD的值 ∵ 定时器T1工作于模式1的定时器工作方式, ∴ 高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取0。 ∴ (TMOD)=0001 0000 B = 10H
3)编程
MOV SETB LOOP:MOV MOV JNB CLR CPL SJMP
28
(2) 计算计数初值 因为: (216-X)×12×10-6 ×1/12=50×10-3 所以: X=15536=3CB0H 因此: TH0=3CH,TL0=B0H
(3) 10次计数的实现 设计一个软件计数器,初始值设为10。每隔 50ms定时时间到,产生溢出标志TF0,程序查询 到TF0=1,则软件计数器减1。这样减到0时就获 得了500ms的定时。
• T0为方式0, M1M0=00 • 定时工作状态, C/T=0 • GATE=0,不受INT0控制, • T1不用全部取“0”值。 • 故TMOD=00H
25
第二步: 计算1ms定时的初值X
设初值为X,则有: (213-X) ×12×10-6 ×1/12=1×10-3 可求得:X=8192-1000=7192
第6章 定时器及应用
§6.1 定时器概述 §6.2 定时器的控制 §6.3 定时器的四种模式及应用 §6.4 思考题与习题
*
6.1 定时器概述
• 89C51/S51/S51单片机片内有两个16位定时器/计数器 定时器0(T0) 定时器1(T1)。
• 定时和事件计数 • 用于定时控制、延时、对外部事件计数和检测等场合。
& INT0引脚接一脉冲可 测脉宽
22
模式 1 工作特点
• 该模式对应的是一个16位的定时器/计数器。
第六章 STM32 定时器的使用 《基于ARM的单片机应用及实践--STM32案例式教学》课件
第六章 STM32 定时器的使用
AHB预分频 /1,2,…,512
APB1预分频 /1,2,4,8,16
最大36MHz
PCLK1 至APB1外设
20个外设时钟使能位
TIM2,3,4,5,6,7 如果APB1预分频=1, 则乘1输出,否则乘2输出
6个外设时钟使能位
TIMXCLK 至TIM2~7
APB2预分频 /1,2,4,8,16
第六章 STM32 定时器的使用
PWM模式 脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器 确定频率、由TIMx_CCRx寄存器确定占空比的信号。 在TIMx_CCMRx寄存器中的OCxM位写入‘110’(PWM 模式1)或‘111’(PWM模式2),能够独立地设置每个 OCx输出通道产生一路PWM。必须设置TIMx_CCMRx 寄存器OCxPE位以使能相应的预装载寄存器, 最后要设置TIMx_CR1寄存器的ARPE位,(在向上计数 或中心对称模式中)使能自动重装载的预装载寄存器。
这个倍频器的作用:当APB1的预分频系数为1时,倍 频器不起作用,定时器的时钟频率等于APB1的频率; 当APB1的预分频系数为其它数值(即预分频系数为2、4 、8或16)时,这个倍频器起作用,定时器的时钟频率 等于APB1的频率两倍。
第六章 STM32 定时器的使用 下面举一个例子说明。假定AHB=36MHz,因为APB1 允许的最大频率为36MHz,所以APB1的预分频系数可 以取任意数值;当预分频系数=1时,APB1=36MHz, TIM2~7的时钟频率=36MHz(倍频器不起作用);
第六章 STM32 定时器的使用
3)设置TIM3_DIER允许更新中断 因为我们要使用TIM3的更新中断,所以设置DIER 的UIE位,并使能触发中断。
《定时器及应用举例》课件
根据应用需求选择定时器的时 间单位,如秒、分钟、小时等
。
设置触发条件
根据应用需求设置定时器的触 发条件,如时间到达、外部信 号触发等。
设置时间间隔
根据应用需求设置定时器的时 间间隔,如每隔一定时间触发 一次。
保存设置
完成设置后保存相关参数,确 保定时器能够按照预设参数进
行工作。
04
定时器的应用举例
软件编程
01
02
03
04
选择编程语言
根据定时器的厂商提供的编程 语言进行编程。
编写程序
根据应用需求编写程序,设置 定时器的触发条件、时间间隔
等参数。
调试程序
通过模拟或实际测试,对程序 进行调试,确保定时器能够按
照预期工作。
下载程序
将编写好的程序下载到定时器 中进行测试或实际应用
用于控制室内温度,实现 自动开关机,节省能源。
冰箱
用于控制冷藏和冷冻室的 温度,保持食物的新鲜度 。
洗衣机
用于控制洗涤和漂洗的时 间,实现自动化洗衣。
工业控制领域应用举例
自动化生产线
仪器仪表
用于控制生产线的启动和停止,保证 生产过程的稳定性和效率。
用于控制和监测各种工业设备的运行 状态和参数。
不要将电源直接连接到定时器的输出端,以防设 备损坏和火灾风险。
使用注意事项
设置时间
在设置定时器时间时,确保时间设置正确,避免误操作导致设备 无法正常工作。
安装位置
确保定时器安装在通风良好、干燥、无尘的地方,以防设备过热或 受潮。
定期校准
定期检查和校准定时器,以确保其准确性和可靠性。
维护与保养
清洁外壳
03
定时器的使用方法
。
设置触发条件
根据应用需求设置定时器的触 发条件,如时间到达、外部信 号触发等。
设置时间间隔
根据应用需求设置定时器的时 间间隔,如每隔一定时间触发 一次。
保存设置
完成设置后保存相关参数,确 保定时器能够按照预设参数进
行工作。
04
定时器的应用举例
软件编程
01
02
03
04
选择编程语言
根据定时器的厂商提供的编程 语言进行编程。
编写程序
根据应用需求编写程序,设置 定时器的触发条件、时间间隔
等参数。
调试程序
通过模拟或实际测试,对程序 进行调试,确保定时器能够按
照预期工作。
下载程序
将编写好的程序下载到定时器 中进行测试或实际应用
用于控制室内温度,实现 自动开关机,节省能源。
冰箱
用于控制冷藏和冷冻室的 温度,保持食物的新鲜度 。
洗衣机
用于控制洗涤和漂洗的时 间,实现自动化洗衣。
工业控制领域应用举例
自动化生产线
仪器仪表
用于控制生产线的启动和停止,保证 生产过程的稳定性和效率。
用于控制和监测各种工业设备的运行 状态和参数。
不要将电源直接连接到定时器的输出端,以防设 备损坏和火灾风险。
使用注意事项
设置时间
在设置定时器时间时,确保时间设置正确,避免误操作导致设备 无法正常工作。
安装位置
确保定时器安装在通风良好、干燥、无尘的地方,以防设备过热或 受潮。
定期校准
定期检查和校准定时器,以确保其准确性和可靠性。
维护与保养
清洁外壳
03
定时器的使用方法
第六章-STM32-定时器的使用-《基于ARM的单片机应用及实践--STM32案例式教学》课件
第六章 STM32 定时器的使用 通用定时器配置步骤
1)TIM3时钟使能 这里我们通过APB1ENR的第1位来设置TIM3的时钟,因为 Stm32_Clock_Init函数里面把APB1的分频设置为2了, 所以我们的TIM3时钟就是APB1时钟的2倍,等于系统时 钟(72M)。 2)设置TIM3_ARR和TIM3_PSC的值 通过这两个寄存器,设置自动重装的值及分频系数。这 两个参数加上时钟频率就决定了定时器的溢出时间。
计数器寄存器:TIMx_CNT 预分频器寄存器:TIMx_PSC 自动装载寄存器:TIMx_ARR
第六章 STM32 定时器的使用 通用寄存器时基单元 1)计数器寄存器:TIMx_CNT
16位的计数器,设定值从1~65535
第六章 STM32 定时器的使用 计数器模式 向上计数模式:计数器从0计数到设定的数值,然后 重新从0开始计数并且产生一个计数器溢出事件。
在定时器配置完了之后,因为要产生中断,必不可少的 要设置NVIC相关寄存器,以使能TIM3中断。
6)编写中断服务函数 编写定时器中断服务函数,通过该函数处理定时器 产生的相关中断。中断产生后,通过状态寄存器的 值来判断此次产生的中断属于什么类型。然后执行 相关的操作。
第六章 STM32 定时器的使用 通用寄存器时基单元
第六章 STM32 定时器的使用
2)预分频器寄存器:TIMx_PSC 预分频器可以讲计数器的时钟频率按1到65536之间的任 意值分频,它是一个16位寄存器。 这个寄存器带有缓冲区,它能够在工作时被改变。新的 预分频器参数在下一次更新事件到来时被采。
第六章 STM32 定时器的使用 预分频器寄存器在事件更新时采用
定时器的工作频率计算公式为 CK_CNT=定时器时钟/(TIMx_PSC+1) 其中CK_CNT表示定时器工作频率 TIMx_PSC表示分频系数
第6章 定时器及应用
振荡器
12
C/T=0 C/T=1 T0 TR0 GATE INT0 1 >1 & 控制
TL0 (8位 )
TF0
中断
重新输入
TH0 (8位 )
定时器0(或定时器1)方式2时的逻辑结构图
四、方式3 (仅T0有)
振荡器 1 f 12 osc C/T=0 C/T=1 T0 控制 TR0 GATE INT0 1 f 12 osc TR1 TH0 (8位) TF1 中断 1 ≥1 & TL0 (8位) TF0 中断 ÷ 12 1 f 12 osc
注意: 当GATE=0时,TR0/TR1置1即可启动CTC。 当GATE=1时,且引脚P3.2/P3.3为高电平时,TR0/TR1置1启 动定时器。
TCON
TF1
ቤተ መጻሕፍቲ ባይዱ
TR1
TF0
TR0
IE1
IT1
IE0
IT0
② 溢出中断标志位TF0、TF1 T0/T1计满数产生溢出时,使TF0/TF1=1,引起T0/T1中断请 求,CPU响应T0/T1中断后,硬件自动将TF0/TF1清0 。 在中断屏蔽时,TF0/TF1可作查询测试用,此时只能由软件 清0。如: WAIT:JB TF0,NEXT ;检测T0是否溢出 SJMP WAIT ;未溢出,继续检测 NEXT:CLR TF0 ;溢出,TF0清0,处理溢出 … TCON中的低4位用于控制外部中断,与定时/计数器无关。 当系统复位时,TCON的所有位均清0。 3. 可预置初值的16位加1计数器TH0、TL0、 TH1、TL1
第6章 定时器及应用
6-1 6-2 6-3 6-4 定时器(CTC)概念 89C51定时器 89C51定时器的工作方式 89C51定时器的应用程序设计
12
C/T=0 C/T=1 T0 TR0 GATE INT0 1 >1 & 控制
TL0 (8位 )
TF0
中断
重新输入
TH0 (8位 )
定时器0(或定时器1)方式2时的逻辑结构图
四、方式3 (仅T0有)
振荡器 1 f 12 osc C/T=0 C/T=1 T0 控制 TR0 GATE INT0 1 f 12 osc TR1 TH0 (8位) TF1 中断 1 ≥1 & TL0 (8位) TF0 中断 ÷ 12 1 f 12 osc
注意: 当GATE=0时,TR0/TR1置1即可启动CTC。 当GATE=1时,且引脚P3.2/P3.3为高电平时,TR0/TR1置1启 动定时器。
TCON
TF1
ቤተ መጻሕፍቲ ባይዱ
TR1
TF0
TR0
IE1
IT1
IE0
IT0
② 溢出中断标志位TF0、TF1 T0/T1计满数产生溢出时,使TF0/TF1=1,引起T0/T1中断请 求,CPU响应T0/T1中断后,硬件自动将TF0/TF1清0 。 在中断屏蔽时,TF0/TF1可作查询测试用,此时只能由软件 清0。如: WAIT:JB TF0,NEXT ;检测T0是否溢出 SJMP WAIT ;未溢出,继续检测 NEXT:CLR TF0 ;溢出,TF0清0,处理溢出 … TCON中的低4位用于控制外部中断,与定时/计数器无关。 当系统复位时,TCON的所有位均清0。 3. 可预置初值的16位加1计数器TH0、TL0、 TH1、TL1
第6章 定时器及应用
6-1 6-2 6-3 6-4 定时器(CTC)概念 89C51定时器 89C51定时器的工作方式 89C51定时器的应用程序设计
第6章 定时器及应用(李海1031)PPT课件
② TF0(TCON.5) —T0溢出标志位。 其功能和操作情况同TF1。 当T0溢出时,由硬件自动使中断触发器TF0置1, 并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1被硬 件自动清0。TF1也可以用软件清0。
03.12.2
③ TR1(TCON.6)—T1运行控制位。
可通过软件置1(TR1=1)或清0(TR1=0) 来启动或 关闭 T1工作。
• TCON除可字节寻址外,各位还可位寻址。
• 89C51系统复位时,TCON的所有位被清0。 • TCON各位的定义格式如 图6-5所示。 • TCON各位定义及具体的意义归纳如 图6-6所示。
03.12.2
图6-5 控制寄存器TCON的位定义
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
03.12.2Leabharlann ⑤ IE1,IT1,IE0,IT0(TCON.3~TCON.0) ——外部中断INT1,INT0请求及请求方式 控制位。前一章已经讲过。
03.12.2
§6.3 定时器的四种模式及应用
§6.3.1 §6.3.2 §6.3.3 §6.3.4 §6.3.5
模式 0 及其应用 模式 1 及其应用 模式 2 及其应用 模式 3 及其应用 综合应用举例
M1 M0 00 01 10
11
工作模式
功能描述
模式0 13 位计数器
模式1 16 位计数器
模式2 自动再装入8 位计数器
模式3
定时器0:分成二个8 位计数器 定时器1:停止计数
03.12.2
② C/T—计数器/定时器方式选择位。 C/T=0,设置为定时方式。定时器计数 89C51片内脉冲,即对机器周期计 数。 C/T=1,设置为计数方式。计数器的输入 来自引脚T0(P3.4)或T1(P3.5) 端的外部脉冲 。
第6章 STC89C52单片机定时计数器
启/停位TRx设置;TR0=1
精选完整ppt课件
29 29
方法一、中断方式:
MAIN: HERE:
ORG LJMP ORG LJMP ORG MOV MOV MOV MOV SETB SETB SETB AJMP
0000H
MAIN
000BH
T0P
0100H
SP,#60H
;设置堆栈指针
TMOD,#00H ;T0为定时、方式0、门控GATE0=0
精选完整ppt课件
25 25
实际定时时间Tc = x • Tp
式中Tp为机器周期,Tc为所需定时时间,x为所需计数次数,主频和Tc一般 是已知值,在求得Tp后就可求得所需计数值x,再求x的补码,即求得定时的 计数初值。(x)补=2n - x 例如:设定时时间为2ms,机器周期Tp为2μs,可求得定时计数次数为:
当实现了启动要求之后,定时器就按规
定的工作方式和初值开始计数或定时。
精选完整ppt课件
14 14
因为定时器/计数器是作“加1”计数,并在计满溢 出时产生中断,初值X可以这样计算:
X = M - 计数值(计数次数) 例1:在6MHZ主频下,要求产生1ms的定时,计算初值
分析: 因为定时器每“加1”一次所需的时间为2μs,如果 要产生1ms的定时,需加500次,500即为计数值。 方式1下工作: 初值 X =M-计数值=65536-500=FE0CH
在模式0、1和2,T0和T1的工作方式相同, 在模式3,两个定时器的方式不同。下面以T1 为例,分述各种工作方式的特点和用法。
精选完整ppt课件
17 17
1.方式0
精选完整ppt课件
18
2.方式1
精选完整ppt课件
精选完整ppt课件
29 29
方法一、中断方式:
MAIN: HERE:
ORG LJMP ORG LJMP ORG MOV MOV MOV MOV SETB SETB SETB AJMP
0000H
MAIN
000BH
T0P
0100H
SP,#60H
;设置堆栈指针
TMOD,#00H ;T0为定时、方式0、门控GATE0=0
精选完整ppt课件
25 25
实际定时时间Tc = x • Tp
式中Tp为机器周期,Tc为所需定时时间,x为所需计数次数,主频和Tc一般 是已知值,在求得Tp后就可求得所需计数值x,再求x的补码,即求得定时的 计数初值。(x)补=2n - x 例如:设定时时间为2ms,机器周期Tp为2μs,可求得定时计数次数为:
当实现了启动要求之后,定时器就按规
定的工作方式和初值开始计数或定时。
精选完整ppt课件
14 14
因为定时器/计数器是作“加1”计数,并在计满溢 出时产生中断,初值X可以这样计算:
X = M - 计数值(计数次数) 例1:在6MHZ主频下,要求产生1ms的定时,计算初值
分析: 因为定时器每“加1”一次所需的时间为2μs,如果 要产生1ms的定时,需加500次,500即为计数值。 方式1下工作: 初值 X =M-计数值=65536-500=FE0CH
在模式0、1和2,T0和T1的工作方式相同, 在模式3,两个定时器的方式不同。下面以T1 为例,分述各种工作方式的特点和用法。
精选完整ppt课件
17 17
1.方式0
精选完整ppt课件
18
2.方式1
精选完整ppt课件
第6章定时器计数器
方式0
系统 时钟 ÷12 C/ T =0
计数器+1
TH TL5
TL的低5位 TFi 溢出 标志
外部引脚Ti
模式控制C/ T=1 TRi
启动 控制 工作方式选择 M1 M0=00
GATE + 外部引脚INTi
&
方式1
系统 时钟 ÷12 计数器+1
中断
TFi 溢出 标志
TL TH
外部引脚Ti 模式控制C/ T TRi & 启动 控制 工作方式选择 M1 M0=01
TF1
TR1
TF0 TR0
IE1
IT1
IE0
IT0
高4位管理定时器控制器,低4位管理外部中断
TF1:定时器1溢出标志位。当定时器1计满溢出 时,由硬件自动使TF1置1,并申请中断。
TR1:定时器1启停控制位。
GATE=0时,用软件使TR1置1即启动定时器1 ,若用软件使TR1清0则停止定时器1 GATE=1时,用软件使TR1置1的同时外部中断 INT1的引脚输入高电平才能启动定时器1。
GATE=0:用指令使TCON中的TR1置1即可启动 定时器1。 GATE=1:软件和硬件共同启动定时器,即用指 令使TCON中的TR1置1时,只有外部中断INT1引 脚输入高电平时才能启动定时器1。
(2) C/T:功能选择位 C/T=0时,以定时器方式工作。 C/T=1时,以计数器方式工作。 (3) M1、M0:方式选择位
6.2 定时器/计数器的控制
1.工作方式控制寄存器TMOD
定时器方式寄存器TMOD的作用是设置T0、T1 的工作方式。 TMOD字节地址为89H,不能位寻址
系统 时钟 ÷12 C/ T =0
计数器+1
TH TL5
TL的低5位 TFi 溢出 标志
外部引脚Ti
模式控制C/ T=1 TRi
启动 控制 工作方式选择 M1 M0=00
GATE + 外部引脚INTi
&
方式1
系统 时钟 ÷12 计数器+1
中断
TFi 溢出 标志
TL TH
外部引脚Ti 模式控制C/ T TRi & 启动 控制 工作方式选择 M1 M0=01
TF1
TR1
TF0 TR0
IE1
IT1
IE0
IT0
高4位管理定时器控制器,低4位管理外部中断
TF1:定时器1溢出标志位。当定时器1计满溢出 时,由硬件自动使TF1置1,并申请中断。
TR1:定时器1启停控制位。
GATE=0时,用软件使TR1置1即启动定时器1 ,若用软件使TR1清0则停止定时器1 GATE=1时,用软件使TR1置1的同时外部中断 INT1的引脚输入高电平才能启动定时器1。
GATE=0:用指令使TCON中的TR1置1即可启动 定时器1。 GATE=1:软件和硬件共同启动定时器,即用指 令使TCON中的TR1置1时,只有外部中断INT1引 脚输入高电平时才能启动定时器1。
(2) C/T:功能选择位 C/T=0时,以定时器方式工作。 C/T=1时,以计数器方式工作。 (3) M1、M0:方式选择位
6.2 定时器/计数器的控制
1.工作方式控制寄存器TMOD
定时器方式寄存器TMOD的作用是设置T0、T1 的工作方式。 TMOD字节地址为89H,不能位寻址
《定时器及其应用》课件
缺点是需要接入网络,且需要相 应的软件和硬件支持。
03
定时器的使用方法
定时器的设置方法
01
02
03
确定定时时间
根据需要确定定时时间, 可以通过旋转定时器上的 旋钮或使用电子定时器上 的按键进行设置。
启动定时器
在设置好时间后,按下启 动按钮,定时器开始计时 。
停止定时器
当定时时间到达后,定时 器会自动停止计时,并发 出提示音或信号。
数字式定时器具有高精度、高稳定性、多功能等特点,可以设定复杂的定时程序和 多种触发条件。
缺点是价格较高,需要外接电源,且对使用环境有一定的要求。
网络定时器
网络定时器是利用网络技术来实 现远程控制和定时功能的定时器
。
网络定时器可以通过互联网或局 域网进行远程控制和定时设置, 具有高度的灵活性和可扩展性。
。
电子式定时器
电子式定时器是利用电子元件 和电路来控制定时时间的定时 器。
电子式定时器通常由石英晶体 振荡器提供稳定的时间基准, 通过数字逻辑电路来控制定时 时间。
优点是精度高、稳定性好、调 节范围广,缺点是价格相对较 高,需要使用电池或外接电源 。
数字式定时器
数字式定时器是采用微处理器技术来实现定时功能的定时器。
05
定时器的发展趋势和未来展望
定时器的技术发展趋势
1 2 3
智能化
随着人工智能技术的发展,定时器将更加智能化 ,能够实现自适应、自学习等功能,提高自动化 水平。
微型化
随着微电子技术的进步,定时器将进一步微型化 ,便于集成和携带,满足各种小型化设备的需求 。
可靠性提高
随着材料科学和制造工艺的进步,定时器的可靠 性将得到显著提高,能够适应更恶劣的工作环境 。
第6章 定时计数器
6.4.2 定时计数器的初始化
定时计数器的初始化编程步骤: 1)根据实际要求设置TMOD寄存器的初值; 2)根据定时时间要求或计数要求计算计数器初值,并 往THx和TLx寄存器中载入初值;
3)启动定时/计数器,即将TRX置位。
如果工作于中断方式,还需要置位EA(中断总开关) 及ETX(允许定时/计数器中断)。
ORG 0000H AJMP MAIN ORG 000BH AJMP TIMEL;TL0中断 ORG 001BH AJMP TIMEH;TH0中断
ORG 0030H MAIN:SETB P1.0 SETB P1.1 MOV TMOD,#03H MOV TL0,#9CH
6.1.2 定时/计数器的工作原理
2. 计数工作方式 设置为计数工作方式时:
★ 通过引脚T0(P3.4)、T1(P3.5)对外部脉冲信号计 数。
★ 输入脉冲信号为1至0的下降沿时,定时器加1。 在每个机器周期CPU采样T0和T1的输入电平。若 前一个机器周期采样值为高,下一个机器周期采样 值为低,则计数器加 1。
6.1.2 定时/计数器的工作原理
1. 定时工作方式 设置为定时工作方式时: ★ 计数脉冲由片内振荡器经12分频后产生。 ★ 每经过一个机器周期,定时器(T0或T1)的数 值加1直至计数满产生溢出。 如:当8051采用12MHz晶振时,每个机器周 期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。
6.2.2 控制寄存器TCON(88H)
TF1 TR1 TF0 T0 请求 有/无 TR0 T0 工作 启/停 IE1 INT1 请求 有/无 IT1 IE0 IT0 T1 T1 请求 工作 有/无 启/停 INT1 INT0 INT0 方式 请求 方式 下沿/ 低 有/无 下沿/ 电平 低电平
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 定时器及应用
§6.1 定时器概述 §6.2 定时器的控制 §6.3 定时器的四种模式及应用 §6.4 思考题与习题
04.12.2
单片机原理及接口技术
§6.1 定时器概述
§6.1.1 89C51定时器结构 §6.1.2 89C51定时器功能
04.12.2
单片机原理及接口技术
§6.1.1 89C51定时器结构
04.12.2
单片机原理及接口技术
图6-3 工作模式寄存器TMOD的位定义
D7 D6 D5 D4 D3 D2 D1 D0
TMOD (89H)
GATE
C/ T
M1 M0
GATE
C/ T
M1 M0
定时器T1
定时器T0
04.12.2
单片机原理及接口技术
① M1和M0—操作模式控制位。 两位可形成四种编码,对应于四种模式。
可通过软件置1(TR0=1)或清0(TR0=0)来启动 或 关闭 T0。
在程序中用指令“SETB TR0”使TR0位置1,定 时器T0便开始计数。用“CLR TR0”使TR0清0, 定时器停止工作。
04.12.2
单片机原理及接口技术
⑤ IE1,IT1,IE0,IT0(TCON.3~TCON.0) ——外部中断INT1,INT0请求及请求方式 控制位。前一章已经讲过。
04.12.2
单片机原理及接口技术
② TF0(TCON.5) —T0溢出标志位。 其功能和操作情况同TF1。 当T0溢出时,由硬件自动使中断触发器TF0置1, 并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1被硬 件自动清0。TF1也可以用软件清0。
04.12.2
单片机原理及接口技术
③ TR1(TCON.6)—T1运行控制位。
可通过软件置1(TR1=1)或清0(TR1=0) 来启动或 关闭 T1工作。
在程序中用指令“SETB TR1”使TR1位置1, 定时器T1便开始计数。用“CLR TR1”使TR1清 0,定时器停止工作。
04.12.2
单片机原理及接口技术
④ TR0(TCON.4)—T0运行控制位。 其功能和操作情况同TR1。
04.12.2
单片机原理及接口技术
图6-5 控制寄存器TCON的位定义
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TCON (88H)
TF1
TR1
TF0
TR0 IE1
IT1
IE0 IT0
04.12.2
单片机原理及接口技术
① TF1(TCON.7) —T1溢出标志位。 当T1溢出时,由硬件自动使中断触发器TF1置1, 并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1被硬件 自动清0。TF1也可以用软件清0。
表6-1 M1,M0控制的四种工作模式
M1 M0 00 01 10
11
工作模式
功能描述
模式0 13 位计数器
模式1 16 位计数器
模式2 自动再装入8 位计数器
模式3
定时器0:分成二个8 位计数器 定时器1:停止计数
04.12.2
单片机原理及接口技术
② C/T—计数器/定时器方式选择位。 NhomakorabeaC/T=0,设置为定时方式。定时器计数 89C51片内脉冲,即对机器周期计 数。
软件使TR0(或TR1)置1时,才能启动 定时器工作。
04.12.2
单片机原理及接口技术
§6.2.2 控制器寄存器 TCON
• TCON除可字节寻址外,各位还可位寻址。
• 89C51系统复位时,TCON的所有位被清0。 • TCON各位的定义格式如 图6-5所示。 • TCON各位定义及具体的意义归纳如 图6-6所示。
04.12.2
单片机原理及接口技术
§6.3 定时器的四种模式及应用
§6.3.1 §6.3.2 §6.3.3 §6.3.4 §6.3.5
• 89C51定时器的结构如 图6-1 所示。 • 有两个16位的定时器/计数器,即定时
器0(T0)和定时器1(T1)。都是16 位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0 构成;T1由TH1和TL1构成。
04.12.2
单片机原理及接口技术
04.12.2
单片机原理及接口技术
§6.1.2 89C51定时器功能
04.12.2
单片机原理及接口技术
§6.2.1 工作模式寄存器 TMOD
• TMOD用于控制T0和T1的工作模式。 • TMOD不能位寻址,只能用字节设置定时器的工作模
式,低半字节设置T0,高半字节设置T1。 • 89C51系统复位时,TMOD的所有位被清0。 • TMOD各位的定义格式如 图6-3 所示。 • TMOD各位定义及具体的意义归纳如 图6-4所示。
• CPU检测一个1至0的跳变需要两个机器周期, 故最高计数频率为振荡频率的1/24。
• 为了确保某个电平在变化之前被采样一次,要 求电平保持时间至少是一个完整的机器周期。
• 对输入脉冲信号的基本要求如 图6-2所示。
04.12.2
单片机原理及接口技术
§6.2 定时器的控制
• §6.2.1 工作模式寄存器 TMOD • §6.2.2 控制器寄存器 TCON
• 每个定时器都可由软件设置为 定时工作方式或
计数工作方式。由特殊功能寄存器TMOD和TCON所
控制。
• 定时器工作不占用CPU时间,除非定时器/计数器 溢出,才能中断CPU的当前操作。
• 定时器/计数器有四种工作模式。其中模式0-2对 T0和T1是一样的,模式3对两者不同。
04.12.2
单片机原理及接口技术
定时工作方式
定时器计数89C51片内振荡器输出经12分频 后的脉冲,即每个机器周期使定时器(T0或T1) 的数值加1直至计满溢出。
当89C51采用12MHz晶振时,一个机器 周期为1μs,计数频率为1MHz。
04.12.2
单片机原理及接口技术
计数工作方式
• 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲 信号计数。当输入脉冲信号产生由1至0的下降 沿时计数器的值加1。
C/T=1,设置为计数方式。计数器的输入 来自引脚T0(P3.4)或T1(P3.5) 端的外部脉冲 。
04.12.2
单片机原理及接口技术
③ GATE—门控位。 GATE=0,只要用软件使TR0(或TR1)置1就可以
启动定时器,而不管INT0(或INT1)的 电平是高还是低。
GATE=1,只有INT0(或INT1)引脚为高电平且由
§6.1 定时器概述 §6.2 定时器的控制 §6.3 定时器的四种模式及应用 §6.4 思考题与习题
04.12.2
单片机原理及接口技术
§6.1 定时器概述
§6.1.1 89C51定时器结构 §6.1.2 89C51定时器功能
04.12.2
单片机原理及接口技术
§6.1.1 89C51定时器结构
04.12.2
单片机原理及接口技术
图6-3 工作模式寄存器TMOD的位定义
D7 D6 D5 D4 D3 D2 D1 D0
TMOD (89H)
GATE
C/ T
M1 M0
GATE
C/ T
M1 M0
定时器T1
定时器T0
04.12.2
单片机原理及接口技术
① M1和M0—操作模式控制位。 两位可形成四种编码,对应于四种模式。
可通过软件置1(TR0=1)或清0(TR0=0)来启动 或 关闭 T0。
在程序中用指令“SETB TR0”使TR0位置1,定 时器T0便开始计数。用“CLR TR0”使TR0清0, 定时器停止工作。
04.12.2
单片机原理及接口技术
⑤ IE1,IT1,IE0,IT0(TCON.3~TCON.0) ——外部中断INT1,INT0请求及请求方式 控制位。前一章已经讲过。
04.12.2
单片机原理及接口技术
② TF0(TCON.5) —T0溢出标志位。 其功能和操作情况同TF1。 当T0溢出时,由硬件自动使中断触发器TF0置1, 并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1被硬 件自动清0。TF1也可以用软件清0。
04.12.2
单片机原理及接口技术
③ TR1(TCON.6)—T1运行控制位。
可通过软件置1(TR1=1)或清0(TR1=0) 来启动或 关闭 T1工作。
在程序中用指令“SETB TR1”使TR1位置1, 定时器T1便开始计数。用“CLR TR1”使TR1清 0,定时器停止工作。
04.12.2
单片机原理及接口技术
④ TR0(TCON.4)—T0运行控制位。 其功能和操作情况同TR1。
04.12.2
单片机原理及接口技术
图6-5 控制寄存器TCON的位定义
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TCON (88H)
TF1
TR1
TF0
TR0 IE1
IT1
IE0 IT0
04.12.2
单片机原理及接口技术
① TF1(TCON.7) —T1溢出标志位。 当T1溢出时,由硬件自动使中断触发器TF1置1, 并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1被硬件 自动清0。TF1也可以用软件清0。
表6-1 M1,M0控制的四种工作模式
M1 M0 00 01 10
11
工作模式
功能描述
模式0 13 位计数器
模式1 16 位计数器
模式2 自动再装入8 位计数器
模式3
定时器0:分成二个8 位计数器 定时器1:停止计数
04.12.2
单片机原理及接口技术
② C/T—计数器/定时器方式选择位。 NhomakorabeaC/T=0,设置为定时方式。定时器计数 89C51片内脉冲,即对机器周期计 数。
软件使TR0(或TR1)置1时,才能启动 定时器工作。
04.12.2
单片机原理及接口技术
§6.2.2 控制器寄存器 TCON
• TCON除可字节寻址外,各位还可位寻址。
• 89C51系统复位时,TCON的所有位被清0。 • TCON各位的定义格式如 图6-5所示。 • TCON各位定义及具体的意义归纳如 图6-6所示。
04.12.2
单片机原理及接口技术
§6.3 定时器的四种模式及应用
§6.3.1 §6.3.2 §6.3.3 §6.3.4 §6.3.5
• 89C51定时器的结构如 图6-1 所示。 • 有两个16位的定时器/计数器,即定时
器0(T0)和定时器1(T1)。都是16 位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0 构成;T1由TH1和TL1构成。
04.12.2
单片机原理及接口技术
04.12.2
单片机原理及接口技术
§6.1.2 89C51定时器功能
04.12.2
单片机原理及接口技术
§6.2.1 工作模式寄存器 TMOD
• TMOD用于控制T0和T1的工作模式。 • TMOD不能位寻址,只能用字节设置定时器的工作模
式,低半字节设置T0,高半字节设置T1。 • 89C51系统复位时,TMOD的所有位被清0。 • TMOD各位的定义格式如 图6-3 所示。 • TMOD各位定义及具体的意义归纳如 图6-4所示。
• CPU检测一个1至0的跳变需要两个机器周期, 故最高计数频率为振荡频率的1/24。
• 为了确保某个电平在变化之前被采样一次,要 求电平保持时间至少是一个完整的机器周期。
• 对输入脉冲信号的基本要求如 图6-2所示。
04.12.2
单片机原理及接口技术
§6.2 定时器的控制
• §6.2.1 工作模式寄存器 TMOD • §6.2.2 控制器寄存器 TCON
• 每个定时器都可由软件设置为 定时工作方式或
计数工作方式。由特殊功能寄存器TMOD和TCON所
控制。
• 定时器工作不占用CPU时间,除非定时器/计数器 溢出,才能中断CPU的当前操作。
• 定时器/计数器有四种工作模式。其中模式0-2对 T0和T1是一样的,模式3对两者不同。
04.12.2
单片机原理及接口技术
定时工作方式
定时器计数89C51片内振荡器输出经12分频 后的脉冲,即每个机器周期使定时器(T0或T1) 的数值加1直至计满溢出。
当89C51采用12MHz晶振时,一个机器 周期为1μs,计数频率为1MHz。
04.12.2
单片机原理及接口技术
计数工作方式
• 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲 信号计数。当输入脉冲信号产生由1至0的下降 沿时计数器的值加1。
C/T=1,设置为计数方式。计数器的输入 来自引脚T0(P3.4)或T1(P3.5) 端的外部脉冲 。
04.12.2
单片机原理及接口技术
③ GATE—门控位。 GATE=0,只要用软件使TR0(或TR1)置1就可以
启动定时器,而不管INT0(或INT1)的 电平是高还是低。
GATE=1,只有INT0(或INT1)引脚为高电平且由