MCS-51单片机的定时器计数器

合集下载

第06章 MCS-51单片机定时计数器

第06章 MCS-51单片机定时计数器

10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)

D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清

MOV TMOD,#10H
;工作方式1设定

MOV TH1,#0FEH
;计数1初值设定

MOV TL1,#0CH

MOV IE,#00H
;关中断

SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出

第6章MCS-51的定时器

第6章MCS-51的定时器

• 28×12×1/12MHz=28us=256us=0.256ms
工作方式2_补充说明
8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时 ,TH0中的计数初值自动装入TL0,即TL0是一个自动 恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。
工作方式1_应用分析
定时和计数的应用 计数范围:1~216 计数计算公式:计数值=216-计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期~216机器周期 定时计算公式:定时时间=(216-定时初值)×
机器周期 如果晶振频率为6MHz ,则最大定时时间为: 216×12×1/6MHz=217us=131072us=131.072ms 如果晶振频率为12MHz ,则最大定时时间为: 216×12×1/12MHz=216us=65536us=65.536ms 工作方式1的定时计数功能切换模式,与工作方式
0完全一样;而启动定时计数器的模式,也与工作方式 0完全一样。计数量方式1更大,可完全取代方式0。
6.2.3 方式2
方式2为自动重装初值的8位计数方式。
TCON
TF1 D7
申请 中断
TR1
溢出8位计数器
1
TF0
TL0
TR0
0 &
TH1重TH装0 单元 ≥1 8位
D0
T0引脚
机器周期 1
INT0引脚
6.1.1 工作方式控制寄存器TMOD TMOD(工作方式寄存器):选择定时器/计数器T0、T1的工作 模式和工作方式,字节地址为89H,不能位寻址。
8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位

MCS-51单片机的定时器计数器

MCS-51单片机的定时器计数器

1. 定时器T0/T1 中断申请过程
(1)在已经开放T0/T1中断允许且已被启动的前提下, T0/T1加1计满溢出时 TF0/TF1标志位自动置“1” ;
(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指 令:LCALL 000BH/LCALL 001BH 执行中断服务程序;
(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申
郑州大学
docin/sundae_meng
(3)工作方式寄存器TMOD
T1
T2
GATE C / T M1 M0 GATE C / T M1 M0
M1,M0:工作方式选择位 。
=00:13位定时器/计数器; =01:16位定时器/计数器(常用); =10:可自动重装的8位定时器/计数器(常用); =11:T0 分为2个8位定时器/计数器;仅适用于T0。 C/T :定时方式/计数方式选择位。 = 1:选择计数器工作方式,对T0/T1引脚输入的外部事件 的负脉冲计数; = 0 :选择定时器工作方式,对机器周期脉冲计数定时。 如下页图所示。
CPL P1.0 MOV TH0,#15H MOV TL0,#0A0H
START:MOV SP,#60H MOV P1,#0FFH
SETB TR0 POP PSW
MOV TMOD,#01H MOV TH0,#15H MOV TL0,#0A0H
POP ACC RETI END
SETB EA
Байду номын сангаас
SETB ET0
定时器/计数器0采用工作方式1,其初值为:
21650ms/1s=6553650000=15536=3CB0H
电路图如下:
郑州大学
docin/sundae_meng

MCS-51单片机的定时器-计数器

MCS-51单片机的定时器-计数器
1.3 工方式
MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方 式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全 一样,现以定时器/计数器0为例介绍前三种工作方式。
1. 方式0(M1M0=00) (1)电路逻辑结构
方式0是13位计数结构的工作方式,其计数器由TH0全部8位 和TL0的低5位构成。TL0高三位弃之不用。图6.4 是定时器/计数 器0工作在方式0的逻辑结构。
分析:题目的要求可用下图来表示。

P1.0
8051 250 s 250 s
由上图可以看出只要使 的电位每隔250 取一次反即可。所 以定时时间应取250 。
1)计算计数初值 设计数初值为x,由定时计算公式知:
2)专用寄存器的初始化
D7
D6 D5 D4
D3
D2 D1
D0
GATE
GATE
所以,TMOD应设置为:10H 开放定时器/计数器1中断,所以IE应设置为:88H
当GATE=1时,只有TR0和 同时为高电平,定时器/计数 器 才工作,否则,定时器/计数器不工作。
(2)定时和计数的应用 计数范围:1~213 计数计算公式:计数值=213-计数初值 定时范围:1机器周期~213机器周期 定时计算公式:定时时间=(213-定时初值)×机器周期 如果晶振频率为6MHz ,则最大定时时间为: 213×1/6MHz×12=214( )
单片机原理及应用
MCS-5单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。
1.1 结构
定时器/计数器的基本结构如图6.3所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。

MCS-51最新单片机内部设有几个定时计数器?它们是由哪些专用

MCS-51最新单片机内部设有几个定时计数器?它们是由哪些专用

1、MCS-51单片机内部设有几个定时/计数器?它们是由哪些专用寄存器组成?答:MCS-51单片机内部设有2个定时/计数器。

他们由两个8位的特殊功能寄存器TCOM和TMOD,两个16位的特殊功能寄存器T0和T1构成。

2、MCS-51单片机的定时/计数器有哪几种操作模式?各有什么特点?答:MCS-51单片机的定时/计数器有4种操作模式。

方式0:13位计数/定时器。

13位由TLi的低五位和THi构成,手动重载入时间常数,软件启动/停止计数/定时器。

方式1:16位计数/定时器。

16位由TLi和THi构成,手动重载入时间常数,软件启动/停止计数/定时器。

方式2:8位计数/定时器。

TLi被定义为加1计数器,THi被定义为赋值寄存器,自动重载入时间常数,软件启动/停止计数/定时器。

方式3:T0 被用作两个独立的8位计数/定时器,手动重载入时间常数,软件启动/停止计数/定时器。

T1常被用作波特率发生器。

3、80C51定时器作定时或计数时其计数脉冲分别由谁提供?当用作定时器时,其定时时间与哪些因素有关?用作计数器时,对外界计数脉冲频率有何限制?答:80C51定时器作定时时其计数脉冲由内部振荡器经12分频后的输出,即机器周期的脉冲提供;80C51定时器作计数时其计数脉冲由外部输入脉冲提供。

当用作定时器时,其定时时间与内部振荡器频率、时间常数和定时器工作方式有关。

当用作计数器时,外界计数脉冲频率应低于振荡频率的1/24。

4、80C51定时器的门控信号GATE设置为1时,定时器如何启动?答:80C51定时器的门控信号GATE设置为1时,定时器启动需要同时满足INTi 引脚为高电平和Tri置位这两个条件,即通过满足这两个条件来启动定时器。

5、什么是串行通信、并行通信?其优缺点?并行通信是指在同一时刻发送多位数据;串行通信是指用一根线,在不同的时刻发送8位数据。

并行通信的优点是发送速度快;缺点是传输距离短、资源占用多。

串行通信的优点是传输距离远、占用资源少;缺点是发送速度慢。

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器

TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页

单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页


EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页


单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单

单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器

单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器

6.1.1 单片机定时器/计数器的结构
MCS-51单片机定时器/计数器的原理结构图
T0(P3.4) 定时器0 定时器1 T1(P3.5) 定时器2 T2EX(P1.1)
T2(P1.0)
TH0
溢 出 控 制
TL0
模 式 溢 出
TH1
控 制
TL1
模 式 溢 出
TH2
TL2
重装 捕获
RCAP 2H
RCAP 2L
6.2.2 T0、T1的工作模式
信号源 C/T设为1,为计数器,用P3.4引脚脉冲 C/T设为0,为定时器,用内部脉冲 运行控制 GATE=1,由外部信号控制运行 此时应该设置TR0=1 P3.2引脚为高电平,T0运行 GATE=0, 由内部控制运行 TR0设置为1,T0运行
6.2.2 T0、T1的工作模式
6.2.3 T0、T1的使用方法
例6-1 对89C52单片机编程,使用定时器/计 数器T0以模式1定时,以中断方式实现从P1.0引 脚产生周期为1000µ s的方波。设单片机的振荡频 率为12MHz。 分析与计算 (1)方波产生原理 将T0设为定时器,计算出合适的初值,定 时到了之后对P1.0引脚取反即可。 (2)选择工作模式 计算计数值N
6.2.1 T0、T1的特殊功能寄存器
TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。
注意: GATE=1 ,TRx与P3.2(P3.3)的配合控制。
IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位
6.2.2 T0、T1的工作模式
6.2.1 T0、T1的特殊功能寄存器
GATE=0,禁止外部信号控制定时器/计数器。 C/T——定时或计数方式选择位 C/T=0,为定时器;C/T=1,为计数器 计数采样:CPU在每机器周期的S5P2期间,对 计数脉冲输入引脚进行采样。

第六章 MCS-51单片机内部定时器

第六章 MCS-51单片机内部定时器

6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)

MCS-51的定时计数器

MCS-51的定时计数器

第六章MCS-51的定时/计数器1.如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?解答:因为机器周期,所以定时器/计数器工作方式0下,其最大定时时间为;同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。

2.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。

定时时间与时钟频率和定时初值有关。

3.定时/计数器用作定时器时,对外界计数频率有何限制?答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。

定时1ms后,又转为计数方式,如此循环不止。

假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。

解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。

除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。

编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定时器/计数器T0为计数方式2MOV TL0,#156 ;计数100个脉冲的初值赋值MOV TH0,#156SETB GATE ;打开计数门SETB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA ;CPU开中断CLR F0 ;设置下一轮为定时方式的标志位WAIT: AJMP WAITIT0P: CLR EA ;关中断JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI5. 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。

第6章-MCS-51定时计数器

第6章-MCS-51定时计数器
TMOD用于设置其工作方式、选择定时或计数功能; TCON用于控制其启动、中断申请以及作为运行状态的 标志等。
1.定时/计数器工作方式寄存器TMOD TMOD为T0、T1的工作方式寄存器,主要用于控制定
时/计数器T0和T1的工作模式和4种工作方式。低4位用于 控制T0,高4位用于控制T1。
门控 位
在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为
定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
Hale Waihona Puke ⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
⑷ 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计
定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数
6.1.2 定时/计数器的工作原理
单片机内部有两个定时/计数器T0和T1,其核心是计数器, 基本功能是加1。
对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。
计数器由二个8位计数器组成。

定时器与计数器

定时器与计数器

第7章定时器/计数器MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,这第三个称定时器T2)。

它们既可用作定时器方式,又可用作计数器方式。

7 . 1定时器/计数器结构定时器/计数器的基本部件是两个8位的计数器(其中TH1,TL1是T1的计数器,TH0,TL0是T0的计数器)拼装而成。

在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器也可看作是对计算机机器周期的计数器(因为每个机器周期包含12个振荡周期,故每一个机器周期定时器加1,可以把输入的时钟脉冲看成机器周期信号)。

故其频率为晶振频率的1/12。

如果晶振频率为12MH Z,则定时器每接收一个输入脉冲的时间为1us。

当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。

在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1(它在每个机器周期的S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,则计数器加1)。

加1操作发生在检测到这种跳变后的一个机器周期中的S3P1,因此需要两个机器周期来识别一个从“1”到“0”的跳变,故最高计数频率为晶振频率的1/24。

这就要求输入信号的电平要在跳变后至少应在一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次。

定时器/计数器有四种工作方式,其工作方式的选择及控制都由两个特殊功能寄存器(TMOD和TCON)的内容来决定。

用指令改变TMOD或TCON的内容后,则在下一条指令的第一个机器周期的S1P1时起作用。

1、定时器的方式寄存器TMOD图7-1 TMOD寄存器各位定义特殊功能寄存器TMOD为定时器的方式控制寄存器,寄存器中每位的定义如图7-1所示。

高4位用于定时器1,低4位用于定时器0。

其中M1,M0用来确定所选的工作方式,如表7-1所示。

①M1 M0 定时器/计数器四种工作方式选择,见表7-1所示。

简述mcs-51单片机中定时器方式0、方式1和方式2的工作特点。

简述mcs-51单片机中定时器方式0、方式1和方式2的工作特点。

MCS-51单片机中定时器的方式0、方式1和方式2具有不同的工作特点。

方式0是一个13位的定时器/计数器,其使用了16位寄存器(TH0和TL0)中的13位,包括TL0的低5位和TH0的8位,而TL0的高3位并未使用。

方式1是一个16位的定时器/计数器,TH0和TL0对应的16位全部参与计数运算。

当TH0和TL0计数满溢出时,硬件会自动将TF0置位并申请中断,同时16位加1计数器会从0开始继续计数。

在定时工作方式下,定时时间t对应的初值为X=216–t×fosc/12。

在计数工作方式下,计数长度最大为216=65536(个外部脉冲)。

方式2的特点是初值只需设置一次,每次溢出后,初值会自动从TH0加载到TL0或从TH1加载到TL1,但计数范围比方式1小。

在方式2中,只有TL0用作8位计数器参与脉冲计数工作,TH0不参与计数,只用来保存初值。

以上信息仅供参考,建议咨询专业计算机技术人员或者查阅专业书籍了解更多详细信息。

单片机原理第5章定时、计数器

单片机原理第5章定时、计数器

5.2.2 控制寄存器 控制寄存器TCON
5,控制寄存器TCON初始化设置 ,控制寄存器 初始化设置
0
0 1
0
1 0 1
0
0
0
0
复位时, 的所有位被清0. 复位时,TCON的所有位被清 的所有位被清 要启动,关闭 , 要启动,关闭TI, T0,需对 ,需对TR1,TR0用 , 用 软件设置: 软件设置: SETB TRx;启动 ; CRL TRx;关闭 ; 也可以用传送指令 MOV TCON,#50H , 同时启动T0, 同时 同时启动 ,T1同时 使用电平触发方式. 使用电平触发方式.
时钟 振荡 ÷12
2,脉冲计数 , 每来1个脉冲,计 每来 个脉冲, 个脉冲 数器加1. 数器加 .
C P U
T0 TL0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
溢 出 启动 TH0 工作 方式
TCON
TMOD
中断
5.1 定时器的结构及工作原理
1,计数脉冲来源 ,
(P3.4)
INT0(INTI)=1 指令 SETB TR0(TR1) 启动定时/计数器 启动定时 计数器T0(T1) 计数器
1
5.2.2 控制寄存器 控制寄存器TCON
1,溢出标志位 TFx
0 1
TFl(TCON.7):T1溢出标志位.当T1溢出时由硬 : 溢出标志位 溢出标志位. 溢出时由硬 件自动使中断触发器TFl置1,并向 申请中断. 件自动使中断触发器 置 ,并向CPU申请中断. 申请中断 响应进入中断服务程序后, 当CPU响应进入中断服务程序后,TFl又被硬件 响应进入中断服务程序后 又被硬件 自动清0. TFl也可以用软件清 . 自动清 . 也可以用软件清0. 也可以用软件清 TF0(TCON.5):T0溢出标志位.其功能和操作同 : 溢出标志位 其功能和操作同TFl 溢出标志位.

第5章 MCS-51单片单片机内部 定时器计数器

第5章  MCS-51单片单片机内部 定时器计数器

LOOP:
例:由P1.0输出方波信号,周 期为2ms,设fosc=12MHz。 (中断方式)
2ms
解:每隔1ms改变一次P1.0的输出状态,即形成方波, 用T0非门控方式1定时。 计算时间常数:X = 216 - t/T = 216 –(1/1000)/10-6 = 65536-1000 = 64536 = FC18H
3 工作模式2 • 模式2把TL0(或TL1)设置成一个可以自动重 装载的8位定时器/计数器 。 用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计 数器,THx为8位初值暂存器。
复位时,TMOD所有位均置0。 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010 B
定时器控制寄存器TCON除可字节寻址外,各 位还可以位寻址。
位地址 位符号 8FH TF1 8EH 8DH 8CH TR1 TF0 TR0 8BH IE1 8AH 89H 88H IT1 IE0 IT0
解得:T0初值=7096=11011101 11000B,其中将高8位 11011101 B=DDH 赋给 TH0 ,低 5 位 11000B=18H 赋 给 TL0。

方法一:
采用查询工作方式,编程如下:
ORG AJMP 0000H MAIN
LOOP:JNB TF0,$;$为当前指令指 针地址 CLR SETB CLR MOV MOV TF0 P1.0 P1.0 TH0 , #0DDH ;重装载 ;产生2µ s正脉冲
ORG AJMP ORG AJMP ORG MAIN:MOV MOV MOV SETB SETB SETB HERE:SJMP PT0INT:MOV MOV CPL RETI

MCS-51单片机的定时器计数器

MCS-51单片机的定时器计数器
器工作方式。 (2)预置定时计数器中计数的初值——直接写入TH和
TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初
值。 MOV TL0,#00H
Copyright 2006
(3)根据需要开放定时器/计数器的中断——对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。
判断中 断的次 数

CPL P1.0
;定时到,输出取反

NO:RETI
;中断返回
END
注意:此程序的#20和#60这两个立即数后面没 有加H表示是十进制数。
思考:能否利用定时器来实现一个电子钟?
Copyright 2006
测量每1秒钟之内的按键按下次数
工作方式0: 13位定时/计数方式,因此,最多可以计到2的13 次方,也就是8192次。
工作方式1: 16位定时/计数方式,因此,最多可以计到2的16 次方,也就是65536次。
工作方式2和工作方式3:都是8位的定时/计数方式,因此, 最多可以计到2的8次方,也说是256次。
Copyright 2006
;开中断 ;开T0中断 ;运行T0 ;等待中断 ;定时到,输出取反 ;重新加载初战值
;中断返回
中断程序的主 程序和中断服 务程序的布局
定时器初始化
开定时器中断
Copyright 2006
实例二:利用方式1定时
题目:用定时器T1,使用工作方式1,在单片机的P1.0输出一个周期为2分钟、占 空比为1:1的方波信号。
Copyright 2006
MCS-51单片机的定时器/计数器(二)

MCS51单片机中的定时器

MCS51单片机中的定时器

7
1.3
定时器/计数器的功能
定时器/计数器具有定时和计数两种功能,应用范围如下。 1. 定时与延时控制方面 可产生定时中断信号,以设计出各种不同频率的信号源; 产生定时扫描信号,对键盘进行扫描以获得控制信号,对 显示器进行扫描以不间断地显示数据。 2. 测量外部脉冲方面 对外部脉冲信号进行计数可测量脉冲信号的宽度、周期, 也可实现自动计数。 3. 监控系统工作方面 对系统进行定时扫描,当系统工作异常时,使系统自动复 位,重新启动以恢复正常工作。
振荡器 12 分频
TC/ =0 C/T TC/ =1 C/T
&
TH0 (8 位)
TL0 (5 位)
TF0
中断
T0(P3.4) TR0 GATE INT0(P3.2)
1
≥1
定时器/计数器0方式0逻辑结构
17
3.1 定时器/计数器的初始化
【例1】 用定时器0方式0,定时5ms,以中断方式工作,进行 程序初始化设计,晶振频率为6MHz。 解:用定时器0方式0时,定时器/计数器方式寄存器TMOD低4 位中的M1M0应取00;可设定为软件启动定时器,故 GATE取0;因用定时功能,C/T取0;定时器方式寄存器 TMOD高4位为无关位,一般都取0,所以TMOD应为00H。 晶振频率为6MHz,T机=12/fosc=12/(6106)=2s 定时初值X=213-T/T机=213-51000/2=8192-2500=5692 =163CH=1011000111100B 因TL0的高3位未用,对计算出的定时初值X要进行修正, 即在低5位前插入3个0,修正后的定时初值 X=1011000100011100B=B11CH
005DH
0060H 0062H 0065H 0068H

MCS-51系列单片机的定时器

MCS-51系列单片机的定时器
存器存放定时或计数初值,每个定时器都可以由软
件设置成定时工作方式或计数工作方式,工作方式 的设定由工作方式寄存器TMOD设置,由控制寄存 器TCON控制。
寄存器TMOD的字节地址为89H,其不可以进行位寻址,各位定义如 表6-1。
1、GATE-选通控制位(门控位) GATE=0,只要用软件对TR0(或TR1)置1就启动定 时器; GATE=l,只有外部中断INT1(或INT0)引脚为高电 平,且用软件对TR0(或TR1)置1才启动定时器。 2、C/ -工作方式选择位
时器计数器都具有计数和定时两种功能,并具有 3~4种工作方式。
51单片机定时器/计数器的逻辑结构如图6-1,可以看出,16位 的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和 TL0构成;T1由TH1和TL1构成,访问地址依次为8AH-8DH。 这些寄存器用于存放定时或计数初值,均可单独访问。此外,其 内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控 制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电 路连接起来的。TMOD主要是用于选定定时器的工作方式, TCON主要是用于控制定时器的启动停止,此外TCON还可以保 存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部 事件通过引脚T0(P3.4)和T1(P3.5)输入。
对定时器/计数器的工作方式寄存器TMOD中的M1 M0位进行设置,可以 使得定时器/计数器工作在4种工作方式下,下面对这4种方式做一下介绍。
6.3.1定时器/计数器的工作方式0
(1)计数结构 在工作方式0下,定时器/计数器采用13位计数结构。
(2)工作方式0的特点 ①两个定时器/计数器T0、T1均可在方式0下工作; ②13位计数结构,其计数器由THx全部8位和TLx的低5位构成(高3位不
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例 6-3】 设 T1 作定时器,以模式 1 工作,定时时 间为 10 ms;T0 作计数器,工作在模式 2,T0(P3.4)引脚上 发生一次事件(脉冲)即溢出。 解 T1 的时间初值为 (216 - Tc) ×2 µ = 10 ms s Tc = EC78H T0 的计数初值常数为 FFH。

初始化程序:
TMOD,#16H ;T1定时模式1,T0计数模式2 TL0,#0FFH ;T0时间常数送TL0 TH0,#0FFH ;T0时间常数送TH0 TL1,#78H ;T1时间常数(低8位)送TL1 TH1,#0ECH ;T1时间常数(高8位)送TH1 TR0 ;置TR0为1,允许T0启动计数 TR1 ;置TR1为1,允许T1启动计

单片机复位后,TCON寄存器的所有位均为0.
2. 工作方式控制寄存器TMOD

高4位用于定时器1,低4位用于定时器0
① M1,M0:工作模式选择位。 定时器/计数器四种工作模式选择如表6-1所示。
表 6-1 工作方式选择表
M1 M0 0 0 1 1 0 1 0 1 方 式 0 1 2 3 13 位定时器/计数器 16 位定时器/计数器 自动装入时间常数的 8 位定时器/计数器 对 T0 分为两个 8 位独立计数器;对 T1 置方式 3 时停止工作 说 明
方式2适合于用作较精确的脉冲信号发生器。
4. 方式3—2个8位方式

仅T0可以工作在方式3,T1处于方式3时停止计数。 此时,T0分成2个独立的计数器—TL0和TH0,前者 用原来T0的控制信号(TR0、TF0),后者用原来 T1的控制信号(TR1、TF1)。
(1)TH0由TR1启动/停止,溢出TF1 (2)TL0由TR0启动/停止,溢出TF0 (3)TH0只能定时,TL0可以定时/计数,且都是8位。
如果计数初值设定为C,则计数器从初值C开始作加 1计数到计满为全1所需要的计数值设定为D,由此 便可得到如下的计算通式: C = M -D ① 式中,M为计数器量程,该值和计数器工作模式有关。 在模式0时,M为213;在模式1时,M为216;在模式2 和模式3时,M为28。
3.定时器初值的计算
在定时器方式下,计数器由单片机脉冲经12分频后 计数。因此,定时器定时时间T的计算公式为

6.2
定时器/计数器的初始化
1.初始化步骤
MCS-51内部定时器/计数器是可编程的,其工 作方式和工作过程均可由MCS-51通过程序对它进 行设定和控制。因此,MCS-51在定时器/计数器工 作前必须先对它进行初始化。初始化步骤为: (1) 根据题目要求先给定时器方式寄存器TMOD送一 个方式控制字,以设定定时器/计数器的相应工作方 式。 (2) 根据实际需要给定时器/计数器选送定时器初值或 计数器初值,以确定需要定时的时间和需要计数的 初值。
(3) 根据需要给中断允许寄存器IE选送中断控制字和 给中断优先级寄存器IP选送中断优先级字,以开放 相应中断和设定中断优先级。(若采用中断方式) (4) 给定时器控制寄存器TCON送命令字,以启动或禁 止定时器/计数器的运行。
2. 计数器初值的计算
定时器/计数器可用软件随时随地启动和关闭, 启动时它就自动加1计数,一直计到满,即全为1, 若不停止,计数值从全1变为全0,同时将计数溢出 位置1并向CPU发出定时器溢出中断申请。对于各 种不同的工作模式,最大的定时时间和计数数值不 同。这里在使用中就会出现两个问题: 一是要产生比定时器最长的定时时间还要短的时 间和比计数器最多的计数次数还要少的计数次数; 二是要产生比定时器最长的定时时间还要长的时 间和比计数器最多的计数次数还要多的计数次数。
2. 方式1—16位方式

16位计数,由TL0作为低8位、TH0作为高8位 ; 16位计数,由TL1作为低8位、TH1作为高8位。
其定时时间为: (216-初值)×机器周期
3. 方式2—8位自动装入时间常数方式


TL0作为8位内部计数器,TH0作为重装初值寄存 器,在TL0计数溢出置位TF0标志的同时,由硬件 控制直接将重装初值装入TL0,开始新一轮的计数, 如此不断循环。 方式2和方式0、1最大的差别就是计数器的初值是 由硬件控制自动装入的。 方式0、1一旦计数溢出,就表示计数器已回0,如 果要按照原先的初值重新计数,就需要通过软件重 装计数器初值。
2
13
2 10 1
3
µs = 6192 = 1830H = 0001 1000 0011 0000B
同样,先把低 5 位 10000B 送 TL0,TL0 的高 3 位置 零,余下的 8 位 11000 001B 送至 TH0。这样就得到定时 器工作在模式 0 时的初值 C110H,TH0 应装 C1H,TL0 应 装 10H。 若采取模式 1,则有 216 2 103 Tc = µ = 63 536 = F830H s 1 TH0 应装 F8H;TL0 应装 30H。
根据13位定时器/计数器特性,先把低5位0CH送TL0, TL0的高三位置零,高8位F0H送至TH0。可用下列 指令实现定时器T0初始化。 MOV TMOD,#00H ;T0工作于模式0,定 时方式 MOV TL0,#0CH ;低5位送TL0寄存器 MOV TH0,#0F0H ;高8位送TH0寄存器
MOV MOV MOV MOV MOV SETB SETB
【例 6-4】 设定时器 T0,工作在模式 1,试编写一个延时 1 s 的 子程序。 解 若主频频率为 6 MHz,可求得 T0 的最大定时时间为 Tmax = 216 ×2 µ = 131.072 ms s 我们就用定时器获得 100 ms 的定时时间再加 10 次循环得到 1 s 的延时,可算得 100 ms 定时的定时初值: (216 - Tc) ×2 µ = 100 ms = 100 000 µ s s Tc = 216 - 50 000 = 15 536 = 3CB0H
T1
T0
微 处 理 器 内部总线
TH1
TL1
TH0
TL0
பைடு நூலகம்
TCON
工作 方式
TMOD
工作 方式
8051单片机定时器/计数器结构示意图 加1计数器(高8位、低8位) TMOD,工作方式设置; TCON,启动、停止及设置溢出标志。
定时功能----计数输入信号是内部时钟脉冲,其计数 脉冲来源于晶振时钟输出信号的12分频,即每个机 器周期使寄存器的值加1。定时器可看做是对机器 周期的计数器。所以,定时计数频率是振荡频率的 1/12。 计数功能----计数脉冲来自相应的外部输入引脚, T0为P3.4,T1为P3.5。只要T0或T1的引脚上有一 个1到0的负跳变,相应的计数器就加1. 在TMOD中,各有一个控制位(C/T),分别用 于控制定时/计数器T0和T1工作在定时器方式还是 计数器方式。

二.定时器/计数器的控制寄存器

与定时器/计数器有关的控制寄存器有:
1. 定时器控制寄存器TCON


TF1:定时器/计数器1(T1)的溢出中断标志位。 TF0:定时器/计数器0(T0)的溢出中断标志位。 TR1:定时器/计数器1的运行控制位。通过置1或清 0来启动或停止T1的计数。 TR0:定时器/计数器0的运行控制位。
【例 6-2】 若单片机时钟频率 fosc 为 12 MHz,请计算定时 2 ms 所需 的定时器初值。 解 由于定时器工作在模式 2 和模式 3 下时的最大定时时间只有 0.256 ms,因此要想获得 2 ms 的定时时间,定时器必须工作在模式 0 或 模式 1。 若采用方式 0,则根据式②可得定时器初值为 Tc =
② C/T:定时器方式或计数器方式选择位 C/T=0时,为定时器方式 C/T=1时,为计数器方式 ③ GATE:门控位 当GATE=0时,TCON寄存器中的TR0或TR1为1, 则可立即启动定时器/计数器; 当GATE=1时,不但要TR0或TR1为1,且单片机的 INT0或INT1引脚的输入要为高电平,才能启动定时 器/计数器。
程序如下:
ORG 0000H MOV TMOD,#01H MOV R7,#10 DLY1MS:MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 LOOP1: JBC TF0,LOOP2 JMP LOOP1 LOOP2: DJNZ R7,DLY1MS SJMP $ END ;开始计时 ;查询溢出标志位判断 100 ms 时间是否到 ;100 ms 时间不到,则等待 ;100 ms 时间到,则 TF0 清零,且判断循环次数 ;1 s 时间到 ;初始化 T0 ;循环 10 次 ;装入 T0 初值
MCS-51单片机内部有两个16位可编程的定时器 /计数器,即定时器T0和定时器T1。每个定时器/计 数器的基本部件是两个8位的计数器(其中TH1、 TL1是T1的计数器,TH0、TL0是T0的计数器)拼装 而成。它们是采用加“1”方式工作的。 两个特殊功能寄存器(TMOD和TCON)用来对 定时器/计数器的工作方式进行选择和控制。 8051单片机的定时器/计数器结构如下图所示。
定时模式,对内部机器周期计数 定时时间 t =计数值N x Tcy 计数模式,对外部事件脉冲计数 计数脉冲周期要大于2 Tcy T0和T1计数器都只能递增计数,当16位计数器的 计数值增加到0FFFFH时,再输入1个脉冲就会使计 数器的值回零,并发生溢出信号,置相应的标志位 (TCON中TF0或TF1置1), 向CPU发出中断请求。 设定计数次数:计数器的计数量程-计数初值。
第六章 MCS-51单片机的定时器/计数器

实现定时常用的三种方法:
软件定时:占用CPU时间,效率低。
用555电路:不可编程。
可编程芯片:功能强,需要另外扩展。
单片机内部有2个16位的定时/计数器:使用 灵活,编程方便。--优先选用
相关文档
最新文档