第七章MCS-51系列单片机的定时器 计数器及其应用.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章MCS-51系列单片机的定时器/计数器及其应用

7.1 MCS-51的定时/计数器概述

8031/8051内部带有两个16位的定时/计数器

一、定时/计数器的特点:

(1)是一个二进制的加法计数器,当计数器计满回零时刻自动产生溢出中断请求; (2)既可以用作定时器,也可用作计数器

(3)有四种工作模式:模式0、模式1、模式2和模式3

(4)定时时间和计数值均可通过程序设定,最大值与工作模式和单片机的时钟频率有关 (5)它是硬件延时逻辑电路,与软件延时相比,可以提高CPU 的工作效率。

二、定时/计数器的应用

1.定时——产生一个标准的时间间隔

例如单片机使用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。

2.计数——对外部的事件(脉冲)进行统计 外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计(计数)。当达到所要求的计数值时,单片机进行相应的操作。

7.2 定时/计数器的四种工作模式

1.模式0——13位计数器模式

在某一个初值的基础上加1计数,当计数器计满为全“1”,再来一个计数脉冲时,就产生一个“溢出中断信号”TF1=1。

(1)C/T : 计数器输入脉冲选择开关

(2)寄存器初值:该参数决定着定时或计数的周期。 (3)TR 、GATE 、INT1控制定时/计数器的启动:

GATE=0时, TR1=1开始定时/计数; TR1=0:计数器T1停止计数; GATE=1时(门控方式), TR=1且INT1=1时,开始工作。 此种方式主要用于测量加在INT1脚上一个正脉冲的脉宽.

(4)TF=1 :定时或计数时间到,可以采用查询或中断方式处理

计数值C=213-初值

定时时间T=(213-初值) ×Tosc × 12 2.模式1——16位计数器模式(以T1为例).

定时时间=(216-初值) ×Tosc × 12 3.模式2——8位自动重装初值模式

由TL1做计数器,TH1做初值寄存器, 工作前TL1,TH1分别预置相同的初值。TL1 计数时, 当产生溢出的同时, 将TH1中的初值自动重装TL1。TL1继续计数……此模式主要用于做串行口波特率发生器。

定时时间=(28-TH1初值) ×Tosc × 12 4.模式3——组合扩展模式(仅适用于T0)

在这种模式中,单片机将T0和T1重新进行“拆分、组合”.将T0变为由TH0,TL0组成的两个独立的8位定时/计数器.

总结:

1. 定时/计数器的特点

2. 定时/计数器的四种工作模式

中断

7.3 MCS-51对定时/计数器的控制

MCS51通过两控制寄存器TMOD 和TCON 实现对T0、T1的控制 1.模式控制寄存器TMOD (SFR 的地址:89H )

GA TE 选通门: GA TE=0时,只要TR=1,计数器就开始工作; GATE=1时,只有INT=TR=“1”时,计数器工作 C/T 计数、定时方式选择位: C/T=1时,计数方式。

C/T=0时:定时方式。 M1 模式2:常用于单片机串行通讯时作“波特率”发生器。 模式3:仅T0可以工作于该模式

2.控制寄存器TCON (SFR 地址:88H)

TF0 定时器T0的溢出标志:

计数器溢出时硬件自动置位,即TF0=1。进入中断后硬件自动清除(TF0=0),若是查询方式则可由软件清除; TR0 计数器T0的控制位:

由软件设定: TR0=1计数器开始工作;TR0=0计数器停止计数。 TF1、TR1同上。

IE1,IE0 外部中断INT1,INT0的请求标志:

当单片机检测到INT 引脚上有下降沿时,IE=1申请中断.进入中断服务程序时,硬件自动清除IE 标志.

IT1,IT0 外中断触发类型控制:

IT=1时,外中断信号的下降沿触发IE 标志;

M0

M1 C/T GATE M0 M1 C/T GAT E

定时/计数器1 定时/计数器0

I T 0 I E 0 I T 1 I E 1 T R 0 T F 0 T R 1 T F 1 T0、T1的启动和溢出标志外部中断标志IE 和触发方式选择

IT=0时,外中断信号的低电平触发IE标志。

7.4 定时/计数器的初始化

一、初始化的步骤:

1.根据需要,设定工作方式(C/T位)计数或定时;

2.确定初值TC;

3.若采用中断方式,则要设置相应的中断参数、优先级别;

4.送命令字,启动计数器。

二、计数、定时初值的计算:

1.计数初值计算公式:TC=M-C

例:在模式0或模式1时,每接收100个外部事件,要求产生一个中断,确定计数初值。

(1)模式1:TC=65536-100=65436=FF9CH

(2)模式0:TC=8192-100=8092=1F9CH

2.定时器初值计算公式:TC= M – T / T计数

其中:M 计数模;

T 定时时间;

T计数系统时钟周期的12倍,即12Tosc

设系统时钟为6MHZ,则T计数=2μЅ。

例:请计算定时50ms所需要的定时初值。(设fosc=6MHz)

1.确定模式:选择模式1 ,且C/T=0(定时方式)。

2.计算定时初值:

TC= M – T / T计数

TC=65536 -50ms/2μЅ

=65536-25000

=40536

=9E58H

即THi=9EH;TLi=58H

相关文档
最新文档