第6章 单片机的定时器计数器
单片机原理及应用 第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 同。
单片机第六章定时器

这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;
•
•
特殊功能寄存器TMOD、TCON;
时钟分频器;
•
输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。
第6章AT89C51定时器计数器

所示 , 图中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 ;查询是否溢出
▪
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 。
单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器
束
TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页
结
单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页
结
束
EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单
单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器
6.1.1 单片机定时器/计数器的结构
MCS-51单片机定时器/计数器的原理结构图
T0(P3.4) 定时器0 定时器1 T1(P3.5) 定时器2 T2EX(P1.1)
T2(P1.0)
TH0
溢 出 控 制
TL0
模 式 溢 出
TH1
控 制
TL1
模 式 溢 出
TH2
TL2
重装 捕获
RCAP 2H
RCAP 2L
6.2.2 T0、T1的工作模式
信号源 C/T设为1,为计数器,用P3.4引脚脉冲 C/T设为0,为定时器,用内部脉冲 运行控制 GATE=1,由外部信号控制运行 此时应该设置TR0=1 P3.2引脚为高电平,T0运行 GATE=0, 由内部控制运行 TR0设置为1,T0运行
6.2.2 T0、T1的工作模式
6.2.3 T0、T1的使用方法
例6-1 对89C52单片机编程,使用定时器/计 数器T0以模式1定时,以中断方式实现从P1.0引 脚产生周期为1000µ s的方波。设单片机的振荡频 率为12MHz。 分析与计算 (1)方波产生原理 将T0设为定时器,计算出合适的初值,定 时到了之后对P1.0引脚取反即可。 (2)选择工作模式 计算计数值N
6.2.1 T0、T1的特殊功能寄存器
TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。
注意: GATE=1 ,TRx与P3.2(P3.3)的配合控制。
IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位
6.2.2 T0、T1的工作模式
6.2.1 T0、T1的特殊功能寄存器
GATE=0,禁止外部信号控制定时器/计数器。 C/T——定时或计数方式选择位 C/T=0,为定时器;C/T=1,为计数器 计数采样:CPU在每机器周期的S5P2期间,对 计数脉冲输入引脚进行采样。
第六章 MCS-51单片机内部定时器
6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)
单片机第6章 定时器计数器
M1、M0——工作模式选择位。 、 工作模式选择位。 工作模式选择位 由于有M1和 两位 可以有四种工作方式。 有 种 两位, 由于有 和M0两位,可以有四种工作方式。T0有4种 工作模式,T1有3种工作模式。选择情况如表6-1所示。 工作模式, 有 种工作模式。选择情况如表 所示。 种工作模式 所示 定时器/计数器 不能工作在模式3。设置T1的 计数器T1不能工作在模式 定时器 计数器 不能工作在模式 。设置 的 M1M0=11,T1将停止工作。 将停止工作。 , 将停止工作
C/T——定时或计数方式选择位 。 定时或计数方式选择位 C/T=0时,选择定时功能 。 定时功能 = 时 选择定时 C/T=1时,选择计数方式。 计数方式 = 时 选择计数方式。 通过引脚T0( 通过引脚 (P3.4)和T1(P3.5)、T2(P1.0) ) 、 对外部信号进行计数。 对外部信号进行计数。 在每个机器周期的S5P2期间,CPU采样 期间, 在每个机器周期的 期间 采样 引脚的输入电平。 引脚的输入电平。若前一机器周期采样值为 1,下一机器周期采样值为 ,则计数器增 , ,下一机器周期采样值为0,则计数器增1, 此后的机器周期S3P1期间,新的计数值装入 期间, 此后的机器周期 期间 计数器。 计数器。
定时工作方式
定时器计数89C51片内振荡器输出经12分频后的脉 冲,即每个机器周期使定时器(T0或T1)的数值加1 直至计满溢出。当89C51采用12MHz晶振时,一个机 器周期为1µs,计数频率为1MHz。
计数工作方式
• 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 • CPU检测一个1至0的跳变需要两个机器周期,故最高计数 频率为振荡频率的1/24。 • 为了确保某个电平在变化之前被采样一次,要求电平保持 时间至少是一个完整的机器周期。
第6章 计数器和定时
+1计数器
溢出
中断
控制 开关
计数原理——定时器 单片机内部脉冲每输入一个脉冲,计数器加1,当 加到计数器各位都为1时,再输入一个脉冲,计数 器各位全变为0,溢出,中断标志置1(SFR中 TCON的TF0、TF1),从而向CPU申请中断。 由预置计数值就可以算出从加1计数器启动到计满 溢出所需的时间,即定时时间。 8位28 = 256;13位213 = 8192;16位 216 = 65536
可编程定时/计数器。
6.1 定时/计数技术概述
在单片微机应用系统中,常常会需要定时或计数,通常采用以 下三种方法来实现: 1.硬件法 硬件定时功能完全由硬件电路完成,不占用 CPU 时间。但 当要求改变定时时间时,只能通过改变电路中的元件参数来实 现,很不灵活。 2.软件法 软件定时是执行一段循环程序来进行时间延时,优点是无 额外的硬件开销,时间比较精确。但牺牲了CPU的时间,所以软 件延时时间不宜长,而在实时控制等对响应时间敏感的场合也 不能使用。
8E
TF0
8D
TR0
8C
IE1
8B
IT1
8A
IE0
89
IT0
88
• 8位寄存器,可位寻址 • 低4位用于外部中断INT0、INT1控制 • 高4位用于T0、T1控制
3、定时/计数器控制寄存器TCON
TCON
位地址
TF1
8F
TR1
8E
TF0
8D
TR0
8C
IE1
8BIT18A NhomakorabeaIE0
89
IT0
88
• TR0(TCON.4):T0的运行控制位 当GATE=0时,TR0=0则T0停止运行;TR0=1时 T0允许运行 • TF0(TCON.5):T0溢出兼中断申请标志
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PF03: DJNZ MOV CPL PF04: DJNZ MOV
34H,PF04 34H,#10 P1.4 35H,PF05 35H,#20
CPL
PF05: DJNZ MOV
P1.5
36H,PF06 36H,#50
CPL
PF06: DJNZ MOV CPL PF07: RETI
主程序
ORG START: AJMP ORG AJMP MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV SETB HERE: SJMP
0000H MAIN 000BH PTFO SP,#70 31H,#2 32H,#4 33H,#5 34H,#10 35H,#20 36H,#50 37H,#100 TMOD,#1 TL0,#0 TH0,#0EEH IE,#82H TR0 HERE
T0控制
GATE位:门控位。
(1) 当GATE=1时,定时受外部脉冲的控制
只有或引脚为高电平且TR0或TR1置1时,相应
的定时/计数器才被选通工作,这时可用于测量
端出现的正脉冲宽度;
(2) 当GATE=0,则只要TR0和TR1置1,定 时/计数器就被选通,而不管或的电平是高还是 低。
定时/计数器工作方式
信号,控制8个发光二极管循环点亮,设
fOSC=12MHz, 。
分析:P1口输出信号,控制8个发光二极管循环 点亮,但此处由于定时时间长达2s,所以单靠 一个定时器不能解决问题。可以采取硬件定时和 软件计数(或硬件计数)结合方式。
8051
P1.7 R R R R R R R R LED7 LED6 LED5 LED4 LED3 LED2 LED1 LED0
图6-1 80C51定时器/计数器逻辑结构图
6.1.2 定时/计数器的工作原理
用一个简单的框图构造它的模型 :N位计数器构 成了电路的核心。定时,计数两种方式的区别在于计 数器的脉冲来源.初值寄存器是用来设定“定时/计数 的具体参数”
(1):何时控制启动计数?(2):如何控制定时还是计数? (3):如何控制定时/计数的长短?
TL0用来作为T0的控制信号(TR0、TF0),
TH0用来作为T1的控制信号(TR1、TF1)。
6.4 单片机定时器/计数器的应用
可编程器件在使用前需要进行初始化: ① 确定TMOD控制字:编程时将控制字送 TMOD; ② 计算计数器的计数初值: 编程时将计数初值送THi、 TLi; ③ 开中断(如果使用中断方式): 编程实置位EA、ETi ④ TRi位置位控制定时器的启动和停止。
INT1 INT0 (P3.3) (P3.2) T1 (P3.5) T0 (P3.4) 定时器1 (8DH) TH1 7 溢 出 CPU 启 动 内部总线 溢出 工作方式 中断 TCON (88H) TMOD (89H) 启 动 工 作 方 式 0 7 (8BH) TL1 0 7 (8CH) TH0 0 7 定时器0 (8AH) TL0 0
当C / T=1时,控制开关接通外部输入信号, 当外部信号电平从“1”到“0”跳变时,加 1计数器加1,处于计数工作方式。
2. 方式1—16位方式
其定时时间为:
t=(216-T0初值)×机器周期 振荡器 T0 TR0 1/12 C/T=0
C/T=1
1
TL0 TH0 TF0 8位 8位
16位计数器
要产生500μs 的方波脉冲,只需在P1.0端以250μs为间
隔,交替输出高低电平即可实现。为此,定时间应为
250μs 。使用6MHz晶振,则一个机器周期为2μs,设待 求计数初值为X,则:
(216–X)×2×10 -6 =250×10 -6 请思考 为什么? 即216–X=125 X=216-125=10000H-7DH =0FF83H 所以,初值为:TH1=0FFH,TL1=83H
T 1 1210 1 / 12
6
1s
ALE
检测 计数 检测
S1
S2
S3 S4 机器周期1
S5
S6
S1
S2
S3 S4 S5 机器周期2
S6
(2)计数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD P3.0 TXD P3.1 INT0 P3.2 INT1 P3.3 T0 P3.4 T1 P3.5 WR P3.6 RD P3.7 XTAL2 XTAL1 VSS
③ 采用中断方式:编程时打开全局和局部中断。 ④ 由定时器控制寄存器TCON中的TR1位控制 定时器的启动和停止。 TR1=1,启动;
TR1=0,停止。
程序设计 ORG 0000H
LJMP MAIN
ORG 001BH
;主程序入口
LJMP INTT1
;T1中断入口
ORG 1000H MAIN:MOV TMOD, #10H ;T1为方式1 MOV TH1, #0FFH MOV TL1,#83H ;初值 SETB EA ;允许中断 SETB ET1 SETB TR1 ;启动定时 SJMP $ ;等待中断 INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI
第6章
单片机的定时器/计数器
本章的重点内容
定时器/计数器的结构及原理 定时器/计数器的各种工作方式 掌握定时器/计数器的应用
6.1 定时器/计数器结构与原理
定时/实现方式: 1.软件定时; 3.可编程定时 。 多重循环
2.不可编程硬件定时;
定时芯片8253
定时/计数器
定时/计数器的功能
方 式 1:
(216–0)×2us= 217us=131.072ms
方式2、3:
(28–0)×2us= 29us=0.512ms
注意:以上是当fOSC=6MHz,即MC=2us时各
种方式下的定时时间,若fOSC=12MHz,则最长
定时时间将缩短一半。
例4:定时器/计数器应用
利用T0定时,产生2s定时,使得P1口输出
2.控制寄存器TCON
中断请求 标志
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
启动定时/计 0 低电平 1 下降沿
* 各标志位应注意的问题
TF1位:定时器1溢出标志位。 •
•
• 当定时/计数器1溢出时,由硬件置1。
M1 0 0 1 1 M0 0 1 0 1 工作方式 方式 0 方式 1 方式 2 方式 3 功 能 初值寄存器 TL 的低 5 位与 TH 的 8 位构成 13 位计数器 寄存器 TL 与 TH 构成 16 位计数器,计满溢出,16 位计数器回零 自动装载 8 位计数器,TL 溢出,TH 内容送 TL 定时器 T0 分成两个 8 位定时器,T1 停止工作
GATE
INT0
&
≥1
3. 方式2—8位自动装入时间常数方式
其定时时间为:
t=(28-T0初值)×机器周期
振荡器
1/12
C/T=0 TL0 TF0 C/T=1
T0 TR0 GATE 1 ≥1
&
TH0
INT0
4. 方式3—2个8位方式
仅T0可以工作在方式3—此时T0分成2个
独立的计数器—TL0和TH0 ,
振荡器 1/12 C/T=0
定时 器 TL0 TH0 TF0
T0 TR0
C/T=1 & ≥1
低5位
8位
GATE 1 INT0
13位计数器
演
示
继
续
T12
T5 *
*
* T4
T0
TH0
TL0
返
回
当 C / T =0时,控制开关接通内部振荡器,
T0对机器周期进行计数,其定时时间为:
t=(213-T0初值)×机器周期
P1.6
37H,PF07 37H,#100 P1.7
例题3:设晶振频率fOSC=6MHz,分别讨论各种
工作方式下最长定时时间。
解:
1. 由fOSC=6MHz可知,MC=2us;
2. 由于是加1计数,所以最长定时应是计数初值最
小时(即为0时)的定时时间。 所以此时有:
方式0:
(213–0)×2us=214us=16384us=16.384ms
ALE
检测 计数 检测
S1
S2
S3 S4 机器周期1
S5
S6
S1
8031 8051 8751
S2
S3 S4 S5 机器周期2
S6
6.2 定时计数器的相关控制寄存器
1.模式控制寄存器TMOD D7 D6 D5 M1 D4 M0 D3 D2 D1 M1 D0 M0
GATE C/T
GATE C/T
T1控制 M1 M0—工作方式选择 C/T — 定时/计数工作方式选择
0030H TH0,#0EEH TL0,#0 P1.0 31H,PF01 31H,#2 P1.1 32H,PF02 32H,#4 P1.2 33H,PF03 33H,#5 P1.3
;T0中断服务程序 ;初值→T0 ;对各路计数器进行计数 ;计数器减为0,恢复计数初值 ;输出相反
中断程序
系统内部 时钟fosc/12
定时/计数 控制C/T 外部脉冲 返回 启动控制TR 计数脉冲 CP N位+1计数器 计数器溢出 中断信号 TFx