第六章单片微机的定时器计数器原理及应用

合集下载

单片机讲义1(第六章定时器计数器)

单片机讲义1(第六章定时器计数器)

脚与T0的逻辑关系框图如下图所示。
定时器/计数器T0分为2 个独立的8位计数器:TL0和 TH0。 TL0使用T0的状态控制位 C/ T GATE、TR0、 INT0 ,而TH0被 固定为1个8位定时器(不能 为外部计数模式),并使用 定时器T1的状态控制位TR1 和TF1,同时占用定时器T1 的中断请求源TF1。
6.2.2 方式1
6.2.3 方式 2
6.2.4 方式 3
在方式3下,T1只作 波特率发生器。在这样 情况下,T1将TF1、TR1 资源出借给T0使用。因 此,在方式3下,T0可以 构成两个独立的计数器 结构,如图6-6(a)和 图6-6(b)所示。
TL0构成一个完整的8 位定时器/计数器,而 TH0则是一个仅能对 fOSC/12脉冲计数的8位 定时器。
(l)计算初值 初值的计算公式为: X 2 n
设:需要装入T0的初值为X,则有:
t f
osc
12
16
其中:n=13、16、8 (由计数器的的工作方 式来决定n 的取值)
∵X= 2
n
t . f osc 现 n 16 12
t 1 ms
f osc 6 M Hz
∴X= 2
∵ X= 2
n

t . f osc 12
现 n 16 f osc 6 M Hz t 100 ms
所以:X=15 536=3CB0H 因此:TH0=3CH, TL0=B0H
(3)10次计数的实现 对于中断10次计数,可使T0工作在定时方式,采用循环程序的方法实现。 (4)程序设计 ORG 0000H RESET:LJMP MAIN ;上电,转主程序入口MAIN 0RG 000BH ;T0的中断入口地址 LJMP IT0P ;转T0中断处理程序ITOP ORG 1000H MAIN: MOV SP,#60H ;设堆栈指针 M0V B,#0AH ;设循环次数10次

单片机原理及应用 第06章定时计数器

单片机原理及应用  第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。

单片机第六章定时器

单片机第六章定时器
计数溢出时,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输出一个低电平脉冲信号(简化的打包 操作)。

第6章 单片机的定时器计数器

第6章 单片机的定时器计数器
T1(P 3.5)
T0(P 3.4)
T0 (8CH) (8AH)
TH0(8位) TL0 (8位)
7 0 7 0
T1 (8DH) (8BH)
TH1(8位) TL1 (8位)
7
0
7
0
CPU
溢 启 出 动 溢 出
启 动
工作方式 TMOD(89H)
工 作 方 式
TCON(88H)
定时/计数器逻辑结构
T0
2个16位T/C分别由8位计数器TH0、TL0、 TH1、TL1组成 “+1” 计数器 T1 控制寄存器TCON:控制T/C的启停、中断等
第6章 单片机的定时器/计数器
6.1 定时/计数器的结构与工作原理
6.2 定时器/计数器的控制
6.3 定时/计数器的工作方式
6.4 定时/计数器的编程和应用
实现定时一般有三种方法: 利用软件实现(延时程序); 优点:简单,控制方便;缺点:CPU效率低。 硬件实现,专门设计一个单稳态定时器: 优点:CPU效率高;缺点:修改参数麻烦。 利用计数器实现 1us 输入脉冲 计算机一般利用第三种方法实现 8位 计数器 预置数 256us 溢出
控制T0
GATE C/T M1 M0 0 0 0 1
查 询 方 式
#include <reg51.h> sbit P1_0=P1^0; void main (void) { TMOD=0x01; //定时器0方式1 TR0=1; for( ; ; ) { TH0=(65536-1000)/256; //置计数初值 TL0=(65536-1000)%256; while(!TF0); //查询等待TF0复位 P1_0=!P1_0; //定时时间到P1.0反相 TF0=0; //软件清TF0 } }

第九讲 定时器&计数器

第九讲 定时器&计数器



计数寄存器

单片机内部有两个16位的定时/计数器T0和T1。 每个定时/计数器占用两个特殊功能寄存器:
T0由TH0和TL0两个8位计数器组成,字节地址分别是
8CH和8AH。
T1由TH1和TL1两个8位计数器组成,字节地址分别是 8DH和8BH。 用于存放定时或计数的初值。当计数器工作时,其值 随计数脉冲做加1变化。
微机原理与接口技术
Microcontrollers
李光 王酉
教 授 PhD, DIC, MIET 博士 PhD, MIET
杭州 • 浙江大学 • 2009
第六章 定时器/计数器
§6-1 §6-2 §6-3
定时器/计数器概述 定时器/计数器 定时器/计数器的应用
§6-1
定时器/计数器概述
T0(P3.4)、T1(P3.5)的脉冲
每输入一个脉冲,计数器“+1 实际工作时,CPU在每个机器周期的S5P2采样外部输
入引脚T0(T1),若一个机器周期的采样值为高电平, 而下一个机器周期的采样值为低电平(即检测到一个下 降沿),则计数器“+1”,完成一次计数操作。
>TM
>TM
6-2-2 定时器/计数器工作原理
§6-2 定时器/计数器
6-2-1 6-2-2 6-2-3 6-2-4
组成结构 工作原理 控制寄存器 工作方式
6-2-1 定时器/计数器组成结构

MCS51单片机内有2个独立的16位的可编 程定时器/计数器T0和T1 定时器/计数器T0、T1由以下几部分组成
计数器TH0、TL0和TH1、TL1 特殊功能寄存器TMOD、TCON 时钟分频器 内部总线 输入引脚T0、T1

定时器和计数器的工作原理

定时器和计数器的工作原理

定时器和计数器是电子设备中常用的两种工作原理。

它们都是通过一定的逻辑电路或芯片来实现特定功能的,为各种应用提供了灵活且准确的计时和计数功能。

定时器的工作原理定时器的工作原理主要是基于计数器和比较器。

它通常由一个计数器和一个比较器组成。

计数器从零开始计数,当计数到设定的值时,比较器发出一个信号,触发相应的动作。

具体来说,定时器的输入信号是时钟信号,这个信号可以是系统的时钟信号,也可以是外部的输入信号。

当定时器接收到输入信号后,计数器开始计数。

当计数到设定的值时,比较器将输入信号与预设值进行比较,如果相等,则发出一个触发信号。

触发信号可以控制输出门的开启或关闭,从而控制输出信号的电平。

当定时器触发时,输出信号的电平会从低电平变为高电平,或者从高电平变为低电平。

这个输出信号可以用于控制其他电路或设备的工作。

计数器的工作原理计数器的工作原理主要是基于触发器的翻转和组合逻辑电路。

它通常由多个触发器和组合逻辑电路组成。

具体来说,计数器的输入信号是时钟信号,这个信号可以是系统的时钟信号,也可以是外部的输入信号。

当计数器接收到输入信号后,触发器开始翻转。

在每个时钟周期内,触发器都会翻转一次。

当触发器翻转到一定的次数后,组合逻辑电路会输出一个触发信号。

触发信号可以控制输出门的开启或关闭,从而控制输出信号的电平。

当计数器触发时,输出信号的电平会从低电平变为高电平,或者从高电平变为低电平。

这个输出信号可以用于控制其他电路或设备的工作。

在计数器中,每个触发器的状态都会被传递到下一个触发器,从而实现连续的计数。

计数器的计数值可以通过改变组合逻辑电路的连接方式来实现不同的功能和计数值。

总的来说,定时器和计数器的工作原理都是基于特定的逻辑电路或芯片来实现特定的计时和计数功能。

它们的应用范围广泛,可以用于各种电子设备中,如定时开关、定时报警器、计数器等。

第六章定时器及应用

第六章定时器及应用
计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; }

第6章 定时器计数器

第6章 定时器计数器
28
期间,计数器加1。由于确认一次负跳变要花 个机器周期, 确认一次负跳变要花2个机器周期 确认一次负跳变要花 因此外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率 1/24。 例如,选用6MHz频率的晶体,允许输入的脉冲频率最高为 250kHz。如果选用12MHz频率的晶体,则可输入最高频 率为500kHz的外部脉冲。 对于外部输入信号的占空比并没有什么限制,但为了确保某 占空比并没有什么限制 占空比并没有什么限制 一给定电平在变化之前能被采样一次,则这一电平至少要 至少要 保持一个机器周期。 保持一个机器周期
T 、GATE、TR0、
22
TF0 ,而TH0被固定为一个 位定时器 固定为一个8位定时器 固定为一个 位定时器(不能作为外部计数 模式),并使用定时器T1的状态控制位TR1和TF1,同时 占用定时器T1的中断请求源TF1。 2.T0工作在方式 时T1的各种工作方式 . 工作在方式 工作在方式3时 的各种工作方式 一般情况下,当T1用作串行口的波特率发生器时,T0才工 当 用作串行口的波特率发生器时 用作串行口的波特率发生器时, 才工 作在方式3。 作在方式 。T0处于工作方式3时,T1可定为方式0、方式 1和方式2,用来作为串行口的波特率发生器,或不需要中 断的场合。
18
定时器/计数器的方式 为自动恢复初值 方式2为自动恢复初值 方式 为自动恢复初值(初值自动装入)的 8位定时器/计数器 位定时器 计数器 计数器。 TLx(x = 0,1)作为常数缓冲器,当TLx计数溢出时,在溢出 自动将THx中的初值送至 中的初值送至TLx, 标志TFx置“1”的同时,还自动将 自动将 中的初值送至 使TLx从初值开始重新计数。定时器/计数器的方式2工作 过程如图6-7所示。

定时计数器的工作原理

定时计数器的工作原理

定时计数器的工作原理定时计数器是一种常见的计时器,用于测量时间间隔,控制定时操作或执行循环等。

该计数器具有一定的精度和稳定性,其工作原理及应用场景也非常广泛。

下面我们将为大家介绍定时计数器的工作原理,包括硬件和软件实现。

硬件实现定时计数器通常由一个计数器和一个时钟源组成。

时钟源提供固定的时钟信号,计数器通过计数来测量时间间隔或执行定时操作。

时钟源通常是晶振,可以提供极高的稳定性和精度。

计数器可以是简单的二进制计数器,也可以是复杂的倒计数器和分频器等。

不同类型的计数器可以根据不同的应用场景进行选择。

在定时计数器的设计中,需要考虑到时钟信号的频率和计数器的位数。

时钟信号的频率决定了时间分辨率的大小,而计数器的位数则限制了计数器的最大值。

一个10位二进制计数器可以计数到1023,而一个16位二进制计数器可以计数到65535。

选取合适的时钟频率和计数器位数可以满足不同的应用要求。

定时计数器还可以通过外部信号触发计数器开始计数。

这种触发方式通常称为外部触发或同步触发,可以提高计数器的精度和控制性能。

在测试仪器中,可以通过外部触发控制测试时序,在控制系统中,可以通过外部触发控制执行任务。

在嵌入式系统中,定时计数器通常由软件实现。

软件实现的定时计数器主要依赖于系统时钟和定时中断。

系统时钟提供了一个固定的时钟信号,一般由晶振或外部时钟源提供。

定时中断是一个由硬件实现的中断,可以周期性地触发软件中断服务程序的执行。

定时计数器通过定时中断实现定时操作和时间测量。

每当定时中断发生时,中断服务程序会对定时计数器进行更新,并执行相应的定时操作。

在控制系统中,可以通过定时计数器实现周期性的任务执行,定时采样和控制输出等功能。

在嵌入式系统中,定时计数器还可以用于实现延时等操作。

1. 定时中断的触发频率:定时中断的触发频率决定了定时计数器的分辨率和响应速度。

合理的触发频率可以提高定时计数器的精度和控制性能。

2. 定时计数器的位数:定时计数器的位数决定了定时器的最大值和分辨率。

定时器 计数器的工作原理

定时器 计数器的工作原理

定时器计数器的工作原理
定时器计数器的工作原理是通过使用一个稳定的时钟源来驱动计数器进行计数。

计数器有一个初始值,每次时钟源产生一个时钟脉冲,计数器就会递增一次。

当计数器达到设定的值时,会触发一个中断或产生某种特定的事件。

定时器计数器通常用于实现定时功能,如延时、定时触发等。

通过设置计数器的初始值和设定的计数器值,可以实现不同的定时时间。

当计数器达到设定的值时,可以触发中断或执行一段特定的代码,从而实现相应的定时功能。

定时器计数器的工作原理是基于时钟脉冲的递增计数。

时钟脉冲可以来自外部的时钟源,也可以来自内部的时钟发生器。

计数器的工作频率由时钟源决定,计数器每次加1所需的脉冲数取决于时钟源频率与计数器选择的分频系数。

通过调整时钟源频率和计数器的分频系数,可以实现不同的计数速率,进而实现定时器的不同计时范围。

例如,当时钟源频率为1MHz,计数器分频系数为1000时,计数器每计数1000个时钟脉冲就会触发中断,从而实现1秒的定时功能。

定时器计数器的工作原理基于时钟的周期性和计数器的递增计数,通过合理的设置和调整,可以实现各种不同的定时功能。

第6章 计数器和定时

第6章 计数器和定时

+1计数器
溢出
中断
控制 开关
计数原理——定时器 单片机内部脉冲每输入一个脉冲,计数器加1,当 加到计数器各位都为1时,再输入一个脉冲,计数 器各位全变为0,溢出,中断标志置1(SFR中 TCON的TF0、TF1),从而向CPU申请中断。 由预置计数值就可以算出从加1计数器启动到计满 溢出所需的时间,即定时时间。 8位28 = 256;13位213 = 8192;16位 216 = 65536
可编程定时/计数器。
6.1 定时/计数技术概述
在单片微机应用系统中,常常会需要定时或计数,通常采用以 下三种方法来实现: 1.硬件法 硬件定时功能完全由硬件电路完成,不占用 CPU 时间。但 当要求改变定时时间时,只能通过改变电路中的元件参数来实 现,很不灵活。 2.软件法 软件定时是执行一段循环程序来进行时间延时,优点是无 额外的硬件开销,时间比较精确。但牺牲了CPU的时间,所以软 件延时时间不宜长,而在实时控制等对响应时间敏感的场合也 不能使用。
8E
TF0
8D
TR0
8C
IE1
8B
IT1
8A
IE0
89
IT0
88
• 8位寄存器,可位寻址 • 低4位用于外部中断INT0、INT1控制 • 高4位用于T0、T1控制
3、定时/计数器控制寄存器TCON
TCON
位地址
TF1
8F
TR1
8E
TF0
8D
TR0
8C
IE1
8BIT18A NhomakorabeaIE0
89
IT0
88
• TR0(TCON.4):T0的运行控制位 当GATE=0时,TR0=0则T0停止运行;TR0=1时 T0允许运行 • TF0(TCON.5):T0溢出兼中断申请标志

第6章定时器及应用李朝青--单片机原理及接口技术北京航空航天大学出版社第3版课件

第6章定时器及应用李朝青--单片机原理及接口技术北京航空航天大学出版社第3版课件

TH0
TL0
×××
8位
5位
• 定时时间为: t=(213-T0初值)×振荡周期×12 • 用于计数工作方式时,计数长度为: L=(213-T0初值)(个外部脉冲)
04:34
单片机原理及接口技术
三、模式 0 的应用举例
例6-1:设晶振为12MHz,试计算定时器T0工作于模式0时的最 大定时时间T。
解:当T0处于工作模式0时,加1计数器为13位。
04:34
单片机原理及接口技术
图6-5 控制寄存器TCON的位定义
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TCON (88H)
TF1
TR1
TF0
TR0 IE1
IT1
IE0 IT0
04:34
单片机原理及接口技术
① TF1(TCON.7) —T1溢出标志位。 当T1溢出时,由硬件自动使中断触发器TF1置1, 并向CPU申请中断。
• 每个定时器都可由软件设置为 定时工作方式或
计数工作方式。由特殊功能寄存器TMOD和TCON所
控制。
• 定时器工作不占用CPU时间,除非定时器/计数器 溢出,才能中断CPU的当前操作。
• 定时器/计数器有四种工作模式。其中模式0-2对 T0和T1是一样的,模式3对两者不同。
04:34
单片机原理及接口技术
;启动定时 ;查询定时时间到否
SJMP LP NEXT:MOV TL0,#18H
;重装计数初值
MOV TH0,#63H
CPL P1.0
;取反
SJMP LP
;重复循环
04:34
单片机原理及接口技术
(4)采用定时器溢出中断方式的程序

单片机定时器计数器工作原理

单片机定时器计数器工作原理

单片机定时器计数器工作原理单片机定时器计数器是单片机中的一个重要模块,它通常被用于实现定时功能和计数功能。

在单片机中,定时器计数器可以被配置成不同的工作模式,以满足不同的应用需求。

本文将介绍单片机定时器计数器的工作原理,包括其基本结构、工作模式和应用示例,旨在帮助读者深入理解该模块的功能和实现原理。

一、单片机定时器计数器的基本结构单片机的定时器计数器通常由一个或多个计数器、预分频器、控制寄存器和比较/捕获寄存器组成。

计数器用于记录时间的流逝或事件的发生次数,预分频器用于对计数器的时钟信号进行分频,控制寄存器用于控制定时器的工作模式和特性,比较/捕获寄存器用于保存比较值或捕获值。

这些组成部分一起协同工作,实现了定时器计数器的各项功能。

二、单片机定时器计数器的工作模式单片机的定时器计数器可以按照不同的工作模式进行配置,主要包括定时模式、计数模式、PWM 模式和输入捕获模式等。

在定时模式下,定时器计数器可以按照预先设定的时间间隔产生中断或触发输出,用于实现周期性的定时功能;在计数模式下,定时器计数器可以记录外部事件的发生次数,用于实现计数功能;在 PWM 模式下,定时器计数器可以发生脉冲宽度调制信号,用于控制电机速度或 LED 亮度等;在输入捕获模式下,定时器计数器可以记录输入信号的时间戳,用于测量脉冲信号的周期或脉宽等。

通过灵活地设置工作模式,单片机的定时器计数器可以实现多种复杂的定时和计数功能。

三、单片机定时器计数器的应用示例1. 基于定时模式的延时实现假设我们需要在单片机中实现一个 1 秒的延时功能,可以通过配置定时器计数器的定时模式,设置计数器初值和预分频器的分频系数,当定时器计数器溢出时产生中断或触发输出,从而实现准确的 1 秒延时。

2. 基于计数模式的脉冲计数假设我们需要在单片机中实现对外部脉冲信号的计数功能,可以通过配置定时器计数器的计数模式,将定时器计数器连接到外部脉冲信号源,从而实现对外部脉冲信号的准确计数。

定时器计数器工作原理

定时器计数器工作原理
定时器计数器工 作原理
单片机原理及应用
教学目标
>> (1)了解定时器/计数器的作用; >> (2)掌握定时器/计数器工作原理
及定时、计数的参数计算。
1.定时器/计数器的作用
作用一 作用二
计数:计数是指对外部事件的个数进行统计,其实质就是对外 部输入脉冲的个数进行检测计数。
定时:该功能也是依托计数功能来完成,定时器脉冲由单片机 内部振荡器经12分频后产生的。
结论
水杯至溢出 共 接 157 滴 水;耗时 157S
2. 定时/计数原理
加法计数—定时器、计数器
计数脉冲信号
n位计数器存储单元
….
最大计数值= 2n
2. 定时/计数原理
加法计数—定时器、计数器
若要求计数个数为N,则计数器初值X应设置为: X= 2n-N
….
初值X
2. 定时/计数原理
加法计数举例
t= N.T
51单片机的定时脉冲频率为系统晶振频率的12分频, 即一个机器周期。
谢谢观看!
单片机原理及应用
计数器是8位二进制存储空间,若要求计数个数为3,则计数器初值X应设置为:
X=28-3=256-
253
3=253=11111101B=0FDH
254
初值X
255 溢出
2. 定时/计数原理
加法计数定时时间
若要求计数个数为N,则 计数器初值X应设置为:
X= 2n-N
计数脉冲周期位T, 则定时时间大小t为:
注意:51单片机中的定时器和计数器是一个部件,定时器和计 数器本质上是一致的
2. 定时/计数原理
单片机 计数原理
加法计数 举例
水滴间隔 时间1S

定时器计数器工作原理

定时器计数器工作原理

定时器计数器工作原理
定时器计数器工作原理是利用双色LED分别显示计数值的方法,实时记录时间。

定时器计数器通常由一个时钟信号源和一个计数寄存器组成。

首先,时钟信号源提供完整的周期性时钟信号,如晶振或外部脉冲源。

该信号被传输到计数寄存器中,开始计数。

计数寄存器是一个二进制寄存器,能够计数时钟信号的脉冲次数。

当计时器启动时,计数寄存器开始从初始值开始计数,然后每接收到一个时钟信号,计数值就会加一。

计数器通过一个高速时钟信号和一个除频器来控制计数频率。

除频器可以通过设置不同的分频比来改变计数频率,从而实现不同的计时精度。

双色LED用来显示计时值。

例如,一个红色LED用于表示小时位,一个绿色LED用于表示分钟位。

当计数器的值递增到下一个单位时,相应的LED会亮起,显示出当前的计数值。

通过以上步骤循环执行,定时器计数器可以实时记录时间,并在LED上显示出来。

这种设计简单、可靠,广泛应用于计时器、时钟等各种设备中。

单片机原理及应用教程c语言版第6章mcs51单片机的定时器计数器

单片机原理及应用教程c语言版第6章mcs51单片机的定时器计数器

方波周期T
定时时间t:
周期为1000µs的方波要求 t =周期/2 = 1000/2 = 500(µs)
定时时间t
对应计数值:N = t/机器周期 = 500/1 = 500
N=500>256,所以选择模式1。
模式字:
TMOD=0000 0001B = 0x01 (3)计算初值X
X = 65536 – N = 65036 = 0xfe0c
6.1.2 MCS-51单片机定时器/计数器的工作原理
• 控制信号TRx=1时,定时器启动。 • 当定时器由全1加到全0时计满溢出,TFx=1,
向CPU申请中断;同时,定时器从0开始继续 计数。
6.2 定时器/计数器T0、T1
主要内容
6.2.1 T0、T1的特殊功能寄存器 6.2.2 T0、T1的工作模式 6.2.3 T0、T1的使用方法
计数信号由片内振荡电路提供,振荡脉冲n分 频送给计数器,每个机器周期计数器值增1。 • C/T =1 ,为计数器
计数信号由Tx引脚、和P1.0)输入,每输入一有 效信号,相应的计数器中的内容进行加1
计数器的最高计数频率为:fosc/24 1)每1个输入脉冲的下降沿使计数器计1个数 2)每1个机器周期对引脚采样1次,当上1个机器 周期采样为高、本机器周期采样为低为1个下降沿。
6.2.2 T0、T1的工作模式
信号源
振荡器 12分频 C/T=0
0
T0(P3.4)
TR0 GATE (P3.2)
C/T=1 1
& +
运行控制
TL0 TH0 (8位) (8位)
计数器
TF0 中断
溢出中断
图6-6 T0模式1原理结构
6.2.2 T0、T1的工作模式

5 定时计数器

5 定时计数器

主程序
定时器T1溢 出中断服 务子程序
单片微机 原理与应用 编程实现在P1.0引脚上输出周期为2ms的方波。
例5-3 利用T0的工作模式0产生1ms的定时,
设单片机的晶振频率ƒosc=12MHz。 解: 方法:定时1ms,对P1.0取反,然后继续定时 (1)设置模式字 2ms TMOD= **** 0000B =00000000B=00H 1ms (2)计算初值
单片微机 原理与应用
5. 3. 3 模式2及其应用
一、模式2时的结构和工作原理
与以前模式区别在于: 可连续计数 计数器为8位自动重装初值计数器,在循环定时 或计数时,不必反复预置计数初值。
单片微机 原理与应用
二、特短, 计数值N和定时时间t的计算 : N= 28- 初值X t=(28- 初值X) *机器周期Tcy 最大计数值为: 28 =256 说明:通常使用定时期T1工作在模式2作为串口 的波特率发生器。
单片微机 原理与应用
单片微机 三、应用举例 原理与应用 例5-1 使用定时器T0定时时间为1ms,选择工 作模式0,ƒosc=6MHz。试确定T0初值,计算最大 定时时间T。
解: (1)求T0的初值X 由公式:t=(213-T0初值)*机器周期Tcy t=1ms=1000μs 机器周期Tcy=12/ƒosc=12/6000000s=2μs 得 1000=( 213 -X)*2 所以初值 X=8192-500=7692=1111000001100B (一定要写全13位) TL0: 00001100B=0CH TL0的低5位和TH0的8位 TH0:11110000B=F0H
因Tcy=1μs,得 10000= (216-X)*1, 10000=65536-X X=55536=D8F0H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中断矢量001BH
⑴T0方式3下的T0
在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。 ▲ TL0:8位定时/计数器,使用T0原有的控制寄存器资 源:TF0,TR0,GATE,C/T,INT0,中断矢量等; ▲ TH0:8位定时器,占用T1的中断溢出标志TF1,运行控 制开关TR1,中断矢量001BH,只能对片内机器周期脉冲计数
复位后,两个寄存器全部清零。
6.3.2 定时器/计数器T2的工作方式
T2的工作方式用控制位CP/RL2(T2CON.0)和RCLK +TCLK来选择。T2有3种工作方式,如表6-2所示:捕获方式、 自动重装载方式和波特率发生器方式。
⒈ 捕获方式
在一定条件下,自动将计数器TH2和TL2的数据读入捕获寄存器 RCAP2H和RCAP2L,亦即TH2和TL2内容的捕获是通过捕获寄 存器RCAP2H和RCAP2L来实现的。其工作原理可参见图6-7。
当CP/RL2=0时,选择自动重装载方式。 若T2的中断是被允许的,则无论发生TF2=1还是EXF2 =1,CPU都会响应中断,此中断向量的地址为002BH。响应 中断后,应用软件撤除中断申请。TF2 和EXF2都是直接可寻 址位,可采用CLR TF2和CLR EXF2指令实现撤除中断申请的 功能。
触发 方式
89H IE0
中断 标志
88H IT0
触发 方式
⒊ T0、T1 的数据寄存器——TH1、TL1,TH0、TL0 ⒋ 定时器/计数器中断
⑴ 中断允许寄存器IE
⑵ 中断矢量 ⑶ 中断优先级寄存器IP
6.2.2 定时器/计数器T0、T1 的工作方式
T0:有4种工作方式可选(方式0,1,2,3)
当CP/RL2=l时,选择捕获方式。
捕获操作发生于下述两种情况下:
(1)寄存器TH2和TL2溢出时,打开重装载三态缓冲器,把TH2和 TL2的内容自动读入到捕获寄存器RCAP2H和RCAP2L中。同时, 溢出标志TF2置1,申请中断。 ⑵ 当 EXEN2=l且 T2EX(P1.1)端的信号有负跳变时,将发 生捕获操作。同时标志EXF2置1,申请中断。
T1:有3种工作方式可选(方式0,1,2)
⒈ 方式0--13位定时器/计数器(M1=0、M0=0)
最大计数值213 = 8192,当fosc=12MHZ时,Tmax=8192μS
B=TRx· (GATE+INTx)
⒉ 方式1----16位定时器/计数器(M1=0、M0=1)
最大计数值216 = 65535,当fosc=12MHZ时,Tmax=65535μS
位功能 TF2
EXF2 RCLK TCLK EXEN2 TR2
C/T2 CP/RL2
▲TF2——T2 溢出标志, T2溢出时置位并申请中断,软件清除。
在波特率发生器方式下,即RCLK=1或TCLK=1时,定时器溢 出不对TF2置位。
▲EXF2——T2外部标志,EXF2要靠软件来清除
当EXEN2=1,且T2EX引脚上出现负跳变而造成捕获或重装载 时EXF2置位,申请中断。若已允许T2中断,CPU将响应中断, 转向中断服务程序。
⒉ 方式控制寄存器——T2MOD
D7 D6 D5 D4 D3 D2 D1 T2OE D0 DCEN
T2OE:T2输出允许位。 当T2OE=1时,允许时钟输出至T2引脚。 仅对80C54/80C58有定义。 DCEN:向下计数允许位 DCEN=1, T2向下(减)计数
DCEN=0, T2向上(加)计数
▲RCLK:接收时钟标志,软件置位或清除 用以选择T2或T1作串行口接收波特率发生器。 RCLK=1时,用T2溢出脉冲作为串行口的接收时钟; RCLK=0时,用T1的溢出脉冲作接收时钟。 ▲TCLK:发送时钟标志,软件置位或清除 用以选择T2或T1作串行口发送波特率发生器。 TCLK=l时,用T2溢出脉冲作为串行口的发送时钟; TCLK=0时,用T1的溢出脉冲作发送时钟。 ▲EXEN2:T2外部允许标志,软件设置或清除 允许或禁止用外部信号来触发捕获或重装载操作。 EXEN2=l时,若T2未用作串行口的波特率发生器,则在 T2EX端出现的信号负跳变时,将造成T2捕获或重装载,并 置EXF2标志为 1,请求中断。 EXEN2=0时,T2EX端的外部信号不起作用
若C/T2=1,选用外部脉冲,该脉冲由T2端输入,每当外部脉冲 负跳变时,计数器值增l。外部脉冲频率不超过振荡器频率的l/ 24。
由于脉冲溢出时,RCAP2H和RCAP2L的内容会自动装载 到TH2和TL2中,故波特率的值还决定于RCAP2H和RCAP2L装 载初值。 RCLK+TCLK还用于选择T1还是T2作串行通信的波特率 发生器。由图6-9可看出,这两位的值用来控制两个电子开关的 位置。值为0时,选用T1做波特率发生器;值为1时,选用T2做波 特率发生器。 当T2用做波特率发生器时,TH2的溢出不使TF2置位,不产生 中断。因而,当T2用做波特率发生器时,没有必要禁止中断。
⒊ 波特率发生器方式
当 T2CON中 RCLK十TCLK= 1,其溢出脉冲用做串行口的时 钟。 T2的波特率发生器方式下的结构图示于图6-9中。
RCLK选择串行通信接收波特率发生器,TCLK选择发送 波特率发生器,发送和接收的波特率可以不同。
T2的输入时钟可由内部时钟决定,也可由外部脉冲决定。
若C/T2=0,选用内部时钟,对机器周期计数,计数脉冲的频 率为1/12振荡器频率.
若T2的中断是被允许的,则无论发生TF2=l还是EXF2=l,CPU 都会响应中断。响应中断后,应用软件清除中断申请。
⒉ 自动重装载方式
在 一 定 条 件 下 , 自 动 地 将 捕 获 寄 存 器 RCAP2H 和 RCAP2L的数据装入计数器TH2和TL2中。
捕获寄存器RCAP2H和RCAP2L在这里起预置计数初值 的功能。对8XC52,其工作原理可参见图6-8。
1
1
0
1
方式2
方式3
自动重装载的8位计数器
T0分为两个8位计数器,T1停止计数
⒉ 定时器/计数器T0、T1 的控制寄存器——TCON
位地址
位名称 功能
8FH TF1 T1
中断 标志
8DH 8CH 8BH TF0 TR0 IE1 启动 T0 启动 中断
T1 中断 标志 T2 标志
8EH TR1
8AH IT1
上输入的一个1到0的跳变进行计数增l。 ◆定时∶是对单片微机内部的机器周期进行计 数,从而得到定时。 ◆波特率发生器∶80C51的定时器/计数器还可 用作串行接口的波特率发生器。
6.2 定时器/计数器T0、T1
T0、T1 的内部结构简图:
图6–1 定时器/计数器T0、T1的内部结构框图
6.2.1 与定时器/计数器T0、T1有关的特殊功能 寄存器----TMOD、TCON、TH、TL、IE、IP ⒈ T0、T1 的方式寄存器——TMOD
D7 D6 D5
M1
D4
M0
D3
D2
T0
D1
M1
D0
M0
GATE C/T ◆ GATE
GATE C/T
T1 门控位 图6–2
◆C/T:功能选择位
定时时钟脉冲:1/12fosc
最高计数频率:1/24fosc ◆M1、M0:工作方式选择位。
M1 M0 0 0 0 1 工作方式 方式0 方式1 计数器配置 13位计数器 16位计数器
⒊ 数据寄存器:TH2、TL2
T2有一个16位的数据寄存器,是由高8位寄存器TH2和低8 位寄存器TL2所组成。它们都只能字节寻址,相应的字节地址 为CDH和CCH。 复位后,这两个寄存器全部清零。 ⒋ 捕获寄存器:RCAP2H、RCAP2L
T2中的捕获寄存器是一个16位的数据寄存器,由高8位寄存 器RCAP2H和低8 位寄存器RCAP2L所组成,相应的字节地址为 CBH和CAH。 捕获寄存器RCAP2H和RCAP2L,用于捕获计数器TL2、 TH2的计数状态,或用来预置计数初值的。TH2、TL2和 RCAP2H、RCAP2L之间接有双向缓冲器(三态门)。
当T2用做波特率发生器时,若EXEN2置1,则T2EX端的信号产 生负跳变时,EXF2将置1,但不会发生重装载或捕获操作。这时, T2EX可以作为一个附加的外部中断源。
6.4 监视定时器(看门狗)T3
T3俗称看门狗(watchdog),它的作用是强迫单片 微机进入复位状态,使之从硬件或软件故障中解脱出来。 在实际应用中,由于现场的各种干扰或者程序设计错误, 可能使单片微机的程序进入了“ 死循环” 或“ 非程序 区”(如表格数据区) 之后,在一个设定的时间内,假如用 户程序没有重装T3,监视电路将产生一个系统复位信号, 强迫单片微机退出“ 死循环” 或“ 非程序区” ,重新进 行“ 冷启动” 或“ 热启动” 。 在飞利浦80C552中,T3由一个11位的分频器和8位 定时器T3组成,如图6一10所示。
预分频器输入为晶振1/12的信号,晶振为12MHz时,输入为 1MHz,而8位定时器T3每隔时间t加1: t=12×2048/fosc
当晶振为12MHz时,t为2.048ms。
若8位定时器溢出,则产生一个尖脉冲,它将复位8×C552,同时 在RST引脚上也将产生1个正的复位尖脉冲。T3由外部引脚EW和 电源控制寄存器中的PCON.4(WLE)和PCON.l(PD)控制。 • EW:看门狗定时器允许,低电平有效。 EW=0时,允许看门狗定时器,禁止掉电方式; EW=1时.禁止看门狗定时器,允许掉电方式。
⑵ T0方式3情况下的T1
▲ T1由于其TF1、TR1被T0的TH0占用,计数器溢出时,只 能将输出信号送至串行口,即用作串行口波特率发生器。
定时器/计数器T0方式3时,T1的逻辑结构图
6.3 定时器/计数器T2
80C52中的T2: 16位
相关文档
最新文档