定时器T的用法
定时器

单片机应用技术
一、定时方法概述
定时方法 硬件延时 软件延时 可编程定时 由硬件电路实现延时,长时间延时; 通过执行循环而获得延时,短时间延时; 通过对系统时钟脉冲的计数而获得延时。
二、定时器/计数器的结构和工作原理
1、结构
定时器T1 定时器
计数溢出 置标志位
定时器T0 定时器
设置T0工 设置T0工 作方式 启动/ 启动/停 止T0工作 T0工作
四、定时器/计数器工作方式 定时器 计数器工作方式
注意:定时计数器的计数范围与初值X 注意:定时计数器的计数范围与初值X的计算
1、定时器的计数规律: 、定时器的计数规律: T0从某初值X,对脉冲计数到1111111111111B(213D=8192D)溢出 计数个数:213-X 2、最大计数范围:从初值X=0D,计数到1111111111111B(213D) 、最大计数范围: 3、定时时间: 、定时时间: 计数个数为213-0=8192D
1 (2 − x) × ×12 = 250×10−6 6×106
13
X=8067D=1F83H=0001 1111 1000 0011B 故 TH0= 1 1111 100高8位=FCH 100高 TL0=0000 0011B低5位=03H 0011B低
单片机应用技术
(3) 编写程序。采用查询TF0的状态来控制P1.0输出 编写程序。采用查询TF0的状态来控制P1.0输出 MOV TMOD,#00H TMOD, ;置T0为方式0 ;置T0为方式0 MOV TH0,#0FCH TH0, ;送计数初值 MOV TL0,#03H TL0, SETB TR0 ;启动T0 ;启动T0 LOOP: LOOP: JBC TF0, NEXT TF0, ;查询定时时间到否? ;查询定时时间到否? SJMP LOOP NEXT: NEXT: CLR TF0 ; 对溢出标志位清0 对溢出标志位清0 MOV TH0,#0FCH ;重赋计数初值 TH0, MOV TL0,#03H TL0, CPL P1.0 ;输出取反 SJMP LOOP ; 重复循环 采用查询方式的程序很简单,但在定时器整个计数过程中,CPU要不断查询 采用查询方式的程序很简单,但在定时器整个计数过程中,CPU要不断查询 溢出时标志TF0的状态, 这就占用了CPU工作时间,以致CPU的效率不高。采用 溢出时标志TF0的状态, 这就占用了CPU工作时间,以致CPU的效率不高。采用 定时溢出中断方式,可以提高CPU的效率。 定时溢出中断方式,可以提高CPU的效率。
51单片机定时器的使用和详细讲解_特别是定时器2

GATE=0 定时器不受控
于外部信号;仅打开与门,
是定时器仅有TR位控制;
GATE=1 定时器受控于外
部信号,此时要求TR=1;
图8-4 方式0结构图
16
第十六页,编辑于星期三:四点 二十三分。
例题:生成周期为1.2 ms的等宽正方波。机器晶振 26.67MHz。使用T0以方式0工作,由P0.0输出
8.4 定时器T2 8.4.1 概述 定时器2 是一个16 位通用计数器,其具有两种
操作模式:16 位自动重载模式和16 位捕获模
式。
如果预分频功能被禁止,定时器2工作时,16 位通用加法计数器以12分频的周期脉冲计数,每 个周期16位通用加法计数器加1或减1。
30
第三十页,编辑于星期三:四点 二十三分。
模式2的结构图如图8-6所示。
8位加法 计数器
图8-6 方式2结构图
初值寄存 器
22
第二十二页,编辑于星期三:四点 二十三分。
4.工作模式3 当T0M(T1M)=11时定时器设定为工作模式3,只有定时
器0可以工作在工作模式3下。如把定时器1设置为工作 模式3,则定时器1停止工作。 TL0、TH0成为两个独立的8位加法计数器。它的工作情况 与模式0、模式1类似,差别在于定时范围为:
7
第七页,编辑于星期三:四点 二十三分。
1.16位加法计数器
16位加法计数器是定时器的核心,图8-1中用寄存 器TH0、TL0及TH1、TL1表示。
T0加法计数器的高8位和低8位分别用TH0、TL0表示 T1加法计数器的高8位和低8位分别用TH1、TL1 表示 高8位和第8为可分别单独使用
中断服务程序除了完成要求的方波产生这一工作之外, 还要注意将时间常数重新送入T1中,为下一次产生中 断作准备。
T0T1四种工作模式

工作方式3
注意:T0可以工作在方式3,而T1则不能工作 在方式3,因为T1工作在方式3时相当于 TR1=0,停止计数。
工作在方式3下的T0
课本123页
在方式3,T0被分为两个8位的计数器:TL0和 TH0. (1)TL0计数器:由T0的控制位来进行控制, 可以对外部脉冲计数,并且可以对内部时钟 进行计数,从而实现定时。 (2)TH0计数器:由T1的控制位来进行控制, 只能对内部时钟进行计数,不能对外部信号 进行计数,因此只能定时。
工作方式2
课1工作在方式2 计数器的工作方式: (1)用户在THX中填装一个初值。 (2)TLX作为常数缓冲器,当TLX计数溢出时, TFX位会被硬件置1,从而发出中断请求。 在此同时,THX中存放的初值会被送到TLX 中,因此无需用户通过软件来赋初值,因此 可以节省一些时间,从而T0和T1工作在方 式2时,定时更准确。
定时器/计数器的4种工作方式
方式0 (120页)
当M0=0,M1=0时,工作在方式0 方式0的特点:为13位的计数器 13位计数器的组成:由THX的低5位和THX的 高8位组成。 计数器的进位及溢出:当TLX的低5位溢出时, 则向THX进位。当THX溢出时,则由硬件置 一TFX,从而发出中断请求。
T0工作在方式3时T1的工作方式 123页
注意:由于T0工作在方式0时,T0被分成TL0和 TH0两个计数器来分别工作,同时,TH0计数器的 工作是由T1的TR1和TF1来进行控制的,因此, T0工作在方式3时,势必会对T1的工作产生影响。 一言以蔽之:由于T0工作在方式3时占用了T1的TR1 位和TF1位,因此T1不能再用来定时了,因此此时 T1可以工作在方式0、1、2,用来产生串行通信所 需要的时钟信号(波特率)。
PLC梯形图中时间电路

PLC梯形图中时间电路
时间电路是指由定时器进行延时、定时和脉冲掌握的一种电路形式,相当于电气掌握电路中的时间继电器的功能。
1.一个定时器掌握的时间电路
定时器T1的定时时间T=100ms×30=3000ms=3s,即当定时器线圈T1得电后,延时3s后,掌握器常开触点T1闭合。
当输入继电器常开触点X1闭合时,定时器线圈T1得电,经3s延时后,定时器常开触点T1闭合,输出继电器线圈Y1得电。
2.由两个定时器组合掌握的时间电路
该电路可利用多个定时器实现更长时间的延时掌握。
图中定时器T1的定时时间T=100ms×30=3000ms=3s,即当定时器线圈T1得电后,延时3s后,掌握器常开触点T1闭合;定时器T245的定时时间T=10ms×456=4560ms=4.56s,即当定时器线圈T245得电后,延时4.56s 后,掌握器常开触点T245闭合。
当常开触点X1闭合时,定时器T1得电,经3s延时后,定时器常开触点T1闭合,定时器T245得电,经4.56s延时后,定时器常开触点T245闭合,输出继电器线圈Y1得电。
3.定时器串联掌握的时间电路
图中,定时器T1的定时时间T=100ms×15=1500ms=1.5s,即当定时器
线圈T1得电后,延时1.5s后,掌握器常开触点T1闭合;定时器T2的定时时间T=100ms×30=3000ms=3s,即当定时器线圈T2得电后,延时3s,掌握器常开触点T2闭合。
当输入继电器常开触点X1闭合时,定时器线圈T1和T2得电,经1.5s 延时后,定时器常开触点T1闭合,输出继电器线圈Y1得电,延时3s后,定时器常开触点T2闭合,输出继电器线圈Y2得电。
PLC定时器及控制

指令格式:
(OFF)
X1
FNC40 ZRST
D1.
D2.
X1接通后,FNC40指令将D1~D2范围 内的软元件全部复位(清零)
X1
FNC40 ZRST
S0
S30
将状态复位
SET S0
(若不同时将S0置位,则程序不处在待 机状态,就不能按SB1重新启动)
D1. D2. 的要求:
1、指定为同一种类的软元件。如位软元件S、M、X、Y及字软元件 KnX、 KnY、 KnM、 KnS、T、C、D、V、Z。
2、D1的编号要小于D2的编号。
3、D1、D2应同为16位数据或同为32位数据。
M8002 S0 X0 S20
正常停止的实现
X1
FNC40 S20 S100 SET S0
Y0
注意:程序中若有置位的元件,停止时要同时将其复位。
M8002 S0 X0 S20
SET Y0
X1
FNC40 S20 S100 RST Y0
T10 T10
X3 X2 1
S0 S20 (单周期)(连续)
SB1
SB2 连续 单周期 K1 单步
X0 X1 X2 X3 X4 COM
Y0 Y1 Y2 Y3 Y4 COM
原点指示 运行指示
用跳转指令控制自动与手动模式模式的运行
(自动控制)
X2
若自动控制开关X2闭合,程序会自动跳
CJ P0 过手动控制程序,转到P0标号以下的自动控
Y0 (灯Y1在第1秒内发光)
Y0 (LD<= T1 K20 )
Y1 (灯Y2在第2秒内发光)
Y0 Y1 (LD<= T1 K30 )
Y2 (灯Y3在第3秒内发光)
T2定时器的用法

T2定时器的用法52的定时器/计数器T2应用51系列的单片机中都有两个定时器T0和T1,网上的资料挺多的,52单片机比51单片机的资源多了一个定时器T2和128字节的ram。
定时器T2的功能比T1、T0都强大,但描述它的资料不多,可能是使用得比较少的缘故吧。
它是一个16位的具有自动重装和捕获能力的定时/计数器,它的计数时钟源可以是内部的机器周期,也可以是P1.0输入的外部时钟脉冲。
T2的控制寄存器的功能描述如下:T2CON(T2的控制寄存器),字节地址0C8H:符号TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RT2各位的定义如下:TF2:定时/计数器2溢出标志,T2溢出时置位,并申请中断。
只能用软件清除,但T2作为波特率发生器使用的时候,(即RCLK=1或TCLK=1),T2溢出时不对TF2置位。
EXF2:当EXEN2=1时,且T2EX引脚(P1.0)出现负跳变而造成T2的捕获或重装的时候,EXF2置位并申请中断。
EXF2也是只能通过软件来清除的。
RCLK:串行接收时钟标志,只能通过软件的置位或清除;用来选择T1(RCLK=0)还是T2(RCLK=1)来作为串行接收的波特率产生器TCLK:串行发送时钟标志,只能通过软件的置位或清除;用来选择T1(TCLK=0)还是T2(TCLK=1)来作为串行发送的波特率产生器EXEN2:T2的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止外部时钟触发T2;EXEN2=1:当T2未用作串行波特率发生器时,允许外部时钟触发T2,当T2EX引脚输入一个负跳变的时候,将引起T2的捕获或重装,并置位EXF2,申请中断。
TR2:T2的启动控制标志;TR2=0:停止T2;TR2=1:启动T2 C/T2:T2的定时方式或计数方式选择位。
只能通过软件的置位或清除;C/T2=0:选择T2为定时器方式;C/T2=1:选择T2为计数器方式,下降沿触发。
第三讲 定时器和继电器

作用:根据不同的控制对象,控制系统要求保持
断电瞬间状态并在再运行时再现该状态的情形。
例:小车往复运动控制
运行的过程是:
若X0= ON,则 M600=ON,Y0=ON,小车右 行;当遇停电,小车随即中 途停止,若来电,M600=ON (具有断电保持功能), Y0=ON,小车继续右行(无 需重新启动)。
定时范围为:0.001~32.767s。 (2)T250~T255:时钟脉冲为100ms的定时器,共 6点。当设定值K=1时,定时100ms。设定值K的范
围:1~32767,定时范围为: 0.1~3276.7s。
积算定时器的梯形图及动作时序如图所示:
当驱动输入X0接通时,T250 定时器开始累积100ms的时钟脉 冲的个数,当该值与设定值100相 等时,定时器T250的输出接点接 通。在计数中间,驱动输入X0断 开或停电时,累计的当前值可保 持。输入X0再接通或复电时,计 数继续进行。当累积时间达到 (0.1s×100)=10s时,输出接点接 通,Y1得电,输出动作。
Y0
T0
Y0
X0 Y0
1S 1S
LD X0
OR Y0
OUT T0
K10
ANI T0
OUT Y0
END
(7)下降沿单稳态电路
X0
M0
T0
K10
Y0
T0
Y0
XO
YO 1S
X0
LDI X0
M0
AND M0
OR Y0
OUT T0
K10
ANI T0
OUT Y0
1S
LD X0 OUT M0 END
二、输入和输出继电器
定时器T

通用定时器T0~T245 100ms定时器T0~T199共200点,设定值为 0.1~3276.7s,计时精度为100ms=0.1S; 10ms定时器T200~T245共46点,设定值为 0.01~327.67s,计时精度为10ms=0.01S。 显然,在定时时间较短是,10ms定时器 的定是精度较高 定时器的定时时间为设定值X计时精度 T2 K20 定时时间 20X0.1s=2s T200 K20 定时时间 20X0.01s=0.2s
定时器T
定时器(T)
可编程控制器中的定时器相当于继电器系统中的时间 继电器。主要用于控制系统的演示操作,由它寄 存器和一个用来储存其输出触点状态的映像寄存器。 这三者使用同一个地址编号,但使用场合不同,其 所指也不同。
时间继电器
定时器的动作原理:
T4 K100的定时时间:300*0.01s=3s T238 K100的定时时间:100*0.01s=1s T99 K30的定时时间:30*0.1s=3s T209 K300的定时时间:100*0.1s=10s
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九讲定时器T2的用法
定时器
声明,定时器T2只有52以上的芯片才有,51没有的。
捕捉模式
在捕捉模式时,两种操作模式由T2CON中的EXEN2位选择。
如果EXEN2=0,Timer2作为一个16位向上定时或计数器,当溢出时将T2CON中的TF2置1。
这个标志位可以产生一个中断。
如果EXEN2=1,Timer2起同样的作用,但是,外部输入端T2EX上的下降延也可以使TH2和TL2中的值捕捉到RCAP2H和RCAP2L中,另外,T2EX上的下降延可以将EXF2置1,像TF2一样,也可以产生一个中断。
捕捉模式详见图5。
自动重载模式
Timer2在指定为16为自动重载模式时可以编程为加计数或减计数,此功能由T2MOD
中的DCEN位决定。
DCEN=0,计数器向上计数,默认置为0,DCEN=1时,Timer2的加或减由T2EX的值决定。
图6显示Timer2在DCEN=0时自动向上计数。
在这个模式时,T2CON的EXEN2为可以选择两种操作。
EXEN2=0,Timer2向上计数到0FFFFH时将TF2为置1,溢出可以把RCAP2H和RCAP2L 中的16为值重新加载到定时寄存器中。
捕捉模式时RCAP2H和RCAP2L中的值由软件预先设定。
EXEN2=1,既可以由溢出重载也可以由T2EX引脚的下降延触发重载。
TF2和EXF2都可以产生中断。
设置DCEN为可以时Timer2向上或向下计数,如图6所示,此模式下,T2EX 脚控制计数方向。
T2EX如果为1,Timer2向上计数。
计数器到0FFFFH时溢出并将TF2置1。
溢出可以使RCAP2H和RCAP2L中的16为值重新加载到定时寄存器中。
T2EX如果为0,Timer2向下计数,当TH2和TL2中的值和RCAP2H和RCAP2L相等时向下溢出。
溢出使TF2置1并
将0FFFFH重新加载到计时寄存器中。
波特率发生器
通过设置T2CON中TCLK或RCLK位选择Timer2位波特窥测发生器Timer2作为发送和
接收时可以应用早不同的波特率,设置TCLK或RCLK位使Timer2工作在波特率发生器模式,如图8所示。
波特率发生器模式和重载模式相似,TH2中值的溢出将使软件预设的16位寄存器值重载到计数器中。
波特率1、3模式由Timer2的溢出速率决定,由下面的等式表示
模式1、3波特率=(Timer2计数值)/16
定时器可以指定为计数或定时模式,在许多应用中,被设置成定时模式,Timer2的定时操作和波特率发生器的操作不同,作为定时器,它每机器周期(1/12个晶振周期)增加1,作为波特率发生器它每个状态时间(1/2晶振周期)增加1。
波特率公式如下:
模式1、3
=
晶振频率
波特率
32×(65536-RCAP2H,RCAP2L)
这里(RCAP2H,RCAP2L)是RCAP2H和RCAP2L作为16为无符号整数。
Timer2作为波特率发生器如图8,这个只有在TCLK或者RCLK=1是才有效。
需要注意的是TH2的的溢出不会将TF2置1,也不会产生中断,如果这时EXEN2置1,T2EX引脚的下降延将会使TF2置1并不会引发(RCAP2H,RCAP2L)到(TH2,TL2)的重载,那样,当Timer2作为波特率发生器时,T2EX可以作为一个外部中断使用。
当Timer2在波特率发生器模式作为定时器运行时(TR1=1),TH2,TL2不能进行读写,在这种情况下,计时器每个状态时间增加1,对其读写的结果将会不正确RACAP2寄存器可以读不可以写,因为写可能引起交迭重载或者重载出错。
在处理Timer2的RACAP2寄
存器前必须停止计时(TR2=0)。
可编程时钟输出
P1.0可以输出50%占空比的可编程时钟,如图9所示。
这个引脚,除了作为普通的IO口,还有另外两个交替功能,它可以编程为Timer2的外部输入脚或者占空比50%的可变时钟输出,在晶振16M时频率范围从61Hz到4MHz。
Timer2指定为时钟发生器,必须将C/T2为清0并将T2OE位置1。
TR2启动或停止计时器。
输出频率取决于晶振频率和Timer2的捕捉寄存器的重载值,如下面公式所示。
时钟输出频率=晶振频率/4×(65536-(RCAP2H,RCAP2L))
在时钟输出模式,Timer2溢出不会产生中断,它可以同时作为波特率发生器和时钟输出使用,然而,当他们都使用(RCAP2H,RCAP2L)时,波特率和时钟输出频率不能取决于独自的设置参数。