MCS-51单片机的定时/计数器及应用

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

1.1 定时/计数器的特点

(1)二进制加法计数器,当计数器计满回零时刻自动产生溢出中断请求;

(2)既可以用作计数器,也可以用作定时器;

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

(4)定时时间和计数值均可通过程序设定,最大值取决于工作模式和单片机的时钟频率;

(5)硬件延时逻辑电路,与软件延时相比,可以提高CPU的工作效率。

1.2 定时/计数器的应用

(1)定时——产生一个标准的时间间隔;

(2)计数:对外部事件(脉冲)进行统计

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

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

2.1 模式0——13位定时/计数

        13位定时/计数,使用TLi的低5位和THi的8位组成13位。

        最大计数值:8192

        计数值C=8192-初值

        定时时间=(8192-初值)*Tosc*12

        当计数满中断后,定时/计数器清零,此时应在程序中设置将其改为初值,才能正常进行下一次计数/定时。

2.2 模式1——16位定时/计数

        16位定时/计数,使用TLi的8位和THi的8位组成16位。

        最大计数值:65536

        计数值C=65536-初值

        定时时间=(65536-初值)*Tosc*12

        当计数满中断后,定时/计数器清零,此时应在程序中设置将其改为初值,才能正常进行下一次计数/定时。

2.3 模式2——自动重装初值的8位定时/计数

        8位定时/计数,TLi做计数器,THi做初值寄存器。

        最大计数值:256

        计数值C=256-初值

        定时时间=(256-初值)*Tosc*12

        当计数满中断后,定时/计数器清零,THi中存放的初值自动存到TLi中,因此不需要程序单独说明即可正常进行下一次计数/定时。

2.4 模式3——组合扩展模式(仅T0具备该模式)

        

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

3.1 模式控制寄存器TMOD(SFR的地址:89H)

GATEC//TM1M0GATEC//TM1M0

高4位控制T1,低4位控制T0

GATE选通门:若GATE=0,只要TRi=1,就启动Ti;

                        若GATE\neq0,只有当/INTi=TRi=1,才启动Ti(测量/INTi脚的正脉冲宽度)

C//T计数、定时功能的选择:C//T=1时为计数器,C//T=0时为定时器;

M1、M0:模式选择,确定四种工作方式。

M1        M0工作模式备注
0            0模式0:13位定时/计数器二者区别仅在长度上
0            1模式1:16位定时/计数器
1            0模式2:8位自动重装模式串行通讯“波特率”发生器
1            1模式3仅T0可以工作在该模式

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

TF1TR1TF0TR0IE1IT1IE0IT0

        TR0:TR0=1,则T0开始工作,TR0=0,则T0停止工作;

        TR1:TR1=1,则T1开始工作,TR1=0,则T1停止工作;

四、定时/计数器的初始化

4.1 定时器初始化步骤

        ①根据需要,设定工作方式(C//T)以及工作模式(M1、M0)

        ②确定初值TC

        ③若采用中断方式,初始化中断

        ④送命令字,启动计数器

4.2 计数、定时初值的计算

        TC=M-C

        TC:初值;M:计数最大值;C:计数值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值