单片机的定时器 计数器 的用法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T0
TF0
INT0 TR0
注意,系统上电默认值为TCON = 0,则默认状态应为:
TR0和TR1均为关闭状态、电平中断触发方式、没有外部 中断请求
第120-2105/1页/29
■
山东交通学院信息科学与电15 气工程学院
单片机原理及应用 电子教案
6.3 定时/计数器的工作方式
T0工作 M1
方式
0
0
1
T0方式选择位
00-方式0
01-方式1
T0工作
10-方式2 状态
11-方式3
第120-2102/1页/29
■
山东交通学院信息科学与电12 气工程学院
单片机原理及应用 电子教案
注意:TMOD只能以字节方式进行初始化
TMOD D7
D6 D5
D4
D3
D2
D1
D0
(89H) GATE CC//TT M1
M0 GATE CC//T M1
第120-2108/1页/29
■
山东交通学院信息科学与电18 气工程学院
单片机原理及应用 电子教案
计数方式
计数值: N = (216 – a )
最大计数值:N = 65536 (脉冲)
由于检测一个负跳变需要2个机器周期,即24个振荡周期,
故最高计数频率=
1 24
f osc 。
故,对于12MHz晶振,最大外部脉冲的频率为0.5MHz 。
1
M0 工作方式 功能说明
0 1 0 1
0 1 2 3
13位定时/计数器 16位定时/计数器 8位自动重装定时/计数器 3种定时/计数器关系
T1工作 M1
方式
0
0
1
注意:
M0 工作方式 功能说明
0
0
13位定时/计数器
1
1
16位定时/计数器
0
2
8位自动重装定时/计数器
T0有4种工作方式,每种工作方式都有定时和计数2种方式。
delay(unsigned int time ){ unsigned int j = 0; for(;time>0;time--) for(j=0;j<125;j++);
}
基本思路:由CPU统计状态变化次数,待预定结果出 现后结束统计。 存在问题:占用过多CPU机时
第210-202/1页/29
■
山东交通学院信息科学与电2 气工程学院
1ms 2ms
方波输出原理:定时1ms后将端口输出电平取反。
1ms定时的计数初值应为: a = 216 – t* fos / 12 = 216 – 1000* 12/ 12 = 64536 = 0xfc18
TH0 = 0xfc TL0 = 0x18 注意:需要不断重装计数初值。
第120-2201/1页/29
单片机原理及应用 电子教案
控制寄存器TCON
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
单片机原理及应用 电子教案
第6章 单片机的定时器/计数器
6.1 定时/计数器的结构与工作原理 6.2 定时器的控制 6.3 定时/计数器的工作方式 6.4 定时/计数器的编程和应用
第210-201/1页/29
■
山东交通学院信息科学与电1 气工程学院
单片机原理及应用 电子教案
纯软件定时/计数方法: 定时——空循环预定周次,等待预定时间 计数——读取I/O口电平,统计变化次数
■
山东交通学院信息科学与电6 气工程学院
单片机原理及应用 电子教案
基本工作原理:
(每个机器周期产生一个计数脉冲)
Tx端
TFx (X = 0、1)
逻辑开关C T 功能:C T = 0→定时器方式,C T = 1计数器方式 计数器的溢出空间可随计数初值改变→定时时间t t =(计数器最大空间-计数初值)×机器周期
第120-2109/1页/29
■
山东交通学院信息科学与电19 气工程学院
单片机原理及应用 电子教案
实例1 设单片机的fosc=12MHz,采用T0定时方式1在P1.0脚上输出周期 为2ms的方波。
虚拟示波器
第120-2200/1页/29
■
山东交通学院信息科学与电20 气工程学院
单片机原理及应用 电子教案 分析:周期为2ms的方波由2个半周期为1ms的正负脉冲组成
单片机软硬件联合定时/计数方法:
定时器 系统时钟脉冲 计数器 外来信号脉冲
溢出
加1计数器
溢出标志
溢出
加1计数器
溢出标志
等待CPU响应 等待CPU响应
系统时钟脉冲
定时/ 计数器
外来信号脉冲
溢出
K 加1计数器
溢出标志
等待CPU响应
定时器的本质是计数器(对时钟脉冲计数),计数器则是对外来脉冲计数.
第210-206/1页/29
单片机原理及应用 电子教案
方式1
——使用16位定时/计数器(THx+TLx)
(M0 M1为01组合时)
定时方式
定时时间:t = (216- a)×12/fosc (s) 最大定时时间(a=0,fosc =12MHz):t = 216(s) = 65536 (s) 定时范围为1~65,536 μs(≈65ms)。
单片机原理及应用 电子教案
6.1 定时/计数器的结构和工作原理
基本型:T0,定时、计数。 T1,定时、计数、串口波特率发生器。
增强型:增加了T2。
定时/计数器的结构
T1引脚
T0引脚
机器周 期脉冲
TH1
TCON
第210-203/1页/29 2020/1/29
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
外部中断1 参与定时器 的启停管理
启动控制位 TR1=1-启动计数器 TR1=0-停止计数器
第210-209/1页/29
■
山东交通学院信息科学与电9 气工程学院
单片机原理及应用 电子教案
工作方式寄存器TMOD
7
6
TMOD GATE C/T
54
3
210
M1 M0 GATE C/T M1 M0 字节地址:89H
≥1
T0引脚
机器周期 1
INT0引脚
TMOD
1 MFra Baidu bibliotek D0 0 M1
C/T GATE
M0 M1 C/T GATE D7
X=216-N=65536-N
计数范围:1~65536
计数初值要分成2个字节分别送入TH0、TL0
第120-2107/1页/29 2020/1/29
■
17 山东交通学院信息科学与电17 气工程学院
TL1
外部中断相关位
■
TH0
TL0
TH1、TL1
TH0、TL0
内部总线
TCON
TMOD
TMOD
T1方式
T0方式
3 山东交通学院信息科学与电3 气工程学院
单片机原理及应用 电子教案
定时/计数器的结构
2个16位计数器T0 (TH0、TL0)和T1 (TH1、TL1)——加1计数器 2个控制寄存器TCON和TMOD——管理计数器的运行
//装载计数初值
TL0 = 0x18;
do{ } while(!TF0); //等待TF0溢出
P1_0 =!P1_0;
//定时时间到P1.0反相
TF0 = 0;
//TF0标志清0
}
}
第120-2202/1页/29
■
山东交通学院信息科学与电22 气工程学院
单片机原理及应用 电子教案
第120-2203/1页/29
M0
T1
T0
例如,设置T0为定时器方式1,允许TR0启动; T1为计数器方式0,允许INT1启动。
则 TMOD = 1100 0001B =0xc1 又如,系统上电默认值为TMOD = 0,则默认状态应为:
T0和TI均为定时器方式0,允许TR0、TR1启动。
第120-2103/1页/29
■
山东交通学院信息科学与电13 气工程学院
■
山东交通学院信息科学与电24 气工程学院
单片机原理及应用 电子教案
小结:使用定时/计数器的步骤
(1)设置TMOD——确定定时/计数器的工作状态
T0
T1
定时
计数
定时
计数
01230123 0 1 2 0 1 2
T0
强调:TMOD的设置只能以字节形式给出
第120-2205/1页/29
■
第120-2104/1页/29 2020/1/29
■
14 山东交通学院信息科学与电14 气工程学院
单片机原理及应用 电子教案
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
定时器控制位
外部中断控制位
T1 T0脚
■
山东交通学院信息科学与电8 气工程学院
单片机原理及应用 电子教案
6.2 定时/计数器的控制
定时/计数器的控制关系(以T1为例)
模式选择位
C T =0-定时
T1
C T =1-计数
中断请求标志位 TF1=1-请求 TR1=0-复位
门控位 GATE=0-允许TR1启 动计数器
GATE=1-允许INT1 启动计数器
T1只有3种工作方式(T0的方式3中占用了T1的部分资源)。
学习顺序:方式1→方式2 →方式0
第120-2106/1页/29
■
山东交通学院信息科学与电16 气工程学院
单片机原理及应用 电子教案
方式1:16位方式
TCON
申请 中断
TF1 D7
TR1
溢出
TF0
TH0 TL0
TR0
8位 8位
D0
1 0 &
GATE:门控位。GATE=0时,只要TRx为1,就可启动计 数器工作;GATA=1时,定时器的启动还要加上INTx引脚 为高电平这一条件。
C/T:模式选择位。 清0为定时模式,置1为计数方式。 M1M0:工作方式设置位。可设置四种工作方式(见下页)。
第120-2100/1页/29 2020/1/29
2个外部引脚T0(P3.4)和T1(P3.5)——接入外部脉冲
第210-204/1页/29
■
山东交通学院信息科学与电4 气工程学院
单片机原理及应用 电子教案
定时/计数器的工作原理
实质是16位加1计数器
定时器模式时,是对内部机器周期计数。计数值乘以机 器周期就是定时时间
计数器模式时,是对外部事件计数。脉冲由T0(P3.4) 或T1(P3.5)引脚输入。
图6.14 实例1仿真波形图
■
山东交通学院信息科学与电23 气工程学院
单片机原理及应用 电子教案
(2)中断方式
#include <reg51.h>
sbit P1_0=P1^0;
timer0 () interrupt 1 {
//T0中断函数
P1_0 = !P1_0;
//P1.0取反
TH0 = 0xfc;
注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有:
N=65536-X,或X=65536-N •12MHz晶振时,计数频率低于0.5MHz
第210-205/1页/29 2020/1/29
■
5 山东交通学院信息科学与电5 气工程学院
单片机原理及应用 电子教案
■
10 山东交通学院信息科学与电10 气工程学院
单片机原理及应用 电子教案
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
第120-2101/1页/29 2020/1/29
//装载计数初值
TL0 = 0x18;
}
main () {
TMOD = 0x01;
//T0定时方式1
TH0 = 0xfc;
//装载计数初值
TL0 = 0x18;
EA=1;
//开总中断
ET0=1;
//开T0中断
TR0=1;
//启动T0
while(1);
}
注意:中断响应后系统可自动将TFx标志位清0
第120-2204/1页/29
■
山东交通学院信息科学与电21 气工程学院
单片机原理及应用 电子教案
(1)查询方式
#include <reg51.h>
sbit P1_0 = P1^0;
T0
main () {
TMOD = 0x01;
//设置T0定时方式1(0000 0001B)
TR0=1;
//启动T0
for(;;){
TH0 = 0xfc;
■
11 山东交通学院信息科学与电11 气工程学院
单片机原理及应用 电子教案
TMOD D7
D6 D5
D4
D3
D2
D1
D0
(89H) GATE CC//TT M1 M0 GATE CC//T M1 M0
T1
T0
T1
T1方式选择位
00-方式0 01-方式1 10-方式2
T1工作 状态
T0脚
T0
TF0
INT0 TR0
=(2n-a)×12/fosc (s) t与n、a、fosc三个因素有关
第210-207/1页/29
■
山东交通学院信息科学与电7 气工程学院
单片机原理及应用 电子教案
Tx端
TFx (X = 0、1)
计数值N = (计数器满计数值 - 计数初值) = (2 n – a ) N与n、a两个因素有关
第210-208/1页/29