6+定时器计数器结构及工作方式

合集下载

定时计数器的结构与工作原理

定时计数器的结构与工作原理

定时器方式寄存器TMOD (不能按位寻址)
注意 TMOD只能以字节方式进行初始化
T1
T0
定时器方式寄存器TMOD (不能按位寻址)
振荡器
Tx端 TRx位 GATE位 01 INTx端
12 C/T=0
C/T=1
10
1&
≥1 与门
或门
计数器
控制=1 开关接通
TFx
申请 中断
GATE门控位: Timer可由软件与硬件两者控制 ▼ GATE = 0 ——普通用法
单片机的定时/计数器 -定时/计数器的结构与工作原理
秒表计时器
家用定时器ຫໍສະໝຸດ 智能计数器智能排插 计时器
定时/计数器的结构
▼ 2个16位计数器T0 (TH0、TL0)和T1 (TH1、TL1)——加1计数器 ▼ 8位特殊功能寄存器TMOD——选择定时/计数器的工作模式和工作方式 ▼ 8位特殊功能寄存器TCON ——控制定时器的启动与停止 ▼ 2个外部引脚T0(P3.4)和T1(P3.5)——接入外部计数脉冲
Timer的启/停由软件对TRx位写“1”/“0”控制
▼ GATE = 1 ——门控用法 (很少用到) Timer的启/停由软件对TRx位写“1”/“0” 和在INTx引脚上出现的信号的高/低共同控制
小 结
▼定时/计数器的内部结构与工作原理 ▼定时器控制寄存器TCON ▼定时器方式寄存器TMOD
D7
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
▼ TFx: T0/T1计数溢出标志位。
=1 计数溢出; =0 计数未满 TFx标志位可用于申请中断或供CPU查询。
在进入中断服务程序时会自动清零; 但在查询方式时必须软件清零。

单片机第六章定时器

单片机第六章定时器
计数溢出时,TFx置位。如果中断允许,CPU响应中 断并转入中断服务程序,由内部硬件清TFx。TFx也可以 由程序查询和清零。
这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;


特殊功能寄存器TMOD、TCON;
时钟分频器;

输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。

第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 ;查询是否溢出

单片机定时器的使用

单片机定时器的使用

由于TL0既能作定时器也能作计数器使用,而 TH0只能作定时器使用而不能作计数器使用,因此在 方式3模式下,定时/计数器0可以构成二个定时器或 者一个定时器和一个计数器。
如果定时/计数器0工作于工作方式3,那么定时/ 计数器1的工作方式就不可避免受到一定的限制,因 为自己的一些控制位已被定时/计数器借用,只能工 作在方式0、方式1或方式2下,如果设置T1工作在方 式3,则T1停止工作,相当于其他方式时令TR1=0。
在工业检测、控制中,很多场合都要用到计数或者定 时功能。例如对外部脉冲进行计数、产生精确的定时时间、 作串行口的波特率发声器等。MCS-51单片机内部有两个 可编程的定时器/计数器,以满足这方面的需要。它们具 有 两种工作模数(计数器模式、 定时器模式)和四种工 作方式( 方式0、方式1、方式2、方式3),其控制字均 在相应的特殊功能寄存器(SFR)中,通过对它的SFR的 编程,可以方便的选择工作模数和工作方式。
C/T位:计数器模式和定时器模式的选择位。
C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。
C/T=1,为计数器模式,计数器对外部输入引脚T0 (P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许 的最高计数频率为晶振频率的1/24。
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放 来决定。
TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时 被清 0。

51单片机定时器计数器详解

51单片机定时器计数器详解

51单⽚机定时器计数器详解第六章定时器/计数器6.1 定时器的结构及⼯作原理6.2 定时器的控制6.3 定时器的⼯作模式及其应⽤第六章定时器/计数器实现定时⼀般有多种⽅法:1. 利⽤软件实现(延时程序)优点:简单,控制⽅便;缺点:CPU效率低。

2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率⾼;缺点:修改参数⿇烦。

3. 利⽤计数器实现输⼊脉冲定时器/计数器作⽤主要包括产⽣各种时标间隔、记录外部事件的数量等,是单⽚机中最常⽤、最基本的部件之⼀。

外来脉冲定时计数定时器/计数器功能⽰意图6.1 定时器/计数器的结构及⼯作原理6.1.1 定时器/计数器的基本结构MCS-51单⽚机有⼆个定时器/计数器,每个定时器/计数器由⼏个专⽤寄存器组成。

TMOD(89H )⾼四位TMOD(89H )低四位⽅式寄存器TCON(88H)TCON(88H)控制寄存器*8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)定时器T1定时器T0定时器/计数器的结构如下图所⽰。

定时器/计数器的基本结构框图申请P3.5or P3.4or 8DH 8BH8CH 8AH6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图INTx P3.YGATE :门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5⼀. 对外部输⼊信号的计数功能当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。

若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。

所以计数器计数的频率最⾼为fosc 的1/24。

BDEHT H >1个机器周期T L >1个机器周期L⼆. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。

INTx P3.Y例如:晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。

定时器工作原理

定时器工作原理

定时器工作原理通电延时型。

只要在定时的时间段内(即1分钟)定时器一直得电,则常开触电就会闭合,只要定时器不断电常开触电就会一直闭合。

定时器断电则常开触电断开101 6.1010116801图6.1定时器/计数器结构框图011011011 0265536216016553621606.2411010110104位用于T0,高4位用于T1的。

:门控位。

GATE=0,只要用软件使TR0(或TR1)置1就能启动定时器/计数器0(或定时器/计数器1);GATE=1,只有在(或)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器/计数器0(或定时器/计数器1)工作。

不管GATE处于什么状态,只要TR0(或TR1)=0定时器/计数器便停止工作。

:定时器/计数器工作方式选择位。

C/=0,为定时工作方式;C/=1,为计数工作方式。

、M1:工作方式选择位,确定4种工作方式。

如表6.1所示。

表6.1定时器/计数器工作方式选择【例6.1】设置定时器1工作于方式1,定时工作方式与外部中断无关,则,M0=1,GATE=0,因此,高4位应为0001;定时器0未用,低4位可随意11(因方式3时,定时器1停止计数),一般将其设为0000。

因此,指令形式为:MOV TMOD,#10H/计数器工作方式与程序设计通过对特殊功能寄存器TMOD中的设置M1、M0两位的设置来选择四种工作/计数器0、1和2的工作方式相同,方式3的设置差别较大。

工作方式0工作方式寄存器TMOD中的M1M0为:00。

定时器/计数器T0工作在方式0 16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13 /计数器。

当TL0的低5位计满溢出时,向TH0进位,TH0溢出时,对TF0置位,向CPU申请中断。

定时器/计数器0方式0的逻辑结构如6.2所示。

1013121312213131310612 12130106128 192211310110136.22138103213 16.32502132130 16.401200131300819210001110000085 851 140 01011 011601 6.3121312213161610612 121601061265 53621161166.51216101032130 16.6980012162169800 16.711121610103216 111011000888821202 6.41021688812812288810612 128010612256218186.825006.56.5 6.62115001022321250050050050031130 168031021031203 6.66.923821002561001233201。

计数器与定时器教学课件PPT

计数器与定时器教学课件PPT
CLK 1 GATE 1 OUT 1
CLK 2 GATE 2 OUT 2
引脚
D7~D0:8位、双向、三态数据线,直接和系统 数据总线相连。读/写16位数据则分两次进行。
CS:片选信号,低电平有效。 RD,WR:读信号,写信号,低电平时有效。 A1,A0:8253端口选择线。00~10分别选择计
《微机原理与接口》教学课件
方式5 硬件触发选通信号
-WR
写入 写入 方式5 4
写入 3
CLK
GATE
OUT
4321 0
3 2 13 2 10
▪ GATE:触发作用
触发
重触发:装计数值
《微机原理与接口》教学课件
6、方式5: 硬件触发选通信号
在这种方式下,设置了控制字后,输出为 高。在设置了计数值后,计数器并不立即 开始计数,而是由门控脉冲的上升沿触发 启动。当计数到0时,输出变低,经过一 个CLK脉冲,输出恢复为高,停止计数。 要等到下次门控脉冲的触发才能再计数
OUT端随着工作方式的不同和当前计数状态的 不同,一定有电平输出变化,而且输出变化均 发生在CLK的下降沿。OUT的输出波形在写控 制字之前为未定态,在写了控制字之后到计数 之前为计数初态,再之后有计数态、暂停态、 结束态等。
对于给定的工作方式,门控信号GATE的触发条 件是有具体规定的,或电平触发,或边沿触发, 或两者均可
《微机原理与接口》教学课件
各种工作方式的输出波形
方式 0 方式 1 方式 2 方式 3 方式 4 方式 5
0
N0
N
1 0/N
N0 10
N N/2 0/N N/2 0
N N 01
01 N 01
《微机原理与接口》教学课件

定时器计数器讲解

定时器计数器讲解
6-13所示,计数输入引脚T1(P3.5)上外接开关K1,作为 计数信号输入。按4次K1后,P1口的8只LED闪烁不停。 (1)设置TMOD寄存器
TR1位(或TR0位)=1,启动定时器工作的必要条件。 TR1位(或TR0位)=0,停止定时器工作。 该位可由软件置“1”或清“0”。
10
6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。
6.2.1 方式0 当M1、M0为00时,定时器/计数器被设置为工作方式0,
这时定时器/计数器的等效逻辑结构框图如图6-4所示(以定 时器/计数器T1为例,TMOD.5、TMOD.4 = 00)。
(1)GATE=0时,A点(见图6-4)电位恒为1,B点电位仅 取决于TRx状态。TRx = 1,B点为高电平,控制端控制电子 开关闭合,允许T1(或T0)对脉冲计数。TRx = 0,B点为低 电平,电子开关断开,禁止T1(或T0)计数。
(2)GATE=1时,B点电位由INTX*(x = 0,1)的输入电 平和TRx的状态两个条件来定。当TRx=1,且INTX*=1时,B 点才为1,控制端控制电子开关闭合,允许T1(或T0)计数。 故这种情况下计数器是否计数是由TRx和INTX*两个条件来共 同控制。
图6-1 AT89S51单片机的定时器/计数器结构框图
4
只不过计数信号的来源不同。 计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚上
的外部脉冲进行计数(见图6-1) 定时器模式是对单片机的系统时钟信号经片内12分频后的
内部脉冲信号(机器周期)计数。由于时钟频率是定值,所 以可根据对内部脉冲信号的计数值可计算出定时时间。
本例由于采用定时器T0中断,因此需将IE寄存器中的EA、 ET0位置1。 (4)启动和停止定时器T0

单片机原理及其接口技术--第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
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单

第六章 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。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)

6.3 定时器计数器的四种模式及应用

6.3 定时器计数器的四种模式及应用

(2)计算初值 ) T0工作在外部事件计数方式,当计数到 8时,再加 工作在外部事件计数方式, 工作在外部事件计数方式 当计数到2 1计数器就会溢出。设计数初值为 ,当再出现一次 计数器就会溢出。 计数器就会溢出 设计数初值为X, 外部事件时,计数器溢出。 外部事件时,计数器溢出。 则: X+1=28 X= 28 -1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为 工作在定时工作方式, 工作在定时工作方式 设晶振频率为6MHz, , 500µs相当于 相当于250个机器周期。因此,初值 为 个机器周期。 相当于 个机器周期 因此,初值X为 (28-X)×2µs=500µs × X=6=06H
的工作模式0在 例2:利用 的工作模式 在P1.0引脚输出周期为 :利用T0的工作模式 引脚输出周期为 2ms的方波。设单片机晶振频率 的方波。 的方波 设单片机晶振频率fosc=12MHz。 。 分析:要在P1.0引脚输出周期为 引脚输出周期为2ms的方波,只要使 的方波, 分析:要在 引脚输出周期为 的方波 P1.0每隔 每隔1ms取反一次即可。 取反一次即可。 每隔 取反一次即可 (1)选择工作模式 ) T0的模式字为 的模式字为TMOD=00H,即 的模式字为 , M1M0=00,C/T=0,GATE=0,其余位为 。 , , ,其余位为0。 (2)计算1ms定时时 的初值 )计算 定时时T0的初值 定时时 (213-X)×1/12 × 10-6×12=1×10-3 s × × X=7192D=11100000 11000B T0的低 位:11000B=18H即 (TL0)=18H 的低5位 的低 即 T0的高 位:11100000B=E0H即 (TH0)=E0H 的高8位 的高 即
三、模式 3的应用举例 的应用举例 例1:设某用户系统已使用了两个外部中断源,并 :设某用户系统已使用了两个外部中断源, 置定时器T1工作在模式 工作在模式2, 置定时器 工作在模式 ,作串行口波特率发生器 现要求再增加一个外部中断源,并由P1.0引脚 用。现要求再增加一个外部中断源,并由 引脚 输出一个5kHz的方波。fosc=12MHz. 的方波。 输出一个 的方波

接口技术06定时器计数器8253-5

接口技术06定时器计数器8253-5

0
0
0
1
1
0
传送方式
写入计数器0的初始值 写入计数器1的初始值 写入计数器2的初始值 写入控制寄存器控制字
读自计数器0的OL 读自计数器1的OL 读自计数器2的OL
五、8253 的控制字格式:
D7
D6
D5
D4
D3
D2
D1 D0
SC1 SC0 RW1 RW0 M2
M1
M0 BCD
计数器选 择
工作方式
计数初值开始工作,见图6.5所示③。21组1
CLK
WR ① GATE
OUT
n=4
43
0 21

GATE OUT
0
4
4321
WR ③
n=3
GATE
OUT2 工作在1方式,进行8位二进制计数, 并设计 数 初值的低8位为BYTEL。
其初始化程序段为
MOV DX,307H
计数器:
在时钟信号作用下,进行减“1”计数,计数次数到 (减“1”计数回零),从输出端输出一个脉冲信号。
计数举例: •①对零件和产品的计数; •②对大桥和高速公路上车流量的统计,等等。
Intel8253在微机系统中可用作定时器和计数 器。定时时间与计数次数是由用户事 先设定。
2、 8253 定时与计数器与CPU的关系 8253 定时与计数操作过程与CPU相互独立,
计数器 2
GATE2 OUT2
定时器/计数器的内部结构:
①数据总线缓冲器。它是一个三态、双向 8位寄存器,用于将8253与系统数据总线 D0~D7 相连。 ②读/写逻辑。 ③控制命令寄存器。它接受CPU送来的控 制字。 ④计数器。8253有3个独立的计数器(计 数通道),其内部结构完全相同,

第6讲 定时器与计数器

第6讲 定时器与计数器
≥1
TMOD T0引脚 0 M0 1 M1 C/T 0 机器周期 GATE M0 1 INT0引脚 M1 C/T GATE D7 D0
工作方式2结构
定时器T0工作方式2结构
溢出 申请 中断 申请 中断 TCON TF1 TR1 TF0 TR0 溢出 TH0 8位 T0引脚 1 TL0 8位 &
≥1
四、定时计数器控制寄存器
1、工作方式控制寄存器TMOD
C/T用于选择定时或计数方式,定时计数器4种工作方式 可通过TMOD中的M1、M0进行选择。
MCS-51单片机将门控位GATE、定时计数方式选择位C/T、
工作方式选择位M1、M0组合在工作方式控制寄存器TMOD 中,TMOD是特殊功能寄存器,字节地址为89H。TMOD共8位, 低4位用于T0的工作方式选择,高4位用于T1的工作方式选择。 各位定义如下:
每个计数脉冲使加1计数器加1。(f< fosc/24 ,)
4. 加1计数器
加1计数器由特殊功能寄存器TH0与TL0组成,工作前应
先将TH0与TL0置初值Count。然后由定时或计数脉冲使加1计
数器加1,当加1计数器加到FFFFH后再加1时,发生溢出回零,
硬件自动将中断标志TF0置1,并以此向CPU发中断请求。 溢出回零后硬件要完成以下几项工作: ① 将溢出标志TF0置1。 ② 以TF0=1为标志向CPU发中断请求信号。 ③ 若CPU响应,则在响应过程中由硬件将TF0清零。并转入中断 处理程序执行定时或计数任务。
工作方式
00; 01; M1M0 = 10; 11;
加1计数器位数
13位 16位
加1计数器
TH15~8,TL4~0 TH15~8,TL7~0
方式0 方式1 方式2 方式3

第六章定时器及应用

第六章定时器及应用
计100个机器周期数所需的时间为多少?(所接晶振为12MHz) 最大可计数多少个机器周期? 如何实现定时? 如何得到所需的定时时间? 利用溢出中断,并给出相应的计数初值
定时时间为: t=计数值×机器周期 =(216-T0初值)×振荡周期×12
(二)模式 1 工作特点
当C/ T =1时,T0对外部输入计数。计数长度为: L=(216-T0初值)(个外部脉冲)
T 1初 值 2 16
T 1初 值 2
16
20ms
t
振 荡 周 期 12
10m s 1 12 6 6 10
T 1初值 60536 EC78H
∴(TH1)=ECH,(TL1)=78H
解:2)确定工作模式寄存器TMOD的值 ∵ 定时器T1工作于模式1的定时器工作方式, ∴ 高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取0。 ∴ (TMOD)=0001 0000 B = 10H
因此:(TL0)=0B0H
(TH0)=3CH
源程序清单(使发光二极管闪烁,每1S闪烁1次) #include<at89x51.h> unsigned char temp=5; main() void timer_0( )interrupt 1 { { TMOD=0x01; TH0=0X3C; TL0=0XB0; TH0=0X3C; temp--; TL0=0XB0; if(temp==0) ET0=1; { EA=1; temp=5; TR0=1; P1_0=~P1_0; P1_0=1; } while(1); } }
3)编程(定时器溢出中断方式) #include <at89x51.h> 思考:设定时器T0用于定 void main() { 时10ms,晶振为6MHz。 TMOD=0x10; 编程实现:P1.0输出周期 TH1=0xec; TL1=0x78; 为40ms,高电平宽为10ms, ET1=1; EA=1; TR1=1; 低电平宽为30ms的矩形波。 P1_1=1; 如何编程? while(1); } void timer_1() interrupt 3 { TH1=0xec; TL1=0x78; P1_1=~P1_1; }

计数器的结构.

计数器的结构.
0) TL0
TCON
工作 方式
TMOD
工作 方式
定时/计数器的结构框图
(1)结构组成部分
两个16位的二进制定时/计数器T0、T1
T0/T1分别由两个8位的计数器组成,均属SFR 寄存器 T0由TH0、TL0构成,字节地址为8CH、8AH T1由TH1、TL1构成,字节地址为8DH、8BH;
相关的控制寄存器
方式寄存器TMOD
控制寄存器TCON
(2)定时器/计数器的原理
振荡器 ÷12
C/T=0 C/T=1
控制信号TRx
加 1 计数器
TFx
申请 中断
TX端
定时功能
对片内机器周期进行计数,即每个机器周期
产生一 个计数脉冲,计数加1。 实时控制、实时采样、定时控制等。
(2)定时器/计数器的原理
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
模块四
定时器/计数器
4.1
定时器/计数器的结构
4.1 定时器/计数器的结构
可编程定时,通过对系统时钟脉冲计数而获得延时 ,MCS-51定时/计数器的优点:
可实现定时、计数功能,有利用实时控 制 不占用CPU时间 定时精度高,修改方便
1. 定时/计数器结构
T1
微 处 理 器 TH1 P3.5(T1) TL1
振荡器 ÷12
C/T=0
TX端
C/T=1
控制信号TRx
加 1 计数器
TFx
申请 中断
计数功能
对片外从T0(P3.4)、T1(P3.5)引脚输入的外
部脉冲信号进行计数,下降沿计数加1。计数频率为 晶振频率的1/24。 生产线上产品计数、检测电机转速等功能。

定时器计数器结构及使用方法

定时器计数器结构及使用方法

延时100us 延时50ms
100次计数 各种方式均可以 50000us延时 50000次计数
方式1
任意定时及计数的方法
当现实生活中有少于65536这个计数值的要求时,如包 装线上,一打为12瓶,一瓶药片为100粒,怎样来满足这个要 求呢?
如果是一个空的盆要1万滴水滴进去才会满,那么在开始 滴水之前就先放入一勺水,还需要10000滴吗?所以采用预置 数的方法,如果要计数100,就先放进65436,再来100个脉 冲,不就到了65536了吗?
MOV IE,#00H
;禁止中断
SETB TR0
;启动定时
LOOP:JBC TF0,LOOP1 ;查询计数溢出
AJMP LOOP
LOOP1:CPL P1.0 AJMP LOOP
;输出方波,初值自动装入
动物检疫的起源
➢动物检疫源于300多年前的欧洲。 ➢中国动物检疫始于1903年,目前已形成了较完善的动物检疫体系。 ➢国家质检总局和设在各地的出入境检验检疫机构承担着进出境动物的检验检疫工
饲养 ; 检验检疫机构对入场的动物进行临床检查和观察,按
规定进行采样和实验室检验; 对经检验检疫合格的动物签发《动物卫生证书》,并
根据需要加施检验检疫封识。
运输监管
出境动物,经产地检验检疫机构检验检疫合格的,从产地运往出 境口岸时,交通、铁路、民航等运输部门和邮电部门凭检验检疫 机构签发的单证办理承运和邮递手续;途中,国内其他部门不再
化程序又改如何。
解析:分析要求,确定并设置工作方式
定时器1 100ms 100000us延时 100000次计数
超出所有工作方式M值
采用计数循环 循环次数为2次
每次实际需要延时时间为100000/2-50000us 50000

单片机定时计数器PPT课件

单片机定时计数器PPT课件
需要注意:每个机器周期的S5P2期间,对外部输入进行采 样。如在第一个周期中采得的值为1,而在下一个周期 中采得的值为0,则计数器加1。由于确认一次下跳变至 少要用两个机器周期,即24个振荡周期,因此外部输入 的计数脉冲的最高频率为振荡器频率的1/24,同时输入 信号的高、低电平保持一个机器周期以上。 例如:选用6MHz频率的晶体,允许输入的脉冲频率为
此时,定时/计数器T1可为方式0、方式1 和方式2,作为串行口的波特率发生器。
14
工作于方式3的T0
15
T0工作于方式3时的T1
16
定时器的工作方式(总结)
方式0:13位定时计数器
• 注意:TLx的低5位和THx共同组成
方式1: 16位定时计数器 方式2: 自动重装入的8位定时计数器
• 溢出后TFx=1,同时由THx→TLx
5
6.2.1 TMOD:工作方式控制寄存器
GATE:门控位 GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0
引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或 INT1引脚出现的正脉冲的宽度。
GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。 C/T位:计数器模式和定时器模式的选择位 C/T=0,为定时器模式。内部计数器对晶振频率12分频后的脉冲
6
工作方式控制寄存器TMOD
M1、M0工作方式选择位
7
6.2.2 定时/计数器控制寄存器TCON
TF1位:T1计数溢出标志位。当T1计数溢出时,由硬件置 1,申请中断。进入中断服务程序后被硬件自动清0。 TR1位:T1计数运行控制位。由软件置1或清0。当GATE 位(TMOD.7)=0时,若TR1=1,允许T1计数;TR1=0时, 禁止T1计数。当GATE位=1时,TR1=1且INT1=1时, 允许T1计数。 TF0位:T0计数溢出标志位,功能同TF1。 TR0位:T0计数运行控制位,由软件置1或清0。当GATE 位(TMOD.3)=0时,若TR0=1,允许T0计数;TR0=0时, 禁止T0计数。当GATE位=1时,TR0=1且INT0=1时,允许 T重装入)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
35
答案
一、填空题 1、MCS-51单片机的51子系列含有 2 个 16 位的 加 法定 时器。 2、定时器T0有 4 种工作模式;定时器T1有 3 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 0 或模式 1 。 4、当定时器T0工作在方式 3 时,要占定时器T1的TR1和 TF1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 1000 kHz和 500 kHz。 6、TMOD中的GATE=1时,表示由 2 个信号控制定时器的 启停。
TMOD
振荡器 1 M0 ÷12 C/ T =0 TCON TL 0 TH 0 TF 0 中 TR 0 断
0
M1
C/ T GATE T0(P3.4) C/ T =1
(8位)(8位)

制 INT0(P3.2)
图6-5 方式1(16位计数器)
18
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入 的外部脉冲计数,当脉冲发生负跳变时,计数器加 1,计数值公式为: N=216 – x=65536 – x 其中:N为计数值,x是THx、TLx的初值。 x=65535(FFFFH)时,N最小值=1; x=0时,N最大值=65536; 则N的范围:1~65536。
34
三、计算题 1、MCS-51单片机的时钟晶振频率为6MHz,若要 求定时为0.2ms和20ms,定时器0工作方式为0, 方式1和方式2,其定时器初值各为多少? 2、单片机的晶振为6MHz,设计一个100ms的延时 程序,已知用定时器T0并工作方式1,使用中断 和查询两种方式。
3、设MCS-51单片机的晶振频率为6MHz,若由P1.1 引脚输出1000Hz方波,试编写其应用程序,使用 中断方式。
第六章 MCS-51定时器/计数器
1
6.1 定时器/计数器结构及工作方式 6.2 定时器应用举例
2
1
§6.1 定时器/计数器结构及工作方式 学习内容
1
2
3
结构
寄存器
工作方式
2
一、定时器/计数器结构
T1:是 16位加法计数器, T0:是16位加法计数器, 1、MCS-51 单片机内有两个可编程的定时器 /计数 分别由两个八位专用寄存器 分别由两个八位专用寄存器 器T0、 T1,其逻辑结构如下图所示 : TH1和TL1组成。 TH0和TL0组成。

TRx=0,关闭定时器/计数器
12
3、定时器初值寄存器 TH0 TL0 TH1 TL1 用于存放计数初值,具有自动加 1功能,加满后溢 出,它们的字节地址是: TH1(8位) 8DH TL1(8位) 8BH TH0(8位) 8CH TL0(8位) 8AH
根据定时器 / 计数器工作方式,计数长度可分别选 择:8位,13位,16位。
回答:
晶振频率为12MHz时,定时 器和计数器的最高计数频率 各为1MHz、500KHz .
7
二、定时器/计数器寄存器
分三类:

定时器/计数器方式寄存器:TMOD 定时器/计数器控制寄存器:TCON 定时器初值寄存器: TH0 TL0 TH1 TL1
8
1、定时器/计数器方式寄存器TMOD(89H)
28
二、定时器编程举例
[例6-3]:设单片机晶振频率fosc=12MHz,使用T0以方 式0产生周期为1ms的方波,并由P1.0输出。以中断方 式完成编程。 解:
1、TMOD配置
T1不用,有关位设置为0;
T0的GATE=0,C/T=0,M1M0=00(方式0)。
则TMOD初始化设置为00000000B,即00H。
D7 TMOD D6 C/T T1 方式控制 D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0
GATE
T0 方式控制
图 6-2 TMOD 寄存器各位定义
•GATE:门控位,用来控制定时器 /计数器的启动是 否受外部中断请求信号的影响。

GATE=0,不受影响,仅由控制位TRx控制;
0000H MAIN 000BH DS0 0100H SP, #30H TL0, #0CH TH0, #0F0H TMOD, #00H ET0 EA TR0 $ TL0, #0CH TH0, #0F0H P1.0
31
练习题:设单片机晶振频率fosc=6MHz,使用T1以方 式2产生周期为1ms的方波,并由P1.0输出。以中断方 式完成。
13
三、工作方式
MCS-51的定时器/计数器共有四种工作方式, 其中:
T0有方式0、1、2、3四种;
T1有方式0、1、2三种。
14
1、工作方式0(以T0为例)—13位定时器/计数器
TMOD 振荡器 ÷ 12 C /T = 0
0
0
M0
S2
TL0的高3位 没有用。
TCON TL 0 TH 0 TF 0 中 TR 0 断
4
计数器
是对外来脉冲进行计数。计数器对来自输入引脚 P3.4和P3.5的外部信号计数,外部脉冲的负跳变 (下降沿)触发计数。 检测一个由1到0的负跳变需要两个机器周期。所 以最高计数频率为晶体频率的1/24。
5
问题的提出
晶振频率为12MHz时,定 时器和计数器的最高计数 频率各是多少?
6
29
2、计算初值
产生1ms的方波,只需在P1.0端以0.5ms为周期交 替输出高低电平即可,因此定时时间为0.5ms 。
Tcy=12/fosc=12/12MHz=1us x=213–t/Tcy=8192-500us/1us=8192-500=7692 =1E0CH=1 11动装入)
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入的 外部脉冲计数,当脉冲发生负跳变时,计数器加1, 计数值公式为: N=28 – x=256 – x 其中:N为计数值,x是THx、TLx的初值。 x=255(FFH)时,N最小值=1; x=0时,N最大值=256; 则N的范围:1~256。
19
C/T=0时, S1接上面,T0作定时器,对机器周期 脉冲Tcy计数。 求定时时间由下式确定:
t=N· Tcy=(216 – x)Tcy= (65536 – x)Tcy
其中: t为定时时间。 求计数初值计算公式: x=216 – t/Tcy=65536 – t/Tcy
20
3、工作方式2(以T0为例)—8位定时器/计数器
11
2、定时器/计数器控制寄存器TCON(88H,可位寻址)
D7 TCON TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0
x=0、1
用于外部中断 图6-3 TCON寄存器各位定义
•TRx: Tx的运行控制位。

TRx=1,启动定时器/计数器
0 1 TMOD M0 M1 C/T GATE 振荡器 ÷12 C/T=0 TL0 (8位) T0 C/T=1 控 制 INT 0 重新装入 TH0 (8位) TCON TF0 TR0 中 断
TL0作为8位加法计数器, TH0作为初值寄存器 用。TL0加法计数器溢出时置TF0=1,而且发出 重装载信号,使三态门打开,将TH0中的初值自 动送入TL0。
10
[例6-1]: 某一系统使T1作为定时器,采用方式2,使T0 作为计数器采用方式1,T0、T1的门控位均为0,请设 置TMOD的值。
D7 TMOD GATE D6 C/T T1 方式控制 D5 M1 D4 D3 GATE D2 C/T D1 M1 D0
M0
M0
T0 方式控制
0
0
1
0
0
1
0 1
即:TMOD=25H.
=8192 – 250=7942=1F06H
=1111100000110B 则TL0=00000110B=06H, TH0=11111000B=0F8H
24
②工作方式1:
x= 216 – t/Tcy=216 –500us/2us
=65536 – 250=65286=FF06H
则TL0=06H,TH0=0FFH
M1
C/ T GATE T0(P3.4)
S1
(低5位) (高8位)
C/ T =1 控 制
INT0(P3.2)
图 6- 4 方式 0 ( 13 位计数器 ) 15
C/T=1,S1接下面,T0作计数器,对P3.4引脚输入 的外部脉冲计数,当脉冲发生负跳变时,计数器 加1,计数值公式为: N=213 – x=8192 – x 其中:N为计数值,x是THx、TLx的初值。 x=8191(1FFFH)时,N最小值=1; x=0时,N最大值=8192。 则N的范围:1~8192。
16
C/T=0时, S1接上面,T0作定时器,对机器周期 脉冲Tcy计数。 求定时时间由下式确定:
t=N· Tcy=(213 – x)Tcy= (8192 – x)Tcy
其中: t为定时时间。 求计数初值计算公式: x=213 – t/Tcy=8192 – t/Tcy
17
2、工作方式1(以T0为例)—16位定时器/计数器
32
习题课
一、填空题 1、MCS-51单片机的51子系列含有 个 位的 法定时 器。 2、定时器T0有 种工作模式;定时器T1有 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 或模式 。 4、当定时器T0工作在方式 时,要占定时器T1的TR1和 TF1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 kHz和 kHz。 6、TMOD中的GATE=1时,表示由 个信号控制定时器的 启停。
22
相关文档
最新文档