第六章 定时器_计数器

合集下载

单片机第六章定时器

单片机第六章定时器
计数溢出时,TFx置位。如果中断允许,CPU响应中 断并转入中断服务程序,由内部硬件清TFx。TFx也可以 由程序查询和清零。
这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;


特殊功能寄存器TMOD、TCON;
时钟分频器;

输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。

第六章单片微机的定时器计数器原理及应用

第六章单片微机的定时器计数器原理及应用

中断矢量001BH
⑴T0方式3下的T0
在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。 ▲ TL0:8位定时/计数器,使用T0原有的控制寄存器资 源:TF0,TR0,GATE,C/T,INT0,中断矢量等; ▲ TH0:8位定时器,占用T1的中断溢出标志TF1,运行控 制开关TR1,中断矢量001BH,只能对片内机器周期脉冲计数
复位后,两个寄存器全部清零。
6.3.2 定时器/计数器T2的工作方式
T2的工作方式用控制位CP/RL2(T2CON.0)和RCLK +TCLK来选择。T2有3种工作方式,如表6-2所示:捕获方式、 自动重装载方式和波特率发生器方式。
⒈ 捕获方式
在一定条件下,自动将计数器TH2和TL2的数据读入捕获寄存器 RCAP2H和RCAP2L,亦即TH2和TL2内容的捕获是通过捕获寄 存器RCAP2H和RCAP2L来实现的。其工作原理可参见图6-7。
当CP/RL2=0时,选择自动重装载方式。 若T2的中断是被允许的,则无论发生TF2=1还是EXF2 =1,CPU都会响应中断,此中断向量的地址为002BH。响应 中断后,应用软件撤除中断申请。TF2 和EXF2都是直接可寻 址位,可采用CLR TF2和CLR EXF2指令实现撤除中断申请的 功能。
触发 方式
89H IE0
中断 标志
88H IT0
触发 方式
⒊ T0、T1 的数据寄存器——TH1、TL1,TH0、TL0 ⒋ 定时器/计数器中断
⑴ 中断允许寄存器IE
⑵ 中断矢量 ⑶ 中断优先级寄存器IP
6.2.2 定时器/计数器T0、T1 的工作方式
T0:有4种工作方式可选(方式0,1,2,3)
当CP/RL2=l时,选择捕获方式。

第6章MCS-51的定时器

第6章MCS-51的定时器

• 28×12×1/12MHz=28us=256us=0.256ms
工作方式2_补充说明
8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时 ,TH0中的计数初值自动装入TL0,即TL0是一个自动 恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。
工作方式1_应用分析
定时和计数的应用 计数范围:1~216 计数计算公式:计数值=216-计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期~216机器周期 定时计算公式:定时时间=(216-定时初值)×
机器周期 如果晶振频率为6MHz ,则最大定时时间为: 216×12×1/6MHz=217us=131072us=131.072ms 如果晶振频率为12MHz ,则最大定时时间为: 216×12×1/12MHz=216us=65536us=65.536ms 工作方式1的定时计数功能切换模式,与工作方式
0完全一样;而启动定时计数器的模式,也与工作方式 0完全一样。计数量方式1更大,可完全取代方式0。
6.2.3 方式2
方式2为自动重装初值的8位计数方式。
TCON
TF1 D7
申请 中断
TR1
溢出8位计数器
1
TF0
TL0
TR0
0 &
TH1重TH装0 单元 ≥1 8位
D0
T0引脚
机器周期 1
INT0引脚
6.1.1 工作方式控制寄存器TMOD TMOD(工作方式寄存器):选择定时器/计数器T0、T1的工作 模式和工作方式,字节地址为89H,不能位寻址。
8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位

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 。

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器

TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页

单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页


EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页


单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单

第六章习题参考答案

第六章习题参考答案

第六章 MCS-51的定时/计数器1. 如果采用晶振的频率为3MHz ,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少? 解答:因为机器周期)(410312126s f T OSC cy μ=⨯==, 所以定时器/计数器工作方式0下,其最大定时时间为)(768.321042261313ms T T C MAX =⨯⨯=⨯=-;同样可以求得方式1下的最大定时时间为262.144ms ;方式2下的最大定时时间为1.024ms 。

2. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。

定时时间与时钟频率和定时初值有关。

3. 定时/计数器用作定时器时,对外界计数频率有何限制?答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。

定时1ms 后,又转为计数方式,如此循环不止。

假定MCS-51单片机的晶体振荡器的频率为6MHz ,请使用方式1实现,要求编写出程序。

解:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。

除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。

编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: M OV TMOD,#06H ;定时器/计数器T0为计数方式2 MOV TL0,#156 ;计数100个脉冲的初值赋值MOV TH0,#156SETB GATE ;打开计数门SETB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA ;CPU开中断CLR F0 ;设置下一轮为定时方式的标志位W AIT: AJMP W AITIT0P: CLR EA ;关中断JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EA RETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI5. 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合? 答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。

第6章-MCS-51定时计数器

第6章-MCS-51定时计数器
TMOD用于设置其工作方式、选择定时或计数功能; TCON用于控制其启动、中断申请以及作为运行状态的 标志等。
1.定时/计数器工作方式寄存器TMOD TMOD为T0、T1的工作方式寄存器,主要用于控制定
时/计数器T0和T1的工作模式和4种工作方式。低4位用于 控制T0,高4位用于控制T1。
门控 位
在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为
定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
Hale Waihona Puke ⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
⑷ 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计
定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数
6.1.2 定时/计数器的工作原理
单片机内部有两个定时/计数器T0和T1,其核心是计数器, 基本功能是加1。
对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。
计数器由二个8位计数器组成。

第六章定时器及应用

第六章定时器及应用
计100个机器周期数所需的时间为多少?(所接晶振为12MHz) 最大可计数多少个机器周期? 如何实现定时? 如何得到所需的定时时间? 利用溢出中断,并给出相应的计数初值
定时时间为: t=计数值×机器周期 =(216-T0初值)×振荡周期×12
(二)模式 1 工作特点
当C/ T =1时,T0对外部输入计数。计数长度为: L=(216-T0初值)(个外部脉冲)
T 1初 值 2 16
T 1初 值 2
16
20ms
t
振 荡 周 期 12
10m s 1 12 6 6 10
T 1初值 60536 EC78H
∴(TH1)=ECH,(TL1)=78H
解:2)确定工作模式寄存器TMOD的值 ∵ 定时器T1工作于模式1的定时器工作方式, ∴ 高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取0。 ∴ (TMOD)=0001 0000 B = 10H
因此:(TL0)=0B0H
(TH0)=3CH
源程序清单(使发光二极管闪烁,每1S闪烁1次) #include<at89x51.h> unsigned char temp=5; main() void timer_0( )interrupt 1 { { TMOD=0x01; TH0=0X3C; TL0=0XB0; TH0=0X3C; temp--; TL0=0XB0; if(temp==0) ET0=1; { EA=1; temp=5; TR0=1; P1_0=~P1_0; P1_0=1; } while(1); } }
3)编程(定时器溢出中断方式) #include <at89x51.h> 思考:设定时器T0用于定 void main() { 时10ms,晶振为6MHz。 TMOD=0x10; 编程实现:P1.0输出周期 TH1=0xec; TL1=0x78; 为40ms,高电平宽为10ms, ET1=1; EA=1; TR1=1; 低电平宽为30ms的矩形波。 P1_1=1; 如何编程? while(1); } void timer_1() interrupt 3 { TH1=0xec; TL1=0x78; P1_1=~P1_1; }

第6章 定时器计数器

第6章 定时器计数器
28
期间,计数器加1。由于确认一次负跳变要花 个机器周期, 确认一次负跳变要花2个机器周期 确认一次负跳变要花 因此外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率 1/24。 例如,选用6MHz频率的晶体,允许输入的脉冲频率最高为 250kHz。如果选用12MHz频率的晶体,则可输入最高频 率为500kHz的外部脉冲。 对于外部输入信号的占空比并没有什么限制,但为了确保某 占空比并没有什么限制 占空比并没有什么限制 一给定电平在变化之前能被采样一次,则这一电平至少要 至少要 保持一个机器周期。 保持一个机器周期
T 、GATE、TR0、
22
TF0 ,而TH0被固定为一个 位定时器 固定为一个8位定时器 固定为一个 位定时器(不能作为外部计数 模式),并使用定时器T1的状态控制位TR1和TF1,同时 占用定时器T1的中断请求源TF1。 2.T0工作在方式 时T1的各种工作方式 . 工作在方式 工作在方式3时 的各种工作方式 一般情况下,当T1用作串行口的波特率发生器时,T0才工 当 用作串行口的波特率发生器时 用作串行口的波特率发生器时, 才工 作在方式3。 作在方式 。T0处于工作方式3时,T1可定为方式0、方式 1和方式2,用来作为串行口的波特率发生器,或不需要中 断的场合。
18
定时器/计数器的方式 为自动恢复初值 方式2为自动恢复初值 方式 为自动恢复初值(初值自动装入)的 8位定时器/计数器 位定时器 计数器 计数器。 TLx(x = 0,1)作为常数缓冲器,当TLx计数溢出时,在溢出 自动将THx中的初值送至 中的初值送至TLx, 标志TFx置“1”的同时,还自动将 自动将 中的初值送至 使TLx从初值开始重新计数。定时器/计数器的方式2工作 过程如图6-7所示。

第6章 定时器计数器习题

第6章 定时器计数器习题

20
IT0P:
CLR
TR0
;T0中断服务程序,停止T0计数
;把T0引脚接收过负脉冲标志F0置1, ;即接收过负跳变
SETB F0
RETI IT1P: CPL RETI P1.0 ;T1中断服务程序,P1.0位取反
程序说明:当单片机复位时,从0000H跳向主程序 MAIN处执行程序。其中调用了对T0,T1初始化子程序 PT0M2。子程序返回后执行标号LOOP处指令,循环等待 T0引脚上负脉冲的到来。由于负脉冲到来的标志位F0的
;装初值的高8位
;允许T0中断 ;总中断允许 ;启动T0 ;中断子程序,T0重装初值 ;P1.0的状态取反
程序说明:当单片机复位时,从程序入口0000H跳向主 程序MAIN处执行。其中调用了T0初始化子程序PT0M0。
6
子程序返回后,程序执行“AJMP HERE”指令,则
循环等待。 当响应T0定时中断时,则跳向T0中断入口,再从T0中 断入口跳向IT0P标号处执行T0中断服务子程序。 当执行完中断返回的指令“RETI”后,又返回断点处 继续执行循环指令“AJMP HERE”。在实际的程序中, “AJMP HERE” 实际上是一段主程序。当下一次定时 器T0的1ms定时中断发生时,再跳向T0中断入口,从而重
基本思想:设为方式2(自动装入常数方式)计数模式,
TH0、TL0初值均为0FFH。当T0脚发生负跳变时,T0计 数溢出,TF0置“1”,单片机发出中断请求。
13
初始化程序:
ORG 0000H ;跳到初始化程序 ;跳到外中断处理程序 AJMP IINI
ORG
IINI: MOV
000BH
TMOD,#06H ;设置T0为方式2
复执行上述过程。

单片机定时器,计数器

单片机定时器,计数器

第六章定时器/计数器第一节概述8051内部提供两个十六位的定时器/计数器T0和T1,它们既可以用作硬件定时,也可以对外部脉冲计数。

1.计数功能:所谓计数功能是指对外部脉冲进行计数。

外部事件的发生以输入脉冲下降沿有效,从单片机芯片T0(P3.4)和T1(P3.5)两个引脚输入,最高计数脉冲频率为晶振频率的1/24。

2.定时功能:以定时方式工作时,每个机器周期使计数器加1,由于一个机器周期等于12个振荡脉冲周期,因此如单片机采用12MHz晶振,则计数频率为12MHz/12=1MHz。

即每微秒计数器加1。

这样就可以根据计数器中设置的初值计算出定时时间。

第二节定时器/计数器的基本结构、工作方式及应用一、定时器/计数器基本结构定时器/计数器的基本结构如图6-1。

T0由TH0和TL0两个八位二进制加法计数器组成十六位二进制加法计数器;T1由TH1和TL1两个八位二进制加法计数器组成十六位二进制加法计数器。

图6-1 定时器/计数器基本组成110二、定时器/计数器控制寄存器1.定时器方式控制寄存器TMOD定时器方式控制寄存器地址89H,不可位寻址。

TMOD寄存器中高4位定义T1,低4位定义T0。

其中M1,M0用来确定所选工作方式如表6—1:定时/计数器T1 定时/计数器T0111定时器控制寄存器TCON地址88H,可以位寻址,TCON主要用于控制定时器的操作及中断控制。

有关中断内容在第四章已说明。

此处只对定时控制功能加以介绍。

表6—2给出了TCON有关控制位功能:系统复位时,TMOD和TCON寄存器的每一位都清零。

112113三、工作方式及应用用户可通过编程对专用寄存器TMOD 中的M1,M0位的设置,选择四种操作方式。

(一)方式0(以T0为例)在此方式中,定时寄存器由TH0的8位和TL0的5位(其余位不用)组成一个13位计数器。

当GATE=0时,只要TCON 中的TR0为1,13位计数器就开始计;当GATE=1以及TR0=1时,13位计数器是否计数取决于INT0引脚信号,当INT0由0变1时开始计数,当INT0由1变为0时停止计数。

第6章 单片机的定时器计数器题解

第6章 单片机的定时器计数器题解

第6章单片机的定时器/计数器习题1.MCS-51系列的8051单片机内有几个定时/计数器?每个定时/计数器有几种工作方式?如何选择?答:MCS-51系列的8051单片机内有2个定时/计数器,即T0和T1,每个都可以编程为定时器或计数器,T0有四种工作方式(方式0—13位、方式1—16位、方式2-可自动装入初值的8位、方式3-两个8位),T1有三种工作方式(与T0相同的前三种),通过对TMOD的设置选择,其高四位选择T1,低四位选择T0。

2.如果采用的晶振频率为3MHz,定时/计数器TO分别工作在方式0、1和2下,其最大的定时时间各为多少?答:如果采用的晶振频率为3MHz,机器周期为12×1/(3*106)=4us,由于定时/计数器TO工作在方式0、1和2时,其最大的计数次数为8192、65536和256所以,其最大定时时间分别是:方式0为8192×4us=32.768ms、方式1为65536×4us=262.144ms、方式2为256×4us=1024us。

3.定时/计数器TO作为计数器使用时,其计数频率不能超过晶振频率的多少?答:由于定时/计数器TO作为计数器使用时,是对外部引脚输入的脉冲进行计数,CPU在每个机器周期采样一次引脚,当前一次采样为高电平,后一次采样为低电平,则为一次有效计数脉冲,所以如果晶振频率为fosc,则其采样频率fosc/12,两次采样才能决定一次计数有效,所以计数频率不能超过fosc/24。

4.简单说明定时/计数器在不同工作模式下的特点。

答:方式0为13位的定时/计数器,由THx的8位和TLx的低5位构成、方式1为16位的定时/计数器,由THx的8位和TLx的8位构成,方式2为8位的定时/计数器,TLx为加1计数器,THx为计数初值寄存器。

方式3只能用于T0,是将T0的低8位用作一个独立的定时/计数器,而高8位的TH0用作一个独立的定时器,并借用T1的TR1和TF1作为高8位定时器的启停控制位和溢出标志位。

定时与应用

定时与应用

第六章 单片机的定时/计数器
例2:编写一段具有两级循环的延时程序程序。
50ms延时,设晶振频率为12MHz,则机器周期为1us。
DEL: DEL1: MOV R7,#200 MOV R6,#123 NOP DJNZ R6,$ ;1us ;1us ;1us ;2us
DJNZ R7,DEL1
RET
;2us
第六章 单片机的定时/计数器
第6章 定时器/计数器及应用
89C51系列单片机内有两个可编程的定时器/计数器T0和T1;
89C51系列中除这两个定时器外,还有一个定时器/计数器T2 一、 计算机定时方法概述 1) 软件定时
原理:软件定时靠执行一个循环程序进行时间延迟。
特点:时间精确,且不需要外加硬件电路。但要占用CPU, 增加CPU开销,
• 方式开关向上拨,输入脉冲信号是对时钟振荡周期再做12分频;
第六章 单片机的定时/计数器
说明:当设置为计数工作方式时 CPU在每个机器周期的S5P2期间采样T0和T1引脚的
输入电平,若前一个机器周期采样值为1,后一个机器周期
采样值为0,计数器的计数值加1。因此,检测一个从1到0的 负跳变需要2个机器周期,即24个振荡周期,故最高计数频 率为晶振频率fOSC的24分频。 为了确保某个给定电平在变化前至少被采样一次,要 求高电平(或低电平)保持时间至少为1个完整的机器周期。
定时器/计数器T0工作方式2的结构图
第六章 单片机的定时/计数器
注:当计数溢出后,不是像前两种工作方式那样通过软件方法,而是 由预置寄存器TH以硬件方法自动给计数器TL重新加载。变软件加载为 硬件加载。
第六章 单片机的定时/计数器
例3: 使用定时器0以工作方式2产生100 s定时,在

单片机定时计数器PPT课件

单片机定时计数器PPT课件
需要注意:每个机器周期的S5P2期间,对外部输入进行采 样。如在第一个周期中采得的值为1,而在下一个周期 中采得的值为0,则计数器加1。由于确认一次下跳变至 少要用两个机器周期,即24个振荡周期,因此外部输入 的计数脉冲的最高频率为振荡器频率的1/24,同时输入 信号的高、低电平保持一个机器周期以上。 例如:选用6MHz频率的晶体,允许输入的脉冲频率为
此时,定时/计数器T1可为方式0、方式1 和方式2,作为串行口的波特率发生器。
14
工作于方式3的T0
15
T0工作于方式3时的T1
16
定时器的工作方式(总结)
方式0:13位定时计数器
• 注意:TLx的低5位和THx共同组成
方式1: 16位定时计数器 方式2: 自动重装入的8位定时计数器
• 溢出后TFx=1,同时由THx→TLx
5
6.2.1 TMOD:工作方式控制寄存器
GATE:门控位 GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0
引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或 INT1引脚出现的正脉冲的宽度。
GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。 C/T位:计数器模式和定时器模式的选择位 C/T=0,为定时器模式。内部计数器对晶振频率12分频后的脉冲
6
工作方式控制寄存器TMOD
M1、M0工作方式选择位
7
6.2.2 定时/计数器控制寄存器TCON
TF1位:T1计数溢出标志位。当T1计数溢出时,由硬件置 1,申请中断。进入中断服务程序后被硬件自动清0。 TR1位:T1计数运行控制位。由软件置1或清0。当GATE 位(TMOD.7)=0时,若TR1=1,允许T1计数;TR1=0时, 禁止T1计数。当GATE位=1时,TR1=1且INT1=1时, 允许T1计数。 TF0位:T0计数溢出标志位,功能同TF1。 TR0位:T0计数运行控制位,由软件置1或清0。当GATE 位(TMOD.3)=0时,若TR0=1,允许T0计数;TR0=0时, 禁止T0计数。当GATE位=1时,TR0=1且INT0=1时,允许 T重装入)

第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)。

申请 中断
申请 中断
TCON
TF1 TR1 TF0 TR0
溢出 TH0 8位
溢出 TL0 8位
D0
1 0 &
≥1
机器周期 T0引脚
机器周期 1
INT0引脚
TMOD
1 M0 D0 1 M1
C/T GATE
M0 M1 C/T GATE D7
四、定时器/计数器的编程应用举例
一、 定时器/计数器的初始化
1.初始化的步骤
(1) 确定工作方式、操作模式、启动控制方式——写入TMOD 寄存器。
(2) 设置定时器或计数器的初值——可直接将初值送入TH0、 TL0或TH1、TL1中,16位计数初值必须分两次写入对应的 计数器。
(3) 根据要求是否采用中断方式——直接对IE寄存器赋值。开 放中断时,将对应的中断允许位置1,采用程序查询方式IE 应将对应的中断允许位清0,进行中断屏蔽。
计数值由式 N=8192-x 计算 (x为初值)
对内部机器周期计数即为定时,定时时间由式
T=(8192-x)Tcy 计算
2.方式1
16位定时/计数器。 THx8位和TLx8位组成16位加1计数器
最大计数脉冲个数:1~65536(216),最长定时时间(晶振
12MHz T=1s):1s ~ 65536×T= 65.54ms
TCON
TF1 D7
申请 中断
TR1
溢出
TF0
TH0 TL0
TR0
8位 5位
D0
1 1
0 &
≥1
T0引脚
机器周期 1
INT0引脚
TMOD
0 M0 D0 0 M1
C/T GATE
M0 M1 C/T GATE D7
可用程序将0-8191(213-1)的某一数送入TH0、TL0 作为初值。TH0、TL0从初值开始加法计数,直至溢出, 所以设置的初值不同,定时时间或计数值也不同。
INTx=1 计数开始
INTx =0 计数停止
3.方式2
用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s
自动恢复初值8位定时/计数器。TLx为8位加1计数器,
THx为8位初值暂存器。
TCON
TF1 D7
申请 中断
TR1
TF0
溢出 TL0
T=(65536-x)Tcy=(65536-x)×1μs=10ms 得 x=55536=D8F0 即 TH0=D8H,TL0=F0H (2)方式寄存器TMOD的编程
(3)初始化程序 START:MOV TL0,#0F0H MOV TH0,#0D8H MOV TMOD,#01H SETB TR0
=1,计数功能,计数引脚T0(T1)输入的负脉冲。
2)方式选择位M1、M0:
3)门控方式选择位GATE
计数器启动方式的选择
确定定时器工作方式指令:
MOV TMOD,#方式字
例:设T0用方式2非门控定时,T1用方式1门控计数。
MOV TMOD,#0D2H ; 1101 0010 B
二、定时器/计数器控制寄存器TCON
TL1
T0引脚
机器周 期脉冲
TH0
TL0
TCON
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
外部中断相关位
T1方式
图6-1
内部总线 TMOD T0方式
一、 定时器方式控制寄存器TMOD
T1
T0
1)功能选择位C/T:
=0,定时功能,计数内部机器周期脉冲;
在定时器/计数器1工作时,CPU可以随时查询TF1的状态。 (3)定时器/计数器0运行控制位TR0(TCON.4) (4)定时器/计数器0溢出中断标志TF0(TCON.5)
三、工作方式
1.方式0
13位定时/计数器。 THx 8位和TLx低5 位组成13位加1计数器,此种方式与MCS -48系列兼容,如果不是为了兼容的目 的,一般不用方式0.方式0的全部功能, 方式1都可以代替。
第六章 AT89S51单片机定时/计数器
实质是计数器,脉冲每一次下降沿,计数寄存器数值将 加1。 计数的脉冲如果来源于单片机内部的晶振,由于其周期 极为准确,这时称为定时器。计数的脉冲如果来源于单片机 外部的引脚,由于其周期一般不准确,数器 溢出 中断
T1引脚
TH1
TR0
TH0 8位
1 0 &
≥1
T0引脚
机器周期 1
TMOD
0 M0 D0 1 M1
C/T GATE M0 M1 C/T
D0
INT0引脚
GATE D7
4.方式3
T0分成2个8位定时器:TL0定时/计数器和TH0定时器
TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制
位:TR1。T1不能使用方式3工作。
(4)启动定时器工作——可使用SETB TR0、SETB TR1和 SETB TR2指令启动。对于T0和T2而言,可根据GATE的
设置有两种启动。
2.计数初值的计算
当计数器使用时,初值X的计算式为: X=M-计数值
当定时器使用时,初值的计算式为:
X=M-计数值=M-T/TCY
式中:TCY --为机器周期, T --为要求定时的时间。
M 由工作方式决定 例如:AT89S51的主频为6MHz,要求产生1ms的定时,试计算计
数初值X。若设置定时器工作于操作模式1,定时1ms,则计数 初值X等于:
3. 定时器初始化举例
例610-m1s定已时知,振试编荡写器初振始荡化频程率序fos。c=12MHz,要求定时器/计数器0产生 解:由于定时时间大于8192us,应选用工作方式1。 (1)TH0、TL0初值的计算 由于Tcy=1μs,故有
(1)定时器/计数器1运行控制位TR1(TCON.6) (2)定时器/计数器溢出中断标志TF1(TCON.7),当定时 器/计数器1溢出时由硬件自动置TF1=1,在中断允许的条件下, 便 向 CPU 发 出 定 时 器 / 计 数 器 1 的 中 断 请 求 信 号 , CPU 响 应 后 TF1由硬件自动清零。在中断屏蔽条件下,TF1可作查询测试用。
TCON
TMOD
申请 中断
TF1 D7
TR1
溢出
TF0
TH0 TL0
TR0
8位 8位
T0引脚 1 M0 D0
1
0 M1
0
&
机器周期
C/T GATE
M0
≥1
1
M1
C/T
D0
INT0引脚
GATE D7
非门控方式:当GATE=0,
控制权由 TRx 决定 TRx=1 计数开始 TRx =0 计数停止
7
门控方式:当GATE=1、TRx=1 控制权由 INTx 决定
相关文档
最新文档