单片机的定时器 计数器 的用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档