6+定时器计数器结构及工作方式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用来设置定 时器的工作 方式。 用来控制定时器的启 图6-1 MCS-51定时器/计数器逻辑结构图 动、停止及中断。
3
2、定时器/计数器功能
定时器
是通过内部计数器的计数来实现的,计数脉冲来 自单片机的内部,其频率是振荡(晶体)频率的 1/12,即每个机器周期产生一个计数脉冲,计数 器加1,直至计满溢出。
0000H MAIN 000BH DS0 0100H SP, #30H TL0, #0CH TH0, #0F0H TMOD, #00H ET0 EA TR0 $ TL0, #0CH TH0, #0F0H P1.0
31
练习题:设单片机晶振频率fosc=6MHz,使用T1以方 式2产生周期为1ms的方波,并由P1.0输出。以中断方 式完成。
33
二、简答题 1、单片机系统中的定时和计数功能有何区别?分 别适用于什么场合?简述其工作原理。 2、MCS-51单片机中设有几个定时器/计数器?它 们分别有几种工作方式?这些工作方式各有哪些特 点? 3、MCS-51单片机晶振频率为6MHz时,分别写出 T1处于不同工作方式时,最大定时时间是多少?
D7 TMOD D6 C/T T1 方式控制 D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0
GATE
T0 方式控制
图 6-2 TMOD 寄存器各位定义
•GATE:门控位,用来控制定时器 /计数器的启动是 否受外部中断请求信号的影响。

GATE=0,不受影响,仅由控制位TRx控制;
0 1 TMOD M0 M1 C/T GATE 振荡器 ÷12 C/T=0 TL0 (8位) T0 C/T=1 控 制 INT 0 重新装入 TH0 (8位) TCON TF0 TR0 中 断
TL0作为8位加法计数器, TH0作为初值寄存器 用。TL0加法计数器溢出时置TF0=1,而且发出 重装载信号,使三态门打开,将TH0中的初值自 动送入TL0。
③工作方式2:
x= 28 – t/Tcy=28 –500us/2us=256 – 250=6=6H 则TL0=06H TH0=06H(重装初值寄存器,其值不变)
25
§6.2 定时器应用举例
学习内容
1
2
应用步骤
应用举例
26
一、定时器应用步骤
1、T0、T1的选择使用;
2、合理选择工作方式——TMOD;
回答:
晶振频率为12MHz时,定时 器和计数器的最高计数频率 各为1MHz、500KHz .
7
二、定时器/计数器寄存器
分三类:

定时器/计数器方式寄存器:TMOD 定时器/计数器控制寄存器:TCON 定时器初值寄存器: TH0 TL0 TH1 TL1
8
1、定时器/计数器方式寄存器TMOD(89H)
TMOD
振荡器 1 M0 ÷12 C/ T =0 TCON TL 0 TH 0 TF 0 中 TR 0 断
0
M1
C/ T GATE T0(P3.4) C/ T =1
(8位)(8位)

制 INT0(P3.2)
图6-5 方式1(16位计数器)
18
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入 的外部脉冲计数,当脉冲发生负跳变时,计数器加 1,计数值公式为: N=216 – x=65536 – x 其中:N为计数值,x是THx、TLx的初值。 x=65535(FFFFH)时,N最小值=1; x=0时,N最大值=65536; 则N的范围:1~65536。
28
二、定时器编程举例
[例6-3]:设单片机晶振频率fosc=12MHz,使用T0以方 式0产生周期为1ms的方波,并由P1.0输出。以中断方 式完成编程。 解:
1、TMOD配置
T1不用,有关位设置为0;
T0的GATE=0,C/T=0,M1M0=00(方式0)。
则TMOD初始化设置为00000000B,即00H。
13
三、工作方式
MCS-51的定时器/计数器共有四种工作方式, 其中:
T0有方式0、1、2、3四种;
T1有方式0、1、2三种。
14
1、工作方式0(以T0为例)—13位定时器/计数器
TMOD 振荡器 ÷ 12 C /T = 0
0
0
M0
S2
TL0的高3位 没有用。
TCON TL 0 TH 0 TF 0 中 TR 0 断
3、计算初值;
x=2n –t/Tcy
其中,n与工作方式有关, 方式0,n=13; 方式1,n=16;

方式2、3时,n=8。
27
一、定时器应用步骤
4、编制应用程序:
① 定时器/计数器的初始化:
写TMOD;
写入定时初值; 设置中断系统的IP、IE; 启动定时器运行(TRx)。 ② 正确编制定时器/计数器中断服务程序。
16
C/T=0时, S1接上面,T0作定时器,对机器周期 脉冲Tcy计数。 求定时时间由下式确定:
t=N· Tcy=(213 – x)Tcy= (8192 – x)Tcy
其中: t为定时时间。 求计数初值计算公式: x=213 – t/Tcy=8192 – t/Tcy
17
Βιβλιοθήκη Baidu
2、工作方式1(以T0为例)—16位定时器/计数器

TRx=0,关闭定时器/计数器
12
3、定时器初值寄存器 TH0 TL0 TH1 TL1 用于存放计数初值,具有自动加 1功能,加满后溢 出,它们的字节地址是: TH1(8位) 8DH TL1(8位) 8BH TH0(8位) 8CH TL0(8位) 8AH
根据定时器 / 计数器工作方式,计数长度可分别选 择:8位,13位,16位。
34
三、计算题 1、MCS-51单片机的时钟晶振频率为6MHz,若要 求定时为0.2ms和20ms,定时器0工作方式为0, 方式1和方式2,其定时器初值各为多少? 2、单片机的晶振为6MHz,设计一个100ms的延时 程序,已知用定时器T0并工作方式1,使用中断 和查询两种方式。
3、设MCS-51单片机的晶振频率为6MHz,若由P1.1 引脚输出1000Hz方波,试编写其应用程序,使用 中断方式。
19
C/T=0时, S1接上面,T0作定时器,对机器周期 脉冲Tcy计数。 求定时时间由下式确定:
t=N· Tcy=(216 – x)Tcy= (65536 – x)Tcy
其中: t为定时时间。 求计数初值计算公式: x=216 – t/Tcy=65536 – t/Tcy
20
3、工作方式2(以T0为例)—8位定时器/计数器
35
答案
一、填空题 1、MCS-51单片机的51子系列含有 2 个 16 位的 加 法定 时器。 2、定时器T0有 4 种工作模式;定时器T1有 3 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 0 或模式 1 。 4、当定时器T0工作在方式 3 时,要占定时器T1的TR1和 TF1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 1000 kHz和 500 kHz。 6、TMOD中的GATE=1时,表示由 2 个信号控制定时器的 启停。
21
图6-6 方式2(初始常数自动装入)
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入的 外部脉冲计数,当脉冲发生负跳变时,计数器加1, 计数值公式为: N=28 – x=256 – x 其中:N为计数值,x是THx、TLx的初值。 x=255(FFH)时,N最小值=1; x=0时,N最大值=256; 则N的范围:1~256。
4
计数器
是对外来脉冲进行计数。计数器对来自输入引脚 P3.4和P3.5的外部信号计数,外部脉冲的负跳变 (下降沿)触发计数。 检测一个由1到0的负跳变需要两个机器周期。所 以最高计数频率为晶体频率的1/24。
5
问题的提出
晶振频率为12MHz时,定 时器和计数器的最高计数 频率各是多少?
6
M1
C/ T GATE T0(P3.4)
S1
(低5位) (高8位)
C/ T =1 控 制
INT0(P3.2)
图 6- 4 方式 0 ( 13 位计数器 ) 15
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入 的外部脉冲计数,当脉冲发生负跳变时,计数器 加1,计数值公式为: N=213 – x=8192 – x 其中:N为计数值,x是THx、TLx的初值。 x=8191(1FFFH)时,N最小值=1; x=0时,N最大值=8192。 则N的范围:1~8192。
第六章 MCS-51定时器/计数器
1
6.1 定时器/计数器结构及工作方式 6.2 定时器应用举例
2
1
§6.1 定时器/计数器结构及工作方式 学习内容
1
2
3
结构
寄存器
工作方式
2
一、定时器/计数器结构
T1:是 16位加法计数器, T0:是16位加法计数器, 1、MCS-51 单片机内有两个可编程的定时器 /计数 分别由两个八位专用寄存器 分别由两个八位专用寄存器 器T0、 T1,其逻辑结构如下图所示 : TH1和TL1组成。 TH0和TL0组成。
29
2、计算初值
产生1ms的方波,只需在P1.0端以0.5ms为周期交 替输出高低电平即可,因此定时时间为0.5ms 。
Tcy=12/fosc=12/12MHz=1us x=213–t/Tcy=8192-500us/1us=8192-500=7692 =1E0CH=1 1110 0000 1100B,

GATE=1,受TRx和外部中断请求信号共同控制。
9
•C/T:定时或计数功能选择位。
C/T=1,为计数器方式;
C/T=0,为定时器方式。 •M1M0: 定时器四种工作方式选择: 00: 方式0:13位定时器/计数器 01: 方式1:16位定时器/计数器 10: 方式2:自动重装初值的8位定时器/计数器 11: 方式3:T0分成两个8位定时器/计数器
32
习题课
一、填空题 1、MCS-51单片机的51子系列含有 个 位的 法定时 器。 2、定时器T0有 种工作模式;定时器T1有 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 或模式 。 4、当定时器T0工作在方式 时,要占定时器T1的TR1和 TF1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 kHz和 kHz。 6、TMOD中的GATE=1时,表示由 个信号控制定时器的 启停。
22
C/T=0时, S1接上面,T0作定时器,对机器周期 脉冲Tcy计数。 求定时时间由下式确定:
t=N· Tcy=(28 – x)Tcy= (256 – x)Tcy
其中: t为定时时间。 求计数初值计算公式: x=28 – t/Tcy=256– t/Tcy
23
[例6-2]:已知晶振6MHz,要求定时0.5ms,试分别求 出T0工作于方式0、方式1、方式2时的定时初值。 解:机器周期Tcy=12/fosc=12/6MHz=2us; 定时t=0.5ms=500us. ①工作方式0: x= 213 – t/Tcy=213 –500us/2us
TH0=11110000B=0F0H;TL0=00001100B=0CH
3、启动和中断 定时器T0的启动由TR0控制,即TR0=1启动。 定时器T0的中断允许由ET0和EA控制, 即ET0=1、EA=1。
30
4、程序设计 ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV SETB SETB SETB SJMP DS0: MOV MOV CPL RETI
11
2、定时器/计数器控制寄存器TCON(88H,可位寻址)
D7 TCON TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0
x=0、1
用于外部中断 图6-3 TCON寄存器各位定义
•TRx: Tx的运行控制位。

TRx=1,启动定时器/计数器
=8192 – 250=7942=1F06H
=1111100000110B 则TL0=00000110B=06H, TH0=11111000B=0F8H
24
②工作方式1:
x= 216 – t/Tcy=216 –500us/2us
=65536 – 250=65286=FF06H
则TL0=06H,TH0=0FFH
10
[例6-1]: 某一系统使T1作为定时器,采用方式2,使T0 作为计数器采用方式1,T0、T1的门控位均为0,请设 置TMOD的值。
D7 TMOD GATE D6 C/T T1 方式控制 D5 M1 D4 D3 GATE D2 C/T D1 M1 D0
M0
M0
T0 方式控制
0
0
1
0
0
1
0 1
即:TMOD=25H.
相关文档
最新文档