定时器计数器概述

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

TH1,#0FFH
TL1,#06H EA TR1 $
SETB ET1
;允许T0中断
;启动T0运行 ;实际应用中,这里应是其他程序
12
T1:MOV MOV CPL RETI
TL1,#06H TH1,#0FFH P1.0
;中断服务程序,从000BH跳转 ;过来 ;重新装入初值 ;输出取反 ;中断返回
13
定时器/计数器的工作方式
工作方式0--13位计数器方式 *
工作方式1--16位计数器方式 工作方式2--8位自动重装初值方式
工作计数器
存放初值
溢出的同时,将 初值重新装入。
14
工作方式 计数位数
最大计数值
最大定时时 定时初值计算公 计数初值计算公式 间 式 213TM 216TM 213-Tc/TM 216-Tc/TM 213-计数值X 216-计数值X
ORG ORG
ห้องสมุดไป่ตู้
0000H
LJMP MAIN
000BH LJMP T0
;转主程序
;T0中断服务程序入口地址 ;转T0中断服务程序
ORG
MAIN:MOV MOV
0030H
SP,#60H TMOD,#02H
;主程序
;设置堆栈指针 ;T0工作于定时、方式2
MOV
MOV SETB SETB SETB SJMP
的来源不同。
6
定时器/计数器的运行控制
运行控制位
门控位
B=1运行 GATE=0 B=TR1 GATE=1 B =TR1INT1
7
二、定时器/计数器的控制寄存器
(1)定时器控制寄存器TCON
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
定时器/计数器T0溢出标志, 计数器溢出时,TF0置“1”, 可用于软件查询或向CPU申 请中断。
定时器/计数器T0的运行控制 位,当GATE=0时,只要 TR0=1,T0就开始工作。
TCON可位寻址!
8
(2)定时器工作方式寄存器TMOD
T1 T0
GATE
门控位
C/T
M1 M0 GATE
C/T
M1 M0
计数/定时选择位 “1”--计数 “0”--定时
M1M0:工作方式选择位 00:方式0--13位计数器 01:方式1--16位计数器 10:方式2--两个8位计数器 自动重装初值 11:方式3--仅T0可用
TMOD不可位寻址!
9
3. 方式1的应用
(1)应用步骤 合理选择工作方式
计算计数初值
编写应用程序 定时器/计数器的初始化:定义TMOD、写入 定时初值、设置中断系统、启动定时器运行。 定时器/计数器的中断服务程序。
10
(2)定时器/计数器应用举例 【例】利用定时器T1定时,在P1.0引脚输出周期为1毫秒(频率为 1KHz)的方波信号。(fosc=6MHz) 分析:
5
工作模式
计数:对输入引脚T0(P3.4)、T1(P3.5)的脉冲
进行计数。
计数次数X=216-计数初值
定时:将时钟脉冲经12分频后的脉冲(即机器周期脉 冲)作为计数的脉冲源。 定时时间Tc=XTM=(216-初值) 12/fosc 即对机器周期脉冲TM进行计数。
!共用一个计数器,二者的主要区别在于计数脉冲
TL0,#06H
TH0,#06H EA ET0 TR0 $
;置定时器初值
;置定时器重装初值 ;CPU允许中断 ;允许T0中断 ;启动T0运行 ;实际应用中,这里应是其他程序 19
11
ORG ORG
0000H ;转主程序 ;T0中断服务程序入口地址 ;转T0中断服务程序 001BH
LJMP MAIN LJMP T1
ORG
MAIN:MOV MOV
0030H
SP,#60H
;主程序
;设置堆栈指针 ;T0工作于定时、方式1 ;置定时器初值 ;中断总允许
TMOD,#10H
MOV
MOV SETB SETB SJMP
可编程定时器/计数器
2
AT 89C51中有两个最大计数值为16位的可编程定时 器/计数器T0、T1。
3
一、定时器/计数器的工作原理
定时器/计数器的结构(以T1工作于方式1为例)
定时器和计数器是同一个部件,其核心是 一个可预置初值的16位加1计数器(特殊功 能寄存器TH1、TL1),对输入的脉冲进行 计数。
按题义,就是要将P1.0的输出信号每间隔500s翻转一次。选择 T1工作于定时、方式1、定时时间为500s。 TMOD=0001 0000B=10H 计算初值 fosc=6MHz 机器周期TM=2 s 要定时500 s 即要计250个机器周期脉冲 初值=216-250=65286=FF06H
6 定时器/计数器
定时器/计数器的结构及工作原理 定时器/计数器的工作方式 定时器/计数器的应用
1
定时器/计数器的结构及工作原理
在测量控制系统中,常需要有实时时钟和计数 器,以实现定时(或延时)控制以及对外界事 件进行计数。 常用的定时(或延时)方法有:
软件延时
硬件定时
内部 外部
脉冲源
TM
运行控制电路
TF1:溢出标志,当计数器 计到全1时(FFFFH),此时, 再来一个计数脉冲,计数器 清0,产生溢出,TF1由0变 4 为1。
计数器的初值与计数值
可预置初值 的加计数器
初值 FFFFH FFFEH ..... 初值=216-计数值X 0001H 0000H
计数值X 1 2 ... 65535 65536(216)
方式0 方式1
13 16
213=8192 216=65536
方式2
8
28=256
28TM
28-Tc/TM
28-计数值X
注:Tc —定时时间
TM —机器周期
15
工作方式3--仅T0可用*
使用T0的控制寄存器资源
占用T1资源:TR1、TF1,只 能作为8位定时器使用
16
T0方式3下的T1工作方式:
• 方式0
没有启动控制、设置好工作 方式就开始运行
• 方式1
• 方式2
用作串行口 波特率发生器
17
定时器/计数器的综合应用
工作方式2的应用 【例】利用定时器T0定时,在P1.0引脚输出周期为1ms (频率为1KHz)的方波信号。(fosc=6MHz)
分析: 方式2可以满足要求选择T0工作于定时、方式2、 定时时间为500s。 TMOD=0000 0010B=02H 计算初值 fosc=6MHz 机器周期TM=2 s 要定时500 s 即要计数250个机器周期脉冲 18 初值=28-250=6=06H
相关文档
最新文档