单片机的定时器 计数器 的用法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(M0 M1为01组合时)
定时方式
定时时间:t = (216- a)×12/fosc (s) 最大定时时间(a=0,fosc =12MHz):t = 216(s) = 65536 (s) 定时范围为1~65,536 μs(≈65ms)。
工作方式寄存器TMOD
7
6
54
3
210
TMOD GAGTAET:E 门C/控T 位。M1GATME=0 0G时AT,E 只C要/T TRMx1为1M,0就字可节启地动址:计89H 数器工作;GATA=1时,定时器的启动还要加上INTx引脚 为高电平这一条件。
C/T:模式选择位。 清0为定时模式,置1为计数方式。
注意:
T0有4种工作方式,每种工作方式都有定时和计数2种方式。
T1只有3种工作方式(T0的方式3中占用了T1的部分资源)。
学习顺序:方式1→方式2 →方式0
方式1:16位方式
X=216-N=65536-N
计数范围:1~65536
计数初值要分成2个字节分别送入TH0、TL0
v*
v17
方式1
——使用16位定时/计数器(THx+TLx)
T0和TI均为定时器方式0,允许TR0、TR1启动。
控制寄存器TCON
TCON
76543210
TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作 。TRx要由软件置1或清0(即启动与停止要由软件控制) 。
M1M0:工作方式设置位。可设置四种工作方式(见下页) 。
v*
v10
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
v注意:TMOD不能进行位寻址
v*
v11
v*
v14
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
定时器控制位
外部中断控制位
T1 T0脚
T0
TF0
INT0 TR0
注意,系统上电默认值为TCON = 0,则默认状态应为:
TR0和TR1均为关闭状态、电平中断触发方式、没有外部 中断请求
6.3 定时/计数器的工作方式
T0工作 方式
M1
0 0
T1工作1 方式 1
M0
工作方式 功能说明
0
1
M1 0 M0
01 0
0
1
1
0
13位定时/计数器
0
16位定时/计数器
123工作012方式83位种自定功11836位动时能位位自/重说计定定动装明数时时重定器//计计装时关数数定/系计器器时数/计器数器
2个16位计数器T0 (TH0、TL0)和T1 (TH1、TL1)——加1计数器 2个控制寄存器TCON和TMOD——管理计数器的运行 2个外部引脚T0(P3.4)和T1(P3.5)——接入外部脉冲
定时/计数器的工作原理
v实质是16位加1计数器
定时器模式时,是对内部机器周期计数。计数值乘以机 器周期就是定时时间
6.2 定时/计数器的控制
定时/计数器的控制关系(以T1为例)
模式选择位
=0-定时
T1
=1-计数Βιβλιοθήκη Baidu
中断请求标志位 TF1=1-请求 TR1=0-复位
门控位 GATE=0-允许TR1启 动计数器
GATE=1-允许INT1 启动计数器
外部中断1 参与定时器 的启停管理
启动控制位 TR1=1-启动计数器 TR1=0-停止计数器
单片机的定时器 计数器 的用法
2020年4月22日星期三
纯软件定时/计数方法: 定时——空循环预定周次,等待预定时间 计数——读取I/O口电平,统计变化次数
delay(unsigned int time ){ unsigned int j = 0; for(;time>0;time--)
for(j=0;j<125;j++); }
计数器模式时,是对外部事件计数。脉冲由T0(P3.4) 或T1(P3.5)引脚输入。
v注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有: v N=65536-X,或X=65536-N •12MHz晶振时,计数频率低于0.5MHz
v*
v5
单片机软硬件联合定时/计数方法:
基本思路:由CPU统计状态变化次数,待预定结果出 现后结束统计。 存在问题:占用过多CPU机时
6.1 定时/计数器的结构和工作原理
v基本型:T0,定时、计数。
v
T1,定时、计数、串口波特率发生器。
v增强型:增加了T2。
定时/计数器的结构
TH1、TL1 TH0、TL0 TCON TMOD
v*
v3
定时/计数器的结构
定时器 系统时钟脉冲 计数器 外来信号脉冲
溢出
加1计数器
溢出标志
溢出
加1计数器
溢出标志
等待CPU响应 等待CPU响应
系统时钟脉冲
定时/ 计数器
外来信号脉冲
溢出
K 加1计数器
溢出标志
等待CPU响应
定时器的本质是计数器(对时钟脉冲计数),计数器则是对外来脉冲计数.
基本工作原理:
(每个机器周期产生一个计数脉冲)
TMOD D7
D6 D5
D4
D3
D2
D1
D0
(89H) GATE C/T
M1
M0 GATE C/T M1
M0
T1
T0
例如,设置T0为定时器方式1,允许TR0启动; T1为计数器方式0,允许INT1启动。
则 TMOD = 1100 0001B =0xc1 又如,系统上电默认值为TMOD = 0,则默认状态应为:
Tx端
TFx (X = 0、1)
逻辑开关 功能: = 0→定时器方式, = 1计数器方式 计数器的溢出空间可随计数初值改变→定时时间t t =(计数器最大空间-计数初值)×机器周期
=(2n-a)×12/fosc (s) t与n、a、fosc三个因素有关
Tx端
TFx (X = 0、1)
计数值N = (计数器满计数值 - 计数初值) = (2 n – a ) N与n、a两个因素有关
TMOD D7
D6 D5
D4
D3
D2
D1
D0
(89H) GATE C/T
M1
M0 GATE C/T M1
M0
T1
T0
T1
T1方式选择位
00-方式0 01-方式1 10-方式2
T1工作 状态
T0脚
T0
TF0
INT0 TR0
T0方式选择位
00-方式0
01-方式1
T0工作
10-方式2 状态
11-方式3
注意:TMOD只能以字节方式进行初始化