28
第第第第 第第第第 第第第第 第第 第8第 第第第第 第第 / 第第第

第 8 章 单片机的 定时 / 计数器

  • Upload
    baylee

  • View
    137

  • Download
    0

Embed Size (px)

DESCRIPTION

第 8 章 单片机的 定时 / 计数器. 第二部分 微机原理. 主讲教师:喻红. 主要内容. 概述 8.1 定时 / 计数器的结构和工作原理 8.2 定时 / 计数器的寄存器 8.3 定时 / 计数器的工作方式 8.4 定时 / 计数器的应用程序设计. 计数器. 输入脉冲. 预置数. 概述. 实现定时一般有三种方法: 利用软件实现(延时程序) ; 优点: 简单,控制方便; 缺点: CPU 效率低。 硬件实现,专门设计一个单稳态定时器 优点: CPU 效率高; 缺点: 修改参数麻烦。 利用计数器实现. 1us. 8 位. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 8 章 单片机的 定时 / 计数器

第二部分 微机原理

主讲教师:喻红

第 8 章 单片机的定时 / 计数器

Page 2: 第 8 章 单片机的 定时 / 计数器

2华中科技大学远程与继续教育学院

概述

8.1 定时/计数器的结构和工作原理

8.2 定时/计数器的寄存器

8.3 定时/计数器的工作方式

8.4 定时/计数器的应用程序设计

主要内容

Page 3: 第 8 章 单片机的 定时 / 计数器

3华中科技大学远程与继续教育学院

实现定时一般有三种方法:

利用软件实现(延时程序) ; 优点:简单,控制方便;缺点: CPU 效率低。 硬件实现,专门设计一个单稳态定时器 优点: CPU 效率高;缺点:修改参数麻烦。 利用计数器实现

计数器计数器 溢出溢出

预置数预置数

输入脉冲输入脉冲

1us1us 88 位位 256us256us

计算机一般利用第三种方法实现

概述

Page 4: 第 8 章 单片机的 定时 / 计数器

4华中科技大学远程与继续教育学院

8051 内部设有两个 16 位的定时器 / 计数器,可用软件控制。

计数器:对外来脉冲进行计数, T0 、 T1 引脚上从高电平到低电平跳变时,计数器内容加 1 。

外来脉冲T0

机器周期

片内计数器

单片机

定时器:对机器周期计数,每过一个机器周期,计数器内容加 1 ;

Page 5: 第 8 章 单片机的 定时 / 计数器

5华中科技大学远程与继续教育学院

一、定时 / 计数器的结构

CPU

TCON (88H)

TH1 TL1 TH0 TL0

INT1(P3.3)

INT0(P3.2)

中断

T1 (P3.5)

定时器1 定时器0

溢出

启动

(8DH) (8BH) (8CH) (8AH)

启动 内部总线

溢出 工作方式

工作方式

T0 (P3.4)

TMOD (89H)

8.1  定时 / 计数器的结构和工作原理

Page 6: 第 8 章 单片机的 定时 / 计数器

6华中科技大学远程与继续教育学院

振荡器 ÷12

控制T0

TR0GATE

&

≥11

INT0

中断TF0TL0TH0C/T=0

C/T=1

二、定时 / 计数器工作原理1 .定时方式

C/T=0

最短的定时周期 =12/fosc

Page 7: 第 8 章 单片机的 定时 / 计数器

7华中科技大学远程与继续教育学院

振荡器 ÷12

控制T0

TR0GATE

&

≥11

INT0

中断TF0TL0TH0C/T=0

C/T=1

2 .计数方式

C/T=1

要求:计数频率≤ fosc/24 ,输入脉冲的高电平与低电平的持续时间在一个机器周期以上。

Page 8: 第 8 章 单片机的 定时 / 计数器

8华中科技大学远程与继续教育学院

1 .定时 / 计数器方式寄存器 TMOD

TMOD

89H

GATE C/T* M1 M0 GATE C/T* M1 M2

7 6 5 4 3 2 1 0

T1 控制 T0 控制GATE :门控信号。 GATE=0 , TR0=1 时刻启动定时 / 计数器工作,是自启动方式; GATE=1 , TR0=1 ,/INTO=1 时才可启动定时 / 计数器工作,使外启动方式。C/T* :定时、计数选择位。 C/T*=1 ,计数工作方式; C/T*=0 ,定时工作方式。

8.2 定时 / 计数器的寄存器

Page 9: 第 8 章 单片机的 定时 / 计数器

9华中科技大学远程与继续教育学院

TMOD

89H

GATE C/T* M1 M0 GATE C/T* M1 M2

7 6 5 4 3 2 1 0

T1 控制 T0 控制

M1M0 :工作方式选择位。定时 / 计数器的 4 种工作方式由 M1M2 设定。

M1M0=00 工作方式 0 ( 13 位方式)M1M0=01 工作方式 1 ( 16 位方式)M1M0=10 工作方式 2 ( 8 位自动装入计数初值方式)M1M0=11 工作方式 3 ( T0 为 2 个 8 位方式)

Page 10: 第 8 章 单片机的 定时 / 计数器

10华中科技大学远程与继续教育学院

2 .定时器控制寄存器 TCON

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

T1 溢出中断标志

7 6 5 4 3 2 1 0TCON

A8H

T1 起 / 停控制位

外部中断 INT1中断标志位

外部中断 INT1触发方式控制位

Page 11: 第 8 章 单片机的 定时 / 计数器

11华中科技大学远程与继续教育学院

一、工作方式 0

   T0 和 T1 工作在 13 位的定时 / 计数器方式,由 TH的高 8 位和 TL 的低 5 位组成。

8.3 定时 / 计数器的工作方式

Page 12: 第 8 章 单片机的 定时 / 计数器

12华中科技大学远程与继续教育学院

  方式 0 的计数长度: M = 213

  方式 0 的初值: 13 位二进制数(高 8 位赋值给 TH0 ,低 5 位前面补足 3 个 0 凑成 8 位赋给 TL

0 )。

  例如,如要求计数值为 1000 ,则初值为

   x = M - 1000 = 8192 - 1000

   = 1C18H = 1 1100 000 1 1000B

  则赋初值时, TH0 = 0E0H , TL0 = 18H 。

Page 13: 第 8 章 单片机的 定时 / 计数器

13华中科技大学远程与继续教育学院

二、工作方式 1

  方式 1 和方式 0 的工作原理基本相同,唯一不同是 T0和 T1 工作在方式 1 时是 16 位的计数 / 定时器。  方式 1 时的计数长度 M 是 2 的 16 次方。 16 位的初值直接拆成高低字节,分别送入 TH 和 TL 即可。

Page 14: 第 8 章 单片机的 定时 / 计数器

14华中科技大学远程与继续教育学院

三、工作方式 2

工作方式 2 具有自动重装载功能,它将 16 位计数器分为两部分,即以 TL0 为计数器,以 TH0 作为预置寄存器。初始化时把计数初值分别加载至 TL0 和 TH0 中,当计数溢出时,由预置寄存器 TH0 以硬件方法自动给计数器 TL0 重新加载。

Page 15: 第 8 章 单片机的 定时 / 计数器

15华中科技大学远程与继续教育学院

四、工作方式 3

  在工作方式 3 模式下,定时 / 计数器 0 被拆成两个独立的 8 位计数器 TL0 和 TH0 。

Page 16: 第 8 章 单片机的 定时 / 计数器

16华中科技大学远程与继续教育学院

  TL0 既可以作计数器使用,也可以作为定时器使用,定时 / 计数器 0 的各控制位和引脚信号全归它使用。其功能和操作与方式 0 或方式 1 完全相同。

  TH0 只能作为简单的定时器使用,借用定时 / 计数器1 的控制位 TR1 和 TF1 。

 定时 / 计数器 1 只能工作在方式 0 、方式 1 或方式 2下,如果设置 T1 工作在方式 3 ,则 T1 停止工作,相当于其他方式时令 TR1 = 0 。

  T0 处于方式 3 时, T1 可定为方式 0 、方式 1 和方式2 ,用来作为串行口的波特率发生器,或不需要中断的场合。

Page 17: 第 8 章 单片机的 定时 / 计数器

17华中科技大学远程与继续教育学院

( 1 ) T1 工作在方式 0

( 2 ) T1 工作在方式 1

Page 18: 第 8 章 单片机的 定时 / 计数器

18华中科技大学远程与继续教育学院

( 3 ) T1 工作在方式 2

Page 19: 第 8 章 单片机的 定时 / 计数器

19华中科技大学远程与继续教育学院

一、计算定时 / 计数初值

机器周期定时时间

-=计数初值 N2C

X-=计数初值 N2C计数方式 :

定时方式 :

其中 : N 与工作方式有关 : 方式 0 时, N=13 ; 方式 1 时 ,N=16 ; 方式 2 、 3 时 ,N=8 。

机器周期与主振频率有关 : 机周时间 =12/fosc fosc=12MHZ 时, 1 机周 =1S ; fosc=6MHZ 时, 1 机周 =2S 。

8.4 定时 / 计数器的应用程序设计

Page 20: 第 8 章 单片机的 定时 / 计数器

20华中科技大学远程与继续教育学院

解:( 1 )工作方式 0 : 213–500S/2S=8192-250=7942=1F06H

1F06H 化成二进制: 1F06H=0001 1111 0000 0110B

=000 11111000 00110 B其中:低 5 位 00110 前添加 3 位 000 送入 TL0

TL0=000 00110B=06H ; 高 8 位 11111000B 送入 TH0

TH0=11111000B=F8H 。

【例】 已知晶振 6MHz ,要求定时 0.5ms ,试分别求出 T0工作于方式 0 、方式 1 、方式 2 、方式 3 时的定时初值。

Page 21: 第 8 章 单片机的 定时 / 计数器

21华中科技大学远程与继续教育学院

( 2 )工作方式 1 : T0 初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH ; TL0=06H 。( 3 )工作方式 2 : T0 初值 =28-500s/2s=256-250=6 TH0=06H ; TL0=06H 。( 4 )工作方式 3 :   T0 方式 3 时,被拆成两个 8 位定时器,定时初值可分别计算,计算方法同方式 2 。两个定时初值一个装入 TL0 ,另一个装入 TH0 。因此: TH0=06H ; TL0=06H 。

  从上例中看到,方式 0 时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式 1 ,且方式 0 计数范围比方式 1小,方式 0 完全可以用方式 1代替,方式 0 与方式 1 相比,无任何优点。

Page 22: 第 8 章 单片机的 定时 / 计数器

22华中科技大学远程与继续教育学院

二、定时 / 计数器应用步骤

( 1 )合理选择定时 / 计数器工作方式( 2 )计算定时 / 计数器定时初值 (按上述公式计算 )( 3 )编制应用程序 ①定时 / 计数器的初始化  包括定义 TMOD 、写入定时初值、设置中断系统、启动定时 / 计数器运行等。 ②正确编制定时 / 计数器中断服务程序  注意是否需要重装定时初值,若需要连续反复使用原定时时间,且未工作在方式 2 ,则应在中断服务程序中重装定时初值。

Page 23: 第 8 章 单片机的 定时 / 计数器

23华中科技大学远程与继续教育学院

  如图所示, P1 中接有八个发光二极管,编程使八个管轮流点亮,每个管亮 100ms ,设晶振为 6MHz 。

Page 24: 第 8 章 单片机的 定时 / 计数器

24华中科技大学远程与继续教育学院

分析 利用 T1完成 100ms的定时,当 P1口线输出“1”

时,发光二极管亮,每隔100ms”1”左移一次,采用定时方式 1,先计算计数初值: MC=2μs 100ms/2μs =50000=C350H ( C350H)补 =10000H-C350H=3CB0H

Page 25: 第 8 章 单片机的 定时 / 计数器

25华中科技大学远程与继续教育学院

①查询方式如下: ORG 0030H MOV A, #01H:置第一个 LED亮NEXT:MOV P1, A MOV TMOD, #10H ; T1工作于定时方式 1 MOV TH1, #3CH MOV TL1, #0B0H; 定时 100ms SETB TR1 AGAI:JBC TF1,SHI; 100ms到转SHI, 并清 TF1 SJMP AGAISHI: RL A SJMP NEXT

Page 26: 第 8 章 单片机的 定时 / 计数器

26华中科技大学远程与继续教育学院

②中断方式 ORG 0000H

AJMP MAIN ;单片机复位后从 0000H开始执行 ORG 001BH

AJMP IV1 ;转移到 IV1

ORG 0030H ;主程序MAIN : MOV A , #01H

MOV P1 , A ;置第一个 LED亮 MOV TMOD , #10H ; T1 工作于定时方式 1

MOV TH1 , #3CH

MOV TL1 , #0B0H ;定时 100ms SETB TR1 ;启动 T1 工作 SETB ET1 ;允许 T1 中断WAIT : SJMP WAIT ;等待中断

Page 27: 第 8 章 单片机的 定时 / 计数器

27华中科技大学远程与继续教育学院

IV1 : RL A ;中断服务程序,左移一位 MOV P1 , A ;下一个发光二极管亮 MOV TH1 , #3CH MOV TL1 , #0B0H ;重装计数初值 RETI ;中断返回以上程序进入循环执行 ,八个 LED 一直循环轮流点亮。

Page 28: 第 8 章 单片机的 定时 / 计数器

28华中科技大学远程与继续教育学院

本章结束