单片机 第5章 定时器计数器讲解

上传人:我** 文档编号:117879148 上传时间:2019-12-11 格式:PPT 页数:37 大小:615KB
返回 下载 相关 举报
单片机 第5章 定时器计数器讲解_第1页
第1页 / 共37页
单片机 第5章 定时器计数器讲解_第2页
第2页 / 共37页
单片机 第5章 定时器计数器讲解_第3页
第3页 / 共37页
单片机 第5章 定时器计数器讲解_第4页
第4页 / 共37页
单片机 第5章 定时器计数器讲解_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《单片机 第5章 定时器计数器讲解》由会员分享,可在线阅读,更多相关《单片机 第5章 定时器计数器讲解(37页珍藏版)》请在金锄头文库上搜索。

1、北京交通大学 1 第第5 5章章 定时器定时器/ /计数器计数器 本章主要内容 定时/计数器的功能 与定时/计数器有关的寄存器 定时/计数器四种工作方式 定时器的应用 北京交通大学 2 本章要求:熟练掌握计数/定时编程方法 定时方法定时方法 软件定时 硬件定时 可编程定时器定时 北京交通大学 3 TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0 TCONTMOD TH1 TL1 TH0 TL0 CPU 一、一、定时定时/ /计数器的功能计数器的功能 图1定时/计数器与TMOD、TCON的结构框图 共有两个可编程的定时/计数器T0和T1 都是十六位加法计

2、数器结构,分别由TH0、TL0 和TH1、TL1四个8位计数器组成 每个定时计数器都具有定时和计数两种功能 北京交通大学 4 图 2 定时/计数器的结构框 北京交通大学 5 功能:对外来脉冲进行计数 外来计数脉冲加在单片机的两个信号引脚T0(P3.4 )T1(P3.5) 外部输入的脉冲在负跳变时触发计数 计数器在每个机器周期的S5P2期间采样外部输入信号。 若一个周期采样值为1,下一个周期采样值为0,则计数 器加1。 脉冲的频率最高为振荡频率的1/24 外部输入信号的高电平和低电平保持时间大于一个 机器周期 计数器计满回零,发中断申请 1.计数功能 北京交通大学 6 2.定时功能 计数器的计数

3、来实现 计数脉冲:每个机器周期产生一个计数 脉冲。即计数频率为振荡频率的1/12。 根据计数器的预置值计算出定时时间。 按定时时间的要求,计算出计数器的预置 值。 北京交通大学 7 二、定时/计数器的方式和控制寄存器 1.定时器控制寄存器(TCON) 控制方式:外部中断控制与定时控制。 定时控制功能: 定时器在溢出时,设定标志位(TFx) 控制定时器的运行或停止等(TRx) 北京交通大学 8 定时控制寄存器(定时控制寄存器(TCONTCON) (88H) TF1 TR1TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88 INT0触发方式 0:电平触发

4、(低) 1:边沿触发(下跳沿) INT0请求标志 0:无请求(硬件置位或清除) 1:有请求 INT1触发 请求标志 用于定时/计数器 位地址 外部中断 北京交通大学 9 TF0(TF1):为T0(T1)定时器溢出中断标志位 当T0(T1)计数溢出时,由硬件置位,并在允许中断的情 况下,发出中断请求信号。 当CPU响应中断转向中断服务程序(000BH,001BH) 时,由硬件自动将该位清0。 TR0(TR1):为T0(T1)运行控制位 当TR0(TR1)=1时启动T0(T1); TR0(TR1)=0时关闭T0(T1) 该位由软件进行设置。 复位时TCON清零 北京交通大学 10 2.2.定时器方

5、式寄存器定时器方式寄存器(TMOD)(TMOD) 用于控制两个定时/计数器的工作方式 高4位定义T1,低4位定义T0 格式: GATE C/T M1 M0 GATE C/T M1 M0 T0T1 GATE:门控位 GATE0,以运行控制位TRx启动定时器 GATE1,启动信号=TRxINTx 在没有外中断请求信号(INTx=1)才允许定时器启动 北京交通大学 11 C/T:定时或计数方式选择位: C/T0,定时工作方式; C/T1,计数工作方式。 M1M0:工作方式选择位: M1M000 方式0:13位计数(TL0-4、TH0-7) M1M001方式1:16位计数 M1M010方式2:8位计数

6、 自动装入计数器初值功能 M1M011方式3:T0分为两个8位计数器 TL0允许作为定时或计数方式 TH0只能作为定时方式 北京交通大学 12 三、定时/计数器工作方式 1.方式0 方式0工作逻辑结构图。 12 分频 fosc C/T=0 C/T=1 TL1 TH1 (5位)(8位) TF1 中 断 T1控 制 GATE INT1 + TR1 1 软件启动方式 1/24fosc 1/12fosc 计数输入 中断 TF1 ET1 EA 北京交通大学 13 方式0是13位结构的工作方式,其计数器由 TH1的全8位和TL1的低5位构成。TL1的高3位弃之 不用。 计数方式:计数值的范围为:1-819

7、2(213) 定时方式:定时时间T的计算公式为: 启动的条件是: (TRx=1)AND(GATE=1 OR INTx=1) T(213计数初值x)晶振周期12 或 T(213计数初值x)机器周期 北京交通大学 14 方式0应用举例 设单片机晶振频率fosc=6MHz,使用定时器1以方式0产 生周期为500us的方波,并由P1.0输出。以查询或中断 方式完成。 解:计算定时初值x 欲产生500us的方波,在P1.0端以250us为周期交替输 出高低电平即可实现。为此,定时时间应为250us。晶 振为6MHz,则1个机器周期为(12/6)2us。 则: (213x)*2uS250uS x80671

8、111110000011B(2000H-7DH) 即: TH10FCH,TL103H。 北京交通大学 15 步骤: 1. TMOD初始化,工作方式选择 2. 计数器初值计算 3. (置位EA使CPU开中断) 4. (置位ETx允许定时/计数器中断) 5. 置位TRx启动计数 北京交通大学 16 TMOD初始化 定时器1,M1M0=00H(方式0) C/T=0(定时) GATE0(以软件启动定时器) 不用的位设定为0 TMOD为初始化00H。 TCON寄存器的TR1位来启动(1) 或停止(0)定时器 北京交通大学 17 查询方式: MOV TMOD,#00H ;T1工作在方式0 SETB TR1

9、 ;启动T1工作 LOOP: MOV TL1,#03H MOV TH1,#0FCH ;置定时初值 WAIT: JNB TF1,WAIT ;定时未到,循环等待 CLR TF1 ;定时到,清TF1 CPL P1.0 ;由P1.0输出,信号取反 SJMP LOOP ;循环输出方波 北京交通大学 18 中断方式: ORG 8000H MOV TMOD,#00H ;T1工作在方式0 MOV TL1,#03H MOV TH1,#0FCH ;置定时初值 SETB EA ;开中断 SETB ET1 ;允许T1中断 LOOP: SETB TR1 ;启动T1工作 WAIT: SJMP WAIT ;等待中断 AJM

10、P LOOP ORG 001BH ;T1中断入口 LJMP SUB1 ;跳至中断服务程序SUB1 ORG 8100H ;中断服务程序 SUB1: CPL P1.0 ;输出信号取反 MOV TL1,#03H MOV TH1,#0FCH ;重置定时初值 RETI ;中断返回 北京交通大学 19 2.方式1 其逻辑电路和工作情况与方式完全相同。所 不同的只是组成计数器的位数为16位。 计数值的范围为: 1-65536(216) 定时时间的计算公式与方式0类似。即: TL1TH1 TF1 计数输入 7 0 7 0 T(216计数初值x)晶振周期12 或 T(216计数初值x)机器周期 北京交通大学 2

11、0 12 分频 fosc C/T=0 C/T=1 TL0 (8位) TF0 TR0控 制 GATE INT0 + TR0 TH0 (8位) 重 装 入 中 断 3.方式2 工作方式2逻辑结构如图。 北京交通大学 21 该方式把16位计数器分为两部分 既以TL1作计数器 以TH1作预置计数器 初始化计数初值分别装入TL1和TH1中 当计数溢出后,由预置寄存器TH1, 以硬件方法自动给计数器TL1重新加载 最大计数值只能到256,适用于循环定时或循环计数应 用 方式2具有自动重新加载功能,即自动加载计数初值 北京交通大学 22 方式2应用举例 设单片机晶振频率fosc=6MHz,使用T0以方式2产

12、 生周期为200us的方波,并由P1.0输出。 以查询或中断方式完成 解: 计算计数初值x 晶振为6MHz,则1个机器周期为2us。则: (28x)2100,x206CEH 即 TH00CEH,TL00CEH。 TMOD寄存器初始化 定时器0 M1M0=10H(方式2) C/T=0(定时) GATE0 (以软件启动定时器) 不用的位设定为0 最后得TMOD应初始化为02H。 北京交通大学 23 北京交通大学 24 用TCON寄存器的TR0位来启动(1)或 停止(0)定时器。 程序设计(查询方式): MOV TMOD,#02H ;T0工作在方式2 MOV TL0,#0CEH MOV TH0,#0

13、CEH ;置定时初值 SETB TR0 ;启动T0工作 WAIT: JNB TF0,WAIT ;定时未到, 循环等待 CLR TF0 ;定时到,清TF0 CPL P1.0 ;由P1.0输出,信号取反 SJMP WAIT ;循环输出方波 北京交通大学 25 中断方式: MOV TMOD,#02H ;T0工作在方式2 MOV TL0,#0CEH MOV TH0,#0CEH ;置计数初值 SETB EA ; 开中断 SETB ET0 ; 允许T0中断 LOOP: SETB TR0 ;启动T0工作 WAIT: SJMP $ ;等待中断 CLR TF0 ;溢出标志位TF0清0 AJMP LOOP ORG

14、 000BH ;中断服务程序 CPL P1.0 ;由P1.0输出,信号取反 RETI ;中断返回 北京交通大学 26 TH0 (8位) TF1 T0 控制 GATE INT0 + TR0 C/T=0 C/T=1 1/12fosc 1/12fosc TR1 中 断 TL0 (8位) TF0 控制 中 断 4. 方式3 计数/定时 定时 北京交通大学 27 工作在方式3下的T0 T被拆成两个独立的8位计数器。 1.TL0既可以作计数器使用,又可以作定时 器使用,其功能和操作方式与方式或方 式1完全相同。 2.TH0只能作8位定时器使用,并占用了T 的中断资源TR1和TF1。 北京交通大学 28 工作在方式3下的T1 如果T已工作在方式3下: T1只能工作在方式02下,用于任何不需要中断控制的场 合 用作串行口的波特率发生器 通常只有当T1用作串行口的波特率发生器时 : T0才被定义为方式,以增加一个8位计数器。 T1设定工作方式2、计数器初值,T1便可自动运行。 北京交通大学 29 四、定时器的应用四、定时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号