文档介绍:该【定时计数器1MCS 】是由【fuxiyue】上传分享,文档一共【24】页,该文档可以免费在线阅读,需要了解更多关于【定时计数器1MCS 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。§6-1 MCS-51单片机的定时/计数器 返回
一、定时/计数器的基本功能
1、可以作为定时器也可选择为计数器;
2、定时值和计数值在规定的范围内是可编程的;
3、当达到设定的定时值或计数值时会有相应的信号输出,并可向CPU提出中断,以便实现定时或计数控制
二、MCS-51系列单片机内部定时/计数器
1、结构框图及基本工作原理
基本部件是两个8位加法计数器TH及TL,结构框图如图6-1所示:
(1)定时功能
当计数脉冲来自内部时钟脉冲时,即机器周期信号,此时为定时器。此时结构图中开关C与A相联。
(2)计数功能
作为外部计数器时,计数脉冲来自于外部输入端。此时C与B相联。
图6-1 定时器的基本结构
2、内部定时/计数器的控制
定时/计数器的功能、工作方式、定时(计数初)值及中断由TMOD、TCON及IE 控制。
(1)方式控制寄存器TMOD
控制和选择定时/计数器的工作方式,高四位控制T1,低四位控制T0,格式如下:
GATE:门控位,定义T1/T0的启动方式,逻辑如图:
C/:定时/计数位。
为“0”,作定时器用;为“1”,作计数器用。
M1M0:工作方式选择位。
00 方式0 13位计数器
01 方式1 16位计数器
10 方式2 初值自动重装8位计数器
11 方式3 2个8位计数器,仅适用于T0
(2)、定时器控制寄存器TCON(88H)
TCON既参与定时控制又参与中断控制,有关定时控制的有4位,表示如下:
TF1/TF0:当T1/T0的计数器计数溢出时,该位置“1”。
TR1/TR0:T1/T0运行控制位。软件将其置“1”时,启动T1/T0工作。
另外4位IE0、IE1、IT1、IT0为中断控制位。
(3)、中断允许控制寄存器IE。
见第五章的部分。
三、定时/计数器的工作方式
1、工作方式0 ( M1M0=00 ——13位计数器)
(1)结构
由THX的全部8位和TL0的低5位构成,如下图。当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,TF0置“1”。
(2)TMOD值:
作定时器:TMOD=00000000=00H
作计数器:TMOD=00000100=04H
(3)计数初值
最大计数值为213=8192
△T=(213 — 计数初值)× 机器周期(12/fosc)
计数初值=213 —欲计数脉冲数=213 —△T/ 机器周期
2、工作方式1( M1M0=01——16位计数器)
方式1时的电路逻辑结构如图所示
作定时器,TMOD=01H;
作计数器,TMOD=05H;
△T=(216 — 计数初值)× 机器周期(12/fosc)
计数初值=216 —欲计数脉冲数=216 —△T/ 机器周期
例如:定时500us,fosc=6MHz时,
初值=216—500/2=65536-250=65286=FF 06H
那么:TH0=FFH,TL0=06H
3、工作方式2 (M1M0=10——自动复位的8位计数器)
以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。逻辑结构,如图所示:
作定时器,TMOD=02H;
作计数器,TMOD=06H;
最大计数值为28=256,若fosc=12MHz,则方式2的最大定时时间为256us。当作为定时器用时,定时时间的计算公式:
△T=(28 — 计数初值)× 机器周期(12/fosc)
计数初值=28 —欲计数脉冲数=28 —△T/ 机器周期
例如:定时500,fosc=6MHz时,初值=28—500/2=6= 06H 则:TH0=TL0=06H
4、工作方式3 (M1M0=11——2个8位计数器(仅限于T0))
在T0方式3下,T0、T1的设置和使用是不同的。
(1)T0方式3
TL0:使用T0原有控制资源,功能与方式0、1相同。
TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数,
作8位定时器
T0方式3时的T0、T1电路逻辑结构,如图所示