第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 同。
第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 ;查询是否溢出
▪
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 。
定时器计数器讲解
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
定时计数器
T1端 TR1 GATE l
≥l
TF1
中断
C/T=1 &
控制
INT1端
2.工作方式1 ( M1M0=01 ,16位定时器/计数器) 由TH1和TL1构成16位加1计数器,其他特性与工作 方式0相同。
振荡器 ÷12 C/T=0 TL1 (8位) T1端 TR1 GATE INT1端 l ≥l TH1 (8位)
第6章
定时/计数器
P132
定时/计数器的结构及工作原理 定时/计数器的工作方式 定时/计数器方式和控制寄存器 定时/计数器的编程举例
6.1 概述
在测量控制系统中,常需要有实时时钟和计数器,以实现 定时(或延时)控制以及对外界事件进行计数。 一、常用的定时(或延时)方法: 软件延时:利用执行一个循环程序进行时间延迟。其特点是 定时时间精确,不需外加硬件电路,但占用CPU时间。因此软 件定时的时间不宜过长。 硬件定时:利用硬件电路实现定时。其特点是不占用CPU时 间,通过改变电路元器件参数来调节定时,但使用不够灵活方 便。对于时间较长的定时,常用硬件电路来实现。 可编程定时器/计数器(硬件+软件):通过专用的定时器/ 计数器芯片实现。其特点是通过对系统时钟脉冲进行计数实 现定时,定时时间可通过程序设定的方法改变,使用灵活方 便。也可实现对外部脉冲的计数功能。
TL0,#83H P1.0 TH0,#06H P1.1
;送方式字 ;送时间常数 ;送时间常数 ;送控制宇 ;送中断控制字
;等待中断
;重装时间常数 ;控制方波倒相 ;重装时间常数 ;控制方波倒相
RETI DONE2: MOV CPL RETI
【*例3】试用T1方式2编制程序,在P1.0引脚输出周 期为400S的脉冲方波,已知fosc=12MHZ。
《定时计数器》课件
定时计数器的使用步骤
开启定时计数器
在设置好所需参数后,用户可 以启动定时计数器开始计时。
实时监控
在计时过程中,用户可以通过 显示界面实时查看当前计数值 和计时状态。
停止计时
当达到设定时间或需要停止计 时时,用户可以按下停止按钮 ,计时器将停止工作。
重置
若需重新计时,用户可以将计 数值重置为初始状态,并重新
信号。
触发器
触发器是定时计数器的 重要组成部分,用于控 制计数器的开始和停止
。
计数器
计数器用于记录输入信 号的个数,可以是二进
制或十进制。
输出信号
定时计数器的输出信号 可以是控制信号、状态
信号或脉冲信号。
定时计数器的工作流程
01
02
03
04
启动
当输入信号满足一定条件时, 触发器被触发,计数器开始计
定时计数器的基本原理是利用触发器的翻转时刻来记录时间间隔的起始和结束时刻 。
当输入信号的上升沿或下降沿到来时,触发器翻转,记录下当前时刻,从而计算出 时间间隔。
定时计数器的精度取决于触发器的翻转时刻的准确性,因此需要采用高精度的触发 器。
02
定时计数器的分类
机械式定时计数器
机械式定时计数器是最早的定时计数 器类型,它利用机械原理来实现计时 和计数功能。
现不必要的时间误差。
05
定时计数器的维护与 保养
定时计数器的清洁保养
清洁外壳表面
使用干燥的软布擦拭计数器的外 壳表面,以去除灰尘和污垢。
清洁内部组件
定期打开计数器外壳,使用吸尘器 或干燥的软布清洁内部电路板和元 件。
清洁触点
定期检查并清洁计数器的触点,以 确保良好的接触性能。
接口技术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讲 定时器与计数器
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
定时计数器的工作原理
定时计数器的工作原理定时计数器是一种常见的计时器,用于测量时间间隔,控制定时操作或执行循环等。
该计数器具有一定的精度和稳定性,其工作原理及应用场景也非常广泛。
下面我们将为大家介绍定时计数器的工作原理,包括硬件和软件实现。
硬件实现定时计数器通常由一个计数器和一个时钟源组成。
时钟源提供固定的时钟信号,计数器通过计数来测量时间间隔或执行定时操作。
时钟源通常是晶振,可以提供极高的稳定性和精度。
计数器可以是简单的二进制计数器,也可以是复杂的倒计数器和分频器等。
不同类型的计数器可以根据不同的应用场景进行选择。
在定时计数器的设计中,需要考虑到时钟信号的频率和计数器的位数。
时钟信号的频率决定了时间分辨率的大小,而计数器的位数则限制了计数器的最大值。
一个10位二进制计数器可以计数到1023,而一个16位二进制计数器可以计数到65535。
选取合适的时钟频率和计数器位数可以满足不同的应用要求。
定时计数器还可以通过外部信号触发计数器开始计数。
这种触发方式通常称为外部触发或同步触发,可以提高计数器的精度和控制性能。
在测试仪器中,可以通过外部触发控制测试时序,在控制系统中,可以通过外部触发控制执行任务。
在嵌入式系统中,定时计数器通常由软件实现。
软件实现的定时计数器主要依赖于系统时钟和定时中断。
系统时钟提供了一个固定的时钟信号,一般由晶振或外部时钟源提供。
定时中断是一个由硬件实现的中断,可以周期性地触发软件中断服务程序的执行。
定时计数器通过定时中断实现定时操作和时间测量。
每当定时中断发生时,中断服务程序会对定时计数器进行更新,并执行相应的定时操作。
在控制系统中,可以通过定时计数器实现周期性的任务执行,定时采样和控制输出等功能。
在嵌入式系统中,定时计数器还可以用于实现延时等操作。
1. 定时中断的触发频率:定时中断的触发频率决定了定时计数器的分辨率和响应速度。
合理的触发频率可以提高定时计数器的精度和控制性能。
2. 定时计数器的位数:定时计数器的位数决定了定时器的最大值和分辨率。
定时器 计数器的工作原理
定时器计数器的工作原理
定时器和计数器是电子设备中常见的两种功能模块。
它们可以分别完成精确计时和计数的任务。
定时器的工作原理是基于一个稳定的时钟源,通常是晶体振荡器。
时钟源会产生一个固定频率的周期性信号,这个信号频率可以根据系统需求进行调节。
定时器的主要组成部分是一个计数器和一些辅助逻辑电路。
计数器用于记录时钟脉冲的数量,根据计数值和时钟频率可以确定经过的时间。
辅助逻辑电路用于控制计数器的工作方式,例如开始计数、计数暂停、计数清零等。
当定时器启动后,时钟信号会连续地输入计数器。
每个时钟脉冲都会使计数器的计数值加1。
当计数器的计数值达到某个预先设置的目标值时,辅助逻辑电路会触发一个中断信号,以通知系统达到了设定的时间。
计数器的工作原理与定时器相似,但它主要用于计数任务,而不是计时。
计数器通常用于记录输入信号的脉冲数量,可以用来测量运动物体的速度、计算输入信号的频率等。
计数器也是由一个计数器和辅助逻辑电路组成。
计数器记录输入脉冲的数量,辅助逻辑电路用于控制计数器的工作方式,例如开始计数、计数暂停、计数清零等。
当计数器启动后,每个输入脉冲都会使计数器的计数值加1。
当计数器的计数值达到预先设置的目标值时,辅助逻辑电路会触发一个中断信号,通知系统完成了预定的计数任务。
总结起来,定时器和计数器都是基于时钟脉冲的工作,通过计数器记录时钟脉冲的数量来实现计时或计数的功能。
它们在很多电子设备中都有广泛的应用。
单片机定时器计数器工作原理
单片机定时器计数器工作原理单片机定时器计数器是单片机中非常重要的一个模块,它通常用于实现各种定时和计数功能。
通过定时器计数器,单片机能够精准地进行定时操作,实现定时中断、计数、脉冲生成等功能。
本文将详细介绍单片机定时器计数器的工作原理。
1. 定时器计数器的功能单片机定时器计数器通常由若干寄存器和控制逻辑组成,可以实现以下几种功能:- 定时功能:通过设置计数器的初始值和工作模式,可以实现一定时间的定时功能,单片机能够在计时结束时触发中断或产生输出信号。
- 计数功能:可以实现对外部信号的计数功能,用于测量脉冲个数、频率等。
也可以用于实现脉冲输出、PWM等功能。
- 脉冲发生功能:可以在一定条件下控制定时器输出脉冲,用于控制外部器件的工作。
2. 定时器计数器的工作原理定时器计数器的工作原理可以分为初始化、计数及中断处理几个基本环节。
(1)初始化:在使用定时器前,需要对定时器计数器进行初始化设置。
主要包括选择工作模式、设置计数器的初始值、开启中断等。
不同的单片机厂商提供了不同的定时器初始化方式和寄存器设置方式,通常需要查阅相关的单片机手册来进行设置。
(2)计数:初始化完成后,定时器开始进行计数工作。
根据不同的工作模式,定时器可以以不同的频率进行计数。
通常采用的计数源是内部时钟频率,也可以选择外部时钟源。
通过对计数器的频率设置和初始值的设定,可以实现不同的定时功能。
(3)中断处理:在定时器计数完成后,可以触发中断来通知单片机进行相应的处理。
通过中断服务程序,可以定时执行一些任务,或者控制一些外部设备。
中断服务程序的编写需要根据具体的单片机和编程语言来进行相应的设置。
3. 定时器计数器的应用定时器计数器广泛应用于各种嵌入式系统中,最常见的应用包括定时中断、PWM输出、脉冲计数、定时控制等。
可以利用定时器计数器实现LED呼吸灯效果、马达控制、红外遥控编码等功能。
在工业自动化、通信设备、电子仪器等领域也有着广泛的应用。
单片机定时器,计数器
第六章定时器/计数器第一节概述8051内部提供两个十六位的定时器/计数器T0和T1,它们既可以用作硬件定时,也可以对外部脉冲计数。
1.计数功能:所谓计数功能是指对外部脉冲进行计数。
外部事件的发生以输入脉冲下降沿有效,从单片机芯片T0(P3.4)和T1(P3.5)两个引脚输入,最高计数脉冲频率为晶振频率的1/24。
2.定时功能:以定时方式工作时,每个机器周期使计数器加1,由于一个机器周期等于12个振荡脉冲周期,因此如单片机采用12MHz晶振,则计数频率为12MHz/12=1MHz。
即每微秒计数器加1。
这样就可以根据计数器中设置的初值计算出定时时间。
第二节定时器/计数器的基本结构、工作方式及应用一、定时器/计数器基本结构定时器/计数器的基本结构如图6-1。
T0由TH0和TL0两个八位二进制加法计数器组成十六位二进制加法计数器;T1由TH1和TL1两个八位二进制加法计数器组成十六位二进制加法计数器。
图6-1 定时器/计数器基本组成110二、定时器/计数器控制寄存器1.定时器方式控制寄存器TMOD定时器方式控制寄存器地址89H,不可位寻址。
TMOD寄存器中高4位定义T1,低4位定义T0。
其中M1,M0用来确定所选工作方式如表6—1:定时/计数器T1 定时/计数器T0111定时器控制寄存器TCON地址88H,可以位寻址,TCON主要用于控制定时器的操作及中断控制。
有关中断内容在第四章已说明。
此处只对定时控制功能加以介绍。
表6—2给出了TCON有关控制位功能:系统复位时,TMOD和TCON寄存器的每一位都清零。
112113三、工作方式及应用用户可通过编程对专用寄存器TMOD 中的M1,M0位的设置,选择四种操作方式。
(一)方式0(以T0为例)在此方式中,定时寄存器由TH0的8位和TL0的5位(其余位不用)组成一个13位计数器。
当GATE=0时,只要TCON 中的TR0为1,13位计数器就开始计;当GATE=1以及TR0=1时,13位计数器是否计数取决于INT0引脚信号,当INT0由0变1时开始计数,当INT0由1变为0时停止计数。
定时器和计数器PPT课件
①1ms积算定时器(T246~T249)共4点,是对1ms时钟脉冲进行累积计数的,定时的时间范围为
0.001~32.767s。
②100ms积算定时器(T250~T255)共6点,是对100ms时钟脉冲进行累积计数的定时的时间范围
为0.1~3 276.7s。
知识清单
以下举例说明积算定时器的工作原理。如图8-3-2所示,当X0接通时,T253当前值计数器开
ON时C0复位。X11是计数输入,每当X11接通一次计数器当前值增加1(注意X10断开,计数器不
会复位)。当计数器计数当前值为设定值10时,计数器C0的输出触点动作,Y0被接通。此后既
使输入X11再接通,计数器的当前值也保持不变。当复位输入X10接通时,执行RST复位指令,计
数器复位,输出触点也复位,Y0被断开。
276.7s。
②10ms通用定时器(T200~T245)共46点。 767,所以其定时范围为0.01~327.67s。
知识清单
下面举例说明通用定时器的工作原理。如图8-3-1所示,当输入X0接通时,定时器T200从0
开始对10ms时钟脉冲进行累积计数,当计数值与设定值K123相等时,定时器的常开接通Y0,经
知识清单
(1)通用定时器
通用定时器的特点是不具备断电的保持功能,即当输入电路断开或停电时定时器复位。通
用定时器有100ms和10ms通用定时器两种。
①100ms通用定时器(T0~T199)共200点,其中T192~T199为子程序和中断服务程序专用
定时器。这类定时器是对100ms时钟累积计数,设定值为1~32 767,所以其定时范围为0.1~3
两个0.1s定时器T14和T15串级使用。当T14开始定时后,经1 800s延时,T14的常开触点闭合,
定时器计数器工作原理
定时器计数器工作原理
定时器计数器工作原理是利用双色LED分别显示计数值的方法,实时记录时间。
定时器计数器通常由一个时钟信号源和一个计数寄存器组成。
首先,时钟信号源提供完整的周期性时钟信号,如晶振或外部脉冲源。
该信号被传输到计数寄存器中,开始计数。
计数寄存器是一个二进制寄存器,能够计数时钟信号的脉冲次数。
当计时器启动时,计数寄存器开始从初始值开始计数,然后每接收到一个时钟信号,计数值就会加一。
计数器通过一个高速时钟信号和一个除频器来控制计数频率。
除频器可以通过设置不同的分频比来改变计数频率,从而实现不同的计时精度。
双色LED用来显示计时值。
例如,一个红色LED用于表示小时位,一个绿色LED用于表示分钟位。
当计数器的值递增到下一个单位时,相应的LED会亮起,显示出当前的计数值。
通过以上步骤循环执行,定时器计数器可以实时记录时间,并在LED上显示出来。
这种设计简单、可靠,广泛应用于计时器、时钟等各种设备中。
定时计数器-PPT精品
★用于定时工作方式时,定时时间为: t=(216一T0初值) ×时钟周期×12
★用于计数工作方式时,计数长度为216= 65536(个外部脉冲)
3.模式2
感谢您的关注
1. 工作模式寄存器TMOD(89H)
TMOD用于控制T0和T1的操作模式。其各 位的定义格式如下:
TMOD
定时器T1
D7 D6 D5 D4
定时器T0
D3 D2 D1 D0
(89H) GATE C/T M1 M0 GATE C/T M1 M0
1.1 M1 M0 工作模式选择位
共有四种工作模式
M1 M0 工作方式 功能描述
程序如下:
MOV MOV MOV JB SETB JNB JB CLR
TMOD,#90H TH1, #00H TL1, #00H P3.3, $ TR1 P3.3, $
P3.3, $ TR1
;定时器T1模式1、定时 ;设定初值
; ;等待INT1变低 ;启动T1 ; 等待INT1变高 ;开始计数,等待变低 ; 停止计数
1.模式0
★模式0是选择定时器(T0或T1)高8位加低5 位的—个13位定时器/计数器。
★在这种模式下,16寄存器(TH0和TL0)只 用13位,其中TL0的高3位末用,其余位 占整个13位的低5位,TH0占高8位。
★当TL0的低5位溢出时向TH0进位而TH0 溢出时向中断标志位TF0进位(硬件置位 TF0),并申请中断。
2. 控制寄存器TCON(88H)
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
单片机中的定时器和计数器
单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。
其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。
本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。
一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。
定时器一般由一个计数器和一组控制寄存器组成。
具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。
在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。
2. 设置定时器的阈值:即需要计时的时间间隔。
3. 启动定时器:通过控制寄存器来启动定时器的运行。
4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。
二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。
计数器一般由一个计数寄存器和一组控制寄存器组成。
计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。
在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。
2. 设置计数器的初始值:即计数器开始计数的初始值。
3. 启动计数器:通过控制寄存器来启动计数器的运行。
4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。
三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。
2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。
定时器计数器工作原理
定时器计数器工作原理
定时器计数器基于时钟信号的工作原理如下:
定时器计数器是一种用于测量时间间隔或生成定时触发信号的电子器件。
在工作过程中,它接收外部时钟信号,并根据时钟信号的频率进行计数操作。
计数器中的计数值会随着每个时钟周期的到来而增加或减少。
具体来说,定时器计数器通过计数寄存器来存储计数值。
每当一个时钟脉冲到达时,计数值就会增加或减少一个单位。
计数器可以被预设为一个特定的计数值,并在到达该值时触发一个中断信号或其他事件。
为了实现不同时间间隔的测量,可以通过选择不同的时钟频率来调整定时器的工作速率。
较高的时钟频率会导致计数器计数得更快,因此时间间隔会更短。
相反,较低的时钟频率会导致计数器计数得更慢,时间间隔会更长。
定时器计数器还可以与其他电路和组件结合使用,例如比较器和触发器,来实现更复杂的功能,例如实时时钟、定时中断和脉冲生成等。
综上所述,定时器计数器是基于时钟信号的电子器件,利用时钟信号的频率来进行计数操作,并可根据计数值的变化来测量时间间隔或生成定时触发信号。
定时计数器
这一讲我们了解定时/计数器的作用和原理我先讲一下什么是定时器单片机就是"放在一个芯片里的计算机" ,所以光有CPU还不算单片机,还需要有内存,外存,输入输出接口和外部设备,这个芯片里就有一台完整的小电脑了.所以叫"单个芯片的计算机" 简称单片机内存,外存,输入输出我们都好理解,外部设备有哪些呢?主要就是串行通信控制器(串口)和定时/计数器今天这课就是讲定时/计数器定时/计数器是即能定时,又能计数的器件单片机不能完全靠人来控制比如你按什么键它就执行什么事,那么你不按呢?它就傻等着,这可不行,那么我们给单片机制定了工作日程表,总不能一直用人盯着提醒它做什么吧。
这样我们给它提供了一个闹钟,就是这个定时器,我们把要做的时安排好时间,然后定时器到了时间就提醒CPU做该做的事,这样就自动化了再说计数器如果用单片机来计数,一般可以通过用CPU来计算,可是这样一来,CPU就不能集中精力做事了比如它想知道生产线上一共传送了多少个产品,那么有一个办法就是让它一直等,有一个产品它就计数加1,可是它也不知道下一个产品什么时候来,所以只好一直等,那它就没办法专心做别的事了,开发人员想了,干脆给它派个助手吧,专门在那等着计数,然后CPU 也不管它计了多少,什么时候想知道了就到计数器那里去问一下。
定时器和计数器其实是一回事!!!只不过定时器是对系统的时钟信号进行计数。
我们通常用用电是200V 50HZ 我想前面那个我不用解释了吧。
后面那个的意思就是一秒钟有50次的频率。
也就是50HZ。
那么6M也就是6MHZ也就是600万次的频率。
也就是说一秒钟600万次。
比如我们用6M的晶振,那么12个时钟周期执行一条指令。
就是一个指令周期。
我们用计数器对指令周期计数。
6M=600万600万/12=500K (k是指千)就是一秒钟有500K个指令周期。
一个指令周期就是1秒/500K=2微秒那么我们想定时1毫秒500*2微秒=1000微秒=1毫秒就设定计数器记录500个时钟周期就行了那么要得到1秒呢?就是1000个1毫秒,无非就是改变计数的值现在我们来总结一下这个定时/计数器,其实就是个计数器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20:03
§6.2.2
控制器寄存器 TCON
• TCON除可字节寻址外,各位还可位寻址。
• 89S51系统复位时,TCON的所有位被清0。
• TCON各位的定义格式如图所示。
TCON (88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
MCS-51 T0 ( T1) 端口 外部脉冲 外部 设备
20:03
89S51定时/计数器的工作原理
(1):何时控制启动计数器?
思考:
系统内部 时钟fosc/12
定时/计数 控制C/T 外部脉冲 T0或T1引脚 C/T=1 启动控制 TR
(2):如何控制是定时还是计数? (3):如何控制定时/计数的长短?
D7 D6 D5 D4 D3 D2 D1 D0 TMOD GATE C/ T M1 M0 GATE C/ T M1 M0 (89H) 定时器T1 定时器T0
TMOD的低四位为T0的控制位 模式0:M1M0=00, 定时器方式:C/T=0, 门控位不受INT0的影响:GATE=0, ∴ 模式字为 TMOD=0000 0000 B=00H
20:03
(3)采用查询方式的程序 程序清单: ORG 0000H LJMP MAIN ;初始化引导程序 ORG 0080H MAIN: MOV TMOD,#00H ;设置T0为模式0 MOV TL0,#18H ;送初值 MOV TH0,#63H SETB P1.0 SETB TR0 ;启动定时 LP: JBC TF0,NEXT ;查询定时时间到否 SJMP LP NEXT: MOV TL0,#18H ;重装计数初值 MOV TH0,#63H CPL P1.0 ;取反 SJMP LP ;重复循环
§6.3.2 模式 1 及其应用
一、模式 1 的逻辑电路结构:
(T0模式 1 的逻辑电路结构与T1相同)
二、模式 1 工作特点
三、模式 1 的应用举例
20:03
一、模式 1 的逻辑电路结构
GATE=0时,TR1=1开始定时/计数; GATE=1时(门控方式), TR=1且INT1=1时,开始工作.此种方 式主要用于测量加在INT1脚上一个正脉冲的脉宽。
20:03
三、模式 0 的应用举例
例6-1:设晶振为12MHz,试计算定时器T0工作于模式0时的最 大定时时间T。 解:加1计数器为13位,定时时间为: t=(213-T0初值)×振荡周期×12 最大定时时间为“T0初值=0”时。
T 2 13 振荡周期 12
2
13
1 12 6 12 10
并不用于定时或计数。
20:03
2、设晶振为12MHz,试计算定时器T0工作于模式1时 的最大定时时间T。 解:定时时间为: t=(216-T0初值)×振荡周期×12 最大定时时间为“T0初值=0”时。 所以: T 2 16 振荡周期 12
C/T=0
计数脉冲 CP N位增量计数器 N位初值寄存器
TF 计数器溢出 (中断信号)
MCS-51单片机定时器/计数器模型
• 由启动控制开关TR来控制计数器是否计数:
当TR=0时:计数器计数脉冲被断开,所以停止工作; 当TR=1时:计数器的计数脉冲输入端与信号源接通,
计数器开始计数(工作)。
• 定时、计数方式由C/T控制。 当C/T=0时:多路器选择的是系统时钟(fosc/12),
(T0模式 0 的逻辑电路结构与T1相同)
二、模式 0 工作特点
三、模式 0 的应用举例
20:03
一、模式 0 的逻辑电路结构
震荡器 1/12 C/T=0 C/T=1 启动控制
13位加1计数器 TL1 TH1 TF1 中断
T1 引脚 TR1 GATE INT1
(低 5位 )
(8位)
高三位弃用
* 模式0时定时器T0同T1
2)确定TMOD的初值 TMOD=0000 0000 B=00H
10ms 10ms
20:03
解:3)编写程序 初始化引导程序: ORG 0000H RESET: AJMP MAIN ;跳过中断服务程序 区 ORG 001BH ;中断服务程序入口 AJMP ITOP 主程序: ORG 0100H MAIN: MOV SP,#60H ;设堆栈指针 MOV TMOD,#00H ;选择工作模式 MOV TH1,#63H ;送初值 MOV TL1,#18H SETB P1.0 ;P1.0置1 SETB TR1 ;启动定时 SETB ET1 ;T1开中断 SETB EA ;CPU开中断 HERE: AJMP HERE ;等待时间到,转入 中断服务程序
• 每个定时器/计数器都可由软件设置为 定时工作 方式或 计数工作方式。由特殊功能寄存器 TMOD和TCON所控制。 • 定时器/计数器有四种工作模式。其中模式0-2对 T0和T1是一样的,模式3对两者不同。
20:03
定时工作方式 定时器计数89S51片内振荡器输出经12分频后的 脉冲,即每个机器周期使定时器(T0或T1)的数值 加1直至计满溢出。计数速率是fosc/12。 例:当89S51采用12MHz晶振时,一个机器周 期为1μs,计数频率为1MHz。
20:03
解:3)编写定时器T0的初始化程序段 主程序: ORG 0100H MAIN: MOV SP,#60H ;设堆栈指针 MOV TMOD,#00H ;选择工作模式 MOV TH0,#63H ;送初值 MOV TL0,#18H SETB TR0 ;启动定时 …
20:03
例6-3:设定时器T1工作于模式0,晶振为6MHz。编程实现:每 10ms时间P1.0取反的程序(50Hz的方波)。 20ms 解:1)确定T1初值(同例2) (TH1)=0110 0011 B=63H(高8位) (TL1)=1 1000 B=18H(低5位)
TMOD (89H)
定时器T1
定时器T0
作模式
M1 0 0 1 1 M0 0 1 0 1 工作模式 模式 0 模式 1 模式 2 模式 3 功能描述 13 位计数器 16 位计数器 自动再装入 8 位计数器 定时器 0:分成二个 8 位计数器 定时器 1:停止计数
中断服务程序: ORG 0150H ITOP: MOV TL1,#18H ;重新装入初值 MOV TH1,#63H
CPL P1.0 ;P1.0取反
RETI ;中断返回
20:03
例6-4:利用T0的工作模式0产生定时,在P1.0引脚输出周期为 10ms的方波。设晶振频率fosc=12MHz。编程实现其功能 (分别采用查询方式和中断方式)。
(216-T0初值)(个外部脉冲)
20:03
三、模式 1 的应用举例
例6-5:
1、设定时器T0选择工作模式1的计数器工作方式,
其计数器初值为FFFFH,问此时定时器T0的实
际用途是什么? 解:因其初值为FFFFH,只要随机外来一脉冲即可 溢出,向CPU申请中断,故这一内部中断源实 质上已作为外部中断源使用。因此此定时器T0
震荡器 1/12 C/T=0 启动控制 16位加1计数器 TL1 C/T=1 TH1
(8位)
TF1
中断
T1 引脚
TR1 GATE INT1
(8位)
二、模式 1 工作特点 • 该模式对应的是一个16位的定时器/计数器。 • 用于定时工作方式时,定时时间为:
t=(216-T0初值)×振荡周期×12
• 用于计数工作方式时,计数长度为:
20:03
控制寄存器TCON的位定义
20:03
§6.3 定时器/计数器的四种模式及应用
§6.3.1 模式 0 及其应用 §6.3.2 模式 1 及其应用
§6.3.3 模式 2 及其应用
§6.3.4 模式 3 及其应用
§6.3.5 综合应用举例
20:03
§6.3.1 模式 0 及其应用
一、模式 0 的逻辑电路结构
20:03
计数工作方式
• 通过引脚T0(P3.4)和T1(P3.5)能对间隔可能不 相等的外部脉冲进行统计计数。当达到所要求的计 数值时,单片机进行相应的操作。 • 当输入脉冲信号产生由1至0的下降沿时计数器的值 加1。 CPU检测一个1至0的跳变需要两个机器周期, 故最快计数速率是fosc/24。
• 89S51定时器/计数器的结构如 图 所示。 • 有两个16位的定时器/计数器,即定时器0(T0) 和定时器1(T1),都是16位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0构成; T1由TH1和TL1构成。
20:03
89S51定时器/计数器结构图
§6.1.2 89S51定时器/计数器功能
即定时方式;
当C/T=1时:多路器选择的是外部(T0或T1引脚)输入, 即计数方式。 • 定时/计数的长短由初值寄存器中的计数初值来设定。
§6.2 定时器/计数器的控制
• §6.2.1 工作模式寄存器 TMOD
• §6.2.2 控制器寄存器 TCON
20:03
§6.2.1 工作模式寄存器 TMOD
8192 10 6 8.192ms
20:03
例6-2:设定时器T0用于定时10ms,晶振为6MHz。试确定T0 初值。并编写定时器T0初始化程序段。
解:1)确定T0初值