课件-51单片机定时计数器讲义

合集下载

课件51单片机的定时计数器讲义

课件51单片机的定时计数器讲义
图6-13 P1.0引脚上输出周期为2ms的方波
30
基本思想:方波周期T0确定,T0每隔1ms计数溢出1次, 即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务 子程序中对P1.0取反,如图6-13所示。为此要做如下几步 工作。
(1)计算计数初值X
机器周期 = 2s = 2 10−6s
设需要装入T0的初值为X,则有 (216−X)210−6=1 10−3,216−X=500,X=65036。
33
PT0M0: MOV TL0,#0CH ;T0初始化,装初值的低8位
MOV TH0,#0FEH ;装初值的高8位
SETB ET0
;允许T0中断
SETB EA
;总中断允许
SETB TR0
;启动T0
RET
IT0P: MOV TL0,#0CH ;中断子程序,T0重装初值
X化为十六进制数,即: 65036 = FE0CH 。
T0的初值为TH0 =FEH,TL0 = 0CH。
31
(2)初始化程序设计 采用定时器中断方式工作。包括定时器初始化和中断系 统初始化,主要是对寄存器IP、IE、TCON、TMOD的相 应位进行正确的设置,并将计数初值送入定时器中。 (3)程序设计 中断服务子程序除了完成所要求的产生方波的工作之外 ,还要注意将计数初值重新装入定时器,为下一次产生中 断做准备。 本例,主程序用一条转至自身的短跳转指令来代替。
10
TR1位(或TR0位) = 0,停止定时器/计数器工作。 该位可由软件置“1”或清“0”。 6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。 6.2.1 方式0 M1、M0=00时,被设置为工作方式0,等效逻辑结构框图 如图6-4所示(以定时器/计数器T1为例,TMOD.5、 TMOD.4 = 00)。

51单片机定时器计数器详解

51单片机定时器计数器详解

51单⽚机定时器计数器详解第六章定时器/计数器6.1 定时器的结构及⼯作原理6.2 定时器的控制6.3 定时器的⼯作模式及其应⽤第六章定时器/计数器实现定时⼀般有多种⽅法:1. 利⽤软件实现(延时程序)优点:简单,控制⽅便;缺点:CPU效率低。

2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率⾼;缺点:修改参数⿇烦。

3. 利⽤计数器实现输⼊脉冲定时器/计数器作⽤主要包括产⽣各种时标间隔、记录外部事件的数量等,是单⽚机中最常⽤、最基本的部件之⼀。

外来脉冲定时计数定时器/计数器功能⽰意图6.1 定时器/计数器的结构及⼯作原理6.1.1 定时器/计数器的基本结构MCS-51单⽚机有⼆个定时器/计数器,每个定时器/计数器由⼏个专⽤寄存器组成。

TMOD(89H )⾼四位TMOD(89H )低四位⽅式寄存器TCON(88H)TCON(88H)控制寄存器*8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)定时器T1定时器T0定时器/计数器的结构如下图所⽰。

定时器/计数器的基本结构框图申请P3.5or P3.4or 8DH 8BH8CH 8AH6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图INTx P3.YGATE :门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5⼀. 对外部输⼊信号的计数功能当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。

若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。

所以计数器计数的频率最⾼为fosc 的1/24。

BDEHT H >1个机器周期T L >1个机器周期L⼆. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。

INTx P3.Y例如:晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。

MCS-51单片机的定时器-计数器

MCS-51单片机的定时器-计数器
1.3 工方式
MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方 式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全 一样,现以定时器/计数器0为例介绍前三种工作方式。
1. 方式0(M1M0=00) (1)电路逻辑结构
方式0是13位计数结构的工作方式,其计数器由TH0全部8位 和TL0的低5位构成。TL0高三位弃之不用。图6.4 是定时器/计数 器0工作在方式0的逻辑结构。
分析:题目的要求可用下图来表示。

P1.0
8051 250 s 250 s
由上图可以看出只要使 的电位每隔250 取一次反即可。所 以定时时间应取250 。
1)计算计数初值 设计数初值为x,由定时计算公式知:
2)专用寄存器的初始化
D7
D6 D5 D4
D3
D2 D1
D0
GATE
GATE
所以,TMOD应设置为:10H 开放定时器/计数器1中断,所以IE应设置为:88H
当GATE=1时,只有TR0和 同时为高电平,定时器/计数 器 才工作,否则,定时器/计数器不工作。
(2)定时和计数的应用 计数范围:1~213 计数计算公式:计数值=213-计数初值 定时范围:1机器周期~213机器周期 定时计算公式:定时时间=(213-定时初值)×机器周期 如果晶振频率为6MHz ,则最大定时时间为: 213×1/6MHz×12=214( )
单片机原理及应用
MCS-5单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。
1.1 结构
定时器/计数器的基本结构如图6.3所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。

MCS-51单片机内部定时器计数器

MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器

第六章 MCS-51单片机内部定时器

第六章 MCS-51单片机内部定时器

6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)

单片机C语言编程(定时器计数器)PPT课件

单片机C语言编程(定时器计数器)PPT课件

④ 控制信号TRx=1时,定时器启动。
⑤ 当定时器由全1加到全0时计满溢CPU申请中 断。
精选PPT课件
10
6.1.3 定时器/计数器的方式和控制寄存器
1、T0、T1 工作模式寄存器TMOD
功能:确定定时器的工作模式。 其格式如图6-3所示:
TMOD D7 D6 D5 D4 D3 D2 D1 D0 (89H) GATE C/T M1 M0 GATE C/T M1 M0
MCS-51单片机定时器/计数器逻辑结构图:
CPU
T 0( P 3 .4)
T 1( P 3 .5)
T2EX(P1.1)
定时器 0
定时器 1
T2 ( P1 . 0 ) 定时器 2
TH 0 溢 出
控 制
TL 0
TH 1






TL 1
模 式
TH 2 溢 出
RCAP 2H
TL 2
重装 捕获 RCAP 2L
计数信号由片内振荡电路提供,振 荡脉冲12分频送给计数器,每个机器周期计 数器值增1。
例如:如果晶振频率为12MHz,则最高 计数频率为0.5MHz
精选PPT课件
9
6.1.2 MCS-51单片机定时器/计数器的工作原理
③ C/T =1 ,为计数方式。

计数信号由Tx引脚(P3.4、P3.5和
P1.0)输入,每输入一有效信号,相应的 计数器中的内容进行加1。
TCON D7 D6 D5 D4 D3 D2 D1 D0 (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
图6-4 定时器的控制寄存器
TF1、TF0:T1、T0的溢出标志位 计数溢出,TFx=1。 中断方式:自动清零; 查询方式:软件清零。

51单片机定时器的使用和详细讲解__特别是定时器2

51单片机定时器的使用和详细讲解__特别是定时器2


1)禁止递增/递减计数模式 若DCEN = 0,则递增/递减计数选择被禁止,此时定 时器只能递增计数。工作原理如图 8-10 所示。
通用16定时 器寄存器
预分频 使能位
重载值 寄存器 27号引 脚 使能/禁止引入外 部信号控制T2
中断标 志位
图8-10 T2禁止递增/递减计数模式


若EXEN2 = 0,置位TR2 定时器开始递增计数, 计数至最大值FFFFH 后溢出并置位TF2,同 时将寄存器RC2 中的16 位重载值重新装入定 时器寄存器。 重载值由软件预先设置。新一轮计数循环开始, 定时器同上一轮计数循环一样,从重载值开始 递增计数。
程序清单如下(中断服务程序片段):
{
TF1=0;
TH1=0x15; TL1=0xA0; //重填初值
If (count!=0)
count--; else {count=10;P1_0=!P1_0;} }
8.4 定时器T2 8.4.1 概述 定时器2 是一个16 位通用计数器,其具有 两种操作模式:16 位自动重载模式和16 位 捕获模式。 如果预分频功能被禁止,定时器2工作时, 16 位通用加法计数器以12分频的周期脉冲 计数,每个周期16位通用加法计数器加1或 减1。


8.4.2 定时器T2控制寄存器
1.模式寄存器T2MOD 寄存器T2MOD 用来选择定时器2 的工作模式。其 组成如图8-8所示。
启动边沿 选择位
捕获模式/重载模式 的边沿选择位
预分频使能位
外部启动 使能位
计数器 递增/递 减使能位
图8-8 T2MOD各位功能
2.控制寄存器T2CON 寄存器T2CON 控制定时器2 的工作模式,其各位功 能如图8-9所示。

第5章 MCS-51单片单片机内部 定时器计数器

第5章  MCS-51单片单片机内部 定时器计数器

LOOP:
例:由P1.0输出方波信号,周 期为2ms,设fosc=12MHz。 (中断方式)
2ms
解:每隔1ms改变一次P1.0的输出状态,即形成方波, 用T0非门控方式1定时。 计算时间常数:X = 216 - t/T = 216 –(1/1000)/10-6 = 65536-1000 = 64536 = FC18H
3 工作模式2 • 模式2把TL0(或TL1)设置成一个可以自动重 装载的8位定时器/计数器 。 用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计 数器,THx为8位初值暂存器。
复位时,TMOD所有位均置0。 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010 B
定时器控制寄存器TCON除可字节寻址外,各 位还可以位寻址。
位地址 位符号 8FH TF1 8EH 8DH 8CH TR1 TF0 TR0 8BH IE1 8AH 89H 88H IT1 IE0 IT0
解得:T0初值=7096=11011101 11000B,其中将高8位 11011101 B=DDH 赋给 TH0 ,低 5 位 11000B=18H 赋 给 TL0。

方法一:
采用查询工作方式,编程如下:
ORG AJMP 0000H MAIN
LOOP:JNB TF0,$;$为当前指令指 针地址 CLR SETB CLR MOV MOV TF0 P1.0 P1.0 TH0 , #0DDH ;重装载 ;产生2µ s正脉冲
ORG AJMP ORG AJMP ORG MAIN:MOV MOV MOV SETB SETB SETB HERE:SJMP PT0INT:MOV MOV CPL RETI

MCS-51单片机的定时器计数器

MCS-51单片机的定时器计数器
器工作方式。 (2)预置定时计数器中计数的初值——直接写入TH和
TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初
值。 MOV TL0,#00H
Copyright 2006
(3)根据需要开放定时器/计数器的中断——对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。
判断中 断的次 数

CPL P1.0
;定时到,输出取反

NO:RETI
;中断返回
END
注意:此程序的#20和#60这两个立即数后面没 有加H表示是十进制数。
思考:能否利用定时器来实现一个电子钟?
Copyright 2006
测量每1秒钟之内的按键按下次数
工作方式0: 13位定时/计数方式,因此,最多可以计到2的13 次方,也就是8192次。
工作方式1: 16位定时/计数方式,因此,最多可以计到2的16 次方,也就是65536次。
工作方式2和工作方式3:都是8位的定时/计数方式,因此, 最多可以计到2的8次方,也说是256次。
Copyright 2006
;开中断 ;开T0中断 ;运行T0 ;等待中断 ;定时到,输出取反 ;重新加载初战值
;中断返回
中断程序的主 程序和中断服 务程序的布局
定时器初始化
开定时器中断
Copyright 2006
实例二:利用方式1定时
题目:用定时器T1,使用工作方式1,在单片机的P1.0输出一个周期为2分钟、占 空比为1:1的方波信号。
Copyright 2006
MCS-51单片机的定时器/计数器(二)

第6章 MCS-51定时计数器

第6章 MCS-51定时计数器

6.1
定时/计数器概述
在单片机应用系统中,实现定时的方法一般有以下三种: (1)软件定时 (2)硬件定时 (3)可编程定时/计数器 采用了软、硬件结合的方法,即使用专门的定时/计数 器进行定时。定时/计数器通过对系统时钟脉冲或外部脉冲 信号进行计数来实现定时功能。 在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
2.定时/计数器控制寄存器TCON
TCON 的作用是控制定时器的启动、停止,标志定时器的溢出 和中断情况。 T1 T1 T0 T0 INT1 INT1 INT0 INT0 TCON 中断 运行 中断 运行 中断 触发 中断 触发 标志 标志 标志 标志 标志 方式 标志 方式 位名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
第6 章
MCS-51的定时/计数器
【学习目标】 理解单片机定时/计数器T0和T1的功能和结构; 掌握定时/计数器工作方式寄存器TMOD的用途和设置 方法; 掌握定时/计数器控制寄存器TCON的用途和设置方法; 理解定时/计数器的4种工作方式; 掌握定时/计数器T0和T1的应用方法。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为 定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
⒈ 工作方式0 13位计数器,由TL0低5位和TH0 8位组成,TL0低5位计数 满时不向TL0第6位进位,而是向TH0进位,13位计满溢出, TF0置“1”。最大计数值213 = 8192。 ⒉ 工作方式1 16位计数器,最大计数值为216 = 65536。当fosc=12MHZ, 最大定时65536 S,而用方式0最大定时时间为8192 S. ⒊ 工作方式2 8位计数器,仅用TL0计数,最大计数值为28= 256,计满溢 出后,一方面进位TF0,使溢出标志TF0 = 1;另一方面,使 原来装在TH0中的初值装入TL0。 优点:定时初值可自动恢复,TH0中存放初值;缺点:计数 范围小。 适用于需要重复定时,而定时范围不大的应用场合。

第6章 定时计数器

第6章  定时计数器

6.4.2 定时计数器的初始化
定时计数器的初始化编程步骤: 1)根据实际要求设置TMOD寄存器的初值; 2)根据定时时间要求或计数要求计算计数器初值,并 往THx和TLx寄存器中载入初值;
3)启动定时/计数器,即将TRX置位。
如果工作于中断方式,还需要置位EA(中断总开关) 及ETX(允许定时/计数器中断)。
ORG 0000H AJMP MAIN ORG 000BH AJMP TIMEL;TL0中断 ORG 001BH AJMP TIMEH;TH0中断
ORG 0030H MAIN:SETB P1.0 SETB P1.1 MOV TMOD,#03H MOV TL0,#9CH
6.1.2 定时/计数器的工作原理
2. 计数工作方式 设置为计数工作方式时:
★ 通过引脚T0(P3.4)、T1(P3.5)对外部脉冲信号计 数。
★ 输入脉冲信号为1至0的下降沿时,定时器加1。 在每个机器周期CPU采样T0和T1的输入电平。若 前一个机器周期采样值为高,下一个机器周期采样 值为低,则计数器加 1。
6.1.2 定时/计数器的工作原理
1. 定时工作方式 设置为定时工作方式时: ★ 计数脉冲由片内振荡器经12分频后产生。 ★ 每经过一个机器周期,定时器(T0或T1)的数 值加1直至计数满产生溢出。 如:当8051采用12MHz晶振时,每个机器周 期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。
6.2.2 控制寄存器TCON(88H)
TF1 TR1 TF0 T0 请求 有/无 TR0 T0 工作 启/停 IE1 INT1 请求 有/无 IT1 IE0 IT0 T1 T1 请求 工作 有/无 启/停 INT1 INT0 INT0 方式 请求 方式 下沿/ 低 有/无 下沿/ 电平 低电平
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档