计数器与定时器概念
PLC定时器与计数器的应用
定时器的计时精度决定了其控制精度,是PLC 实现精确控制的重要元件之一。
PLC计数器介绍
计数器是PLC中用于对输入脉冲进行计数的元件。
计数器可以用于各种应用,如控制步进电机、检 测生产线上的产品数量等。
紧急情况处理
在遇到交通事故或其他紧急情况 时,PLC定时器和计数器能够快速 响应,调整信号灯的控制逻辑, 保障救援车辆的优先通行权。
THANKS FOR WATCHING
感谢您的观看
计数器通常有预置值,当计数值达到预置值时, 计数器会触发相应的输出信号。
PLC定时器与பைடு நூலகம்数器的关系
定时器和计数器都是PLC中的 控制元件,但它们的应用场景
和功能不同。
定时器主要用于时间控制, 而计数器主要用于计数控制。
在某些应用中,可以将计数器 的计数值作为定时器的设定值, 从而实现基于计数的定时控制。
创建定时器和计数器
在编程软件中创建定时器和计数器, 并为其分配相应的输入和输出信号。
编写定时器和计数器程序
根据实际需求编写定时器和计数器的 程序,包括设置时间参数、计数逻辑 等。
调试与测试
对编写的程序进行调试和测试,确保 定时器和计数器能够按照预期工作。
定时器与计数器的编程实例
定时器实例
实现一个周期性自动启动的设备,如 每隔10秒启动一次的泵。
02
PLC定时器的应用
定时器类型与原理
01
02
03
接通延时型
在输入信号作用下,定时 器输出信号开始接通,直 到达到设定时间后,输出 信号才断开。
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
第九讲 定时器&计数器
计数寄存器
单片机内部有两个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
单片机定时器与计数器
定时器计数器原理及应用一、知识点1、定时器/计数器的结构2、定时器和计数器两种工作模式3、工作方式控制寄存器TMOD4、定时器/计数器控制寄存器TCON5、定时器/计数器的4种工作方式方式0:13位计数器方式1:16位计数器方式2:8位可自动重装初值方式方式3只适用于T0,T1不能工作在方式36、定时器/计数器的初始化及编程实现(1)设置TMOD寄存器(2)计算定时器T0的计数初值X(3)设置IE寄存器(4)启动和停止定时器7、定时器的单次最大定时时间:2M*12/晶振频率9、定时器应用(方式1、2;编程:中断方式、查询方式)10、计数器应用(方式1、2;编程:中断方式、查询方式)二、复习题(一)判断题1、在MCS-51单片机内部结构中,TMOD为模式控制寄存器,主要用来控制定时器的启动与停止。
(F)2、在MCS-51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。
(T)3、MCS-51单片机的两个定时器的均有两种工作方式,即定时和计数工作方式。
(T)4、MCS-51单片机的TMOD模式控制寄存器不能进行位寻址,只能用字节传送指令设置定时器的工作方式及操作模式。
(T)5、定时器/计数器T1于定时模式,工作于方式2,则工作方式字为20H。
(T)6、定时器/计数器T1于计数模式,工作于方式1,则工作方式字为50H。
(T)7、单片机8051的定时/计数器是否工作可以,通过外部中断进行控制。
(T)8、定时/计数器工作于定时方式时,是通过8051片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。
(T)9、定时/计数器工作于计数方式时,是通过8051的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。
(T)10、定时/计数器在工作时需要消耗CPU的时间。
(F)11、定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。
(F)12、特殊功能寄存器SCON,与定时器/计数器的控制无关。
定时-计数器学习笔记
定时/计数器学习笔记
一、基本概念
1、89C51有两个计数器T0和T1,89C52还有一个T2。
每个计数器都是由两个8位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数容量是216=65536,记住是从0-65535。
2、提供给定时器的计数源又是从哪里来的呢?就是由单片机的晶振经过12 分频后获得的一个脉冲源。
一个12M 的晶振,它提供给计数器的脉冲时间间隔是就是1us。
3、预置数计数法。
如果每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒。
但是如果只需要10毫秒就可以了,怎幺办?只要在计数器里预先放进55536,这样只需要计数65536-55536=10000次,也就是10毫秒了。
二、控制字
1、特殊功能寄存器TMOD(89H)。
PLC的定时器与计数器
采用16位保持型数据寄存器来存放设定值时: —— K值设定范围是1-32767 —— K值计算方法是: K=定时值(S)/计时分辨率(S)
同样定时要求 —— 采用不同计时分辨率的定时器 —— 设定值大小是不相同
例如: 要求定时10s,采用T0计时K=100。而采用T246计时,
则K=10000。 注意:也可以采用两个保持型数据寄存器串联构成32
同时每个定时器还要占用三个位元件 一个为复位位
—— 当该位状态为1 —— 则当前值寄存器清零 第二位为计时位 若该位为1同时复位位为0 —— 表示计时条件满足 ——该定时器开始计时 若该位状态为0 —— 则表示计时条件不满足,定时器不工作 第三位是定时器线圈的逻辑状态位 —— 该位为0表示定时时间未到 —— 该位为1则表示定时时间到
X12 加
X12 X13 X14 C230
减
M8230 RST C230
C230 K-2 Y0
加
X13
X14
C230 当前值0 1
Y0
2 1 0 -1 -2 -3 -2 -1 0 1
图2-28 加/减计数器动工作情况
23
01
2.内部信号计数器的计数频率 (1)内部信号计数器C0-C234 —— 计数频率在复位位为0 —— 计数位1为0和计数位2为1 —— 完成一次计数过程 计数位1和计数位2的状态 —— 由两次扫描结果获得 —— 即某个计数器最高计数频率为 1/2T Hz
—— 另一类是外部信号高速计数器 C235~C255共21点均为32 位保持型
—— 外部计数信号由高速输入端子 X0~X5输入
1.计数器的组成与计数方式 与定时器类似 —— 由软机组成 —— 在RAM区中占用二个或四个16 位数据寄存器 (16位计数器占用二个字元 件,32位计数器占用四个字 元件)
c51单片机计数器触发机制
C51单片机的计数器是通过触发机制来工作的。
在C51单片机中,有两种常见的计数器类型:定时器和计数器/计时器。
1. 定时器(Timer):
定时器用于生成一定时间间隔的定时事件。
C51单片机中的定时器是基于内部或外部时钟源进行计数的。
当定时器达到设定的计数值时,会触发定时器中断,并执行相应的中断服务程序(ISR)。
可以使用定时器来生成精确的时间延迟、控制周期性任务等。
2. 计数器/计时器(Counter/Timer):
计数器/计时器可以用来计数外部事件的脉冲数量或测量时间间隔。
它可以根据外部事件的触发边沿(上升沿或下降沿)来触发计数动作。
当计数器达到设定的计数值时,也可以触发计数器中断,并执行相应的中断服务程序(ISR)。
计数器还可以被配置为计时器模式,用于测量时间间隔。
在C51单片机中,计数器的触发机制通常是通过设置相关的寄存器来实现的。
这些寄存器包括计数器的初始值、计数模式、计数触发边沿等。
通过配置这些寄存器,可以灵活地控制计数器的工作方式和触发条件。
需要注意的是,具体的计数器触发机制可能会因不同的单片机型号而有所差异。
因此,在编程时应参考相关的芯片手册或数据表,以了解具体的计数器触发机制及其相应的寄存器设置。
1。
接口技术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个独立的计数器(计 数通道),其内部结构完全相同,
单片机定时器与计数器的区别
单片机定时器与计数器的区别在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,两者的区别是什么呢?下面就跟着店铺一起来看看吧。
单片机计数器与定时器的区别计数器和定时器的本质是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。
当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。
在定时器和计数器中都有一个溢出的概念,那什么是溢出了。
呵呵,我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。
同样的道理,假设水龙头的水是一滴滴的往碗里滴,那么总有一滴水是导致碗中的水溢出的。
在碗中溢出的水就浪费了,但是在单片机的定时计数器中溢出将导致一次中断,至于什么是中断我们下次再讲,这里只是初步的提下概念,中断就是能够打断系统正常运行,而去运行中断服务程序的过程,当服务程序运行完以后又自动回到被打断的地方继续运行。
在定时器计数器中,我们有个概念叫容量,就是最大计数量。
方式0是2的13次方,方式1是2的13次方,方式2是2的8次方,方式3是2的8次方。
把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。
在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。
假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。
问题1,我如何才能使碗接到10滴水就溢出呢?呵呵,我可以想象,如果拿一个空碗去接水,那么还是得要100滴水才能溢出,但是如果我们拿一个已经装有水的碗拿去接,那就不用100滴了。
到此我们可以算出,要使10滴水让碗中的水溢出,那么碗中就先要装90滴水。
在定时计数器中,这90滴水就是我们所谓的初始值。
问题2,在一个车间我们如何利用单片机对100件产品进行计件,并进行自动包装呢?我们可以利用计数器计数100,在中断中执行一个自动包装的动作就可以了。
第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
定时器和计数器的工作原理
定时器和计数器是电子设备中常用的两种工作原理。
它们都是通过一定的逻辑电路或芯片来实现特定功能的,为各种应用提供了灵活且准确的计时和计数功能。
定时器的工作原理定时器的工作原理主要是基于计数器和比较器。
它通常由一个计数器和一个比较器组成。
计数器从零开始计数,当计数到设定的值时,比较器发出一个信号,触发相应的动作。
具体来说,定时器的输入信号是时钟信号,这个信号可以是系统的时钟信号,也可以是外部的输入信号。
当定时器接收到输入信号后,计数器开始计数。
当计数到设定的值时,比较器将输入信号与预设值进行比较,如果相等,则发出一个触发信号。
触发信号可以控制输出门的开启或关闭,从而控制输出信号的电平。
当定时器触发时,输出信号的电平会从低电平变为高电平,或者从高电平变为低电平。
这个输出信号可以用于控制其他电路或设备的工作。
计数器的工作原理计数器的工作原理主要是基于触发器的翻转和组合逻辑电路。
它通常由多个触发器和组合逻辑电路组成。
具体来说,计数器的输入信号是时钟信号,这个信号可以是系统的时钟信号,也可以是外部的输入信号。
当计数器接收到输入信号后,触发器开始翻转。
在每个时钟周期内,触发器都会翻转一次。
当触发器翻转到一定的次数后,组合逻辑电路会输出一个触发信号。
触发信号可以控制输出门的开启或关闭,从而控制输出信号的电平。
当计数器触发时,输出信号的电平会从低电平变为高电平,或者从高电平变为低电平。
这个输出信号可以用于控制其他电路或设备的工作。
在计数器中,每个触发器的状态都会被传递到下一个触发器,从而实现连续的计数。
计数器的计数值可以通过改变组合逻辑电路的连接方式来实现不同的功能和计数值。
总的来说,定时器和计数器的工作原理都是基于特定的逻辑电路或芯片来实现特定的计时和计数功能。
它们的应用范围广泛,可以用于各种电子设备中,如定时开关、定时报警器、计数器等。
定时器与计数器
第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所示。
plc定时器与计数器
(2)计数值
计数值的范围为0~999,如下图所示,计数器值有两种存储格 式:
一种是BCD码格式,则该字的0~11位是计数值的BCD码,用
格式 15
87
0
0 0 0 10 0 1 0 0 1 1 1
C#127表示BCD码127;
未用
1
2
7
另一种是二进制格式,只占用计数器字的0~9位,。
机M2起 动;按下停止按钮,M2立即停止,延时10s后,
M1停机。 起动按钮:I0.1; 停止按钮:I0.2 电动机M1:Q0.0; 电动机M2: Q0.1
例4:定时器扩展,在S7-300中,单个定时器的最大计时范围 是9990s
或2H-46M-30s,如果超过这个范围,可以采用两个(或多个)
第42页/共43页
= 输出地址 //输出地址 为1状态
第32页/共43页
STL等效程序
3. S_CU(加计数器)块图指令
第33页/共43页
4. S_CD(减计数器)块图指令
第34页/共43页
5. 计数器的线圈指令 除了前面介绍的块图形式的计数器指令以外,S7-300系统
还为用 户准备了LAD环境下的线圈形式的计数器。这些指令有计数器
L(装入指令):把预置值装入累加器1 SP(为脉冲定时器指令):启动定时器 R:复位Tn0 L Tn0:把Tn0的十六进制时间当前值装入累加器1 T 时间字单元1:把累加器1的内容传送到时间字单元1 LC Tn0:把Tn0的BCD时间当前值装入累加器1 T 时间字单元2:把累加器1的内容传送到时间字单元2 A Tn0:检查Tn0的信号状态 = 输出地址: Tn0的定时器位为1时,输出地址有输出。
圈表示 的形式,指令格式、示例及时序波形图见下图所示。各输入端及输
定时器计数器常用编程方法
定时器计数器常用编程方法定时器和计数器是嵌入式系统中常用的功能模块,用于实现时间测量、任务调度、PWM生成等功能。
在嵌入式系统的开发中,了解和掌握常用的定时器计数器编程方法至关重要。
本文将介绍几种常用的定时器计数器编程方法,以帮助开发者更好地运用定时器计数器。
一、基本概念在进行定时器计数器编程之前,我们首先需要了解一些基本概念。
1. 定时器:定时器是一种能够按照一定时间周期自动计数,并产生相应中断或触发事件的硬件模块。
2. 计数器:计数器是一种能够按照外部信号或者内部时钟信号进行计数,并提供计数结果的硬件模块。
3. 溢出中断:当定时器或计数器的计数值达到最大值后,会发生溢出,并触发溢出中断,用于实现周期性的定时或计数功能。
4. 输入捕获:定时器计数器可以通过输入捕获功能,实时记录外部事件信号的时间戳,用于时间测量等应用。
二、定时器计数器编程方法在嵌入式系统中,常用的定时器编程方法包括常规模式、CTC模式、PWM模式等。
下面分别介绍这些方法的基本原理及编程实现。
1. 常规模式常规模式是定时器最简单的工作模式,通过设置计数器的初值和溢出中断来实现定时功能。
其编程步骤如下:(1)设置定时器计数器的初值,决定计数器的起点。
(2)使能定时器的溢出中断,当计数器溢出时触发中断。
(3)启动定时器计数。
下面是一个使用常规模式实现定时功能的示例代码:```C#include <avr/io.h>#include <avr/interrupt.h>void Timer_Init(){// 设置计数器初值TCNT1 = 0;// 使能溢出中断TIMSK |= (1 << TOIE1);// 启动定时器计数,使用外部时钟源TCCR1B |= (1 << CS12) | (0 << CS11) | (0 << CS10);}// 定时器溢出中断处理函数ISR(TIMER1_OVF_vect){// 处理定时事件}int main(){Timer_Init();// 主循环while (1){// 其他任务处理}return 0;}```2. CTC模式CTC模式(Clear Timer on Compare Match)是一种定时器工作模式,可以实现在指定时间后产生中断或触发事件。
单片机定时器与计数器的工作原理及应用
单片机定时器与计数器的工作原理及应用摘要:单片机作为现代电子设备中广泛采用的一种集成电路,其内部包含了丰富的功能模块,其中定时器和计数器被广泛应用于各种领域。
本文将介绍单片机定时器和计数器的工作原理及应用,包括定时器的基本原理、工作模式和参数配置,以及计数器的工作原理和常见应用场景。
希望通过本文的阐述,读者能够深入了解单片机定时器和计数器的基本原理和应用,为电子系统设计提供参考。
引言:单片机作为嵌入式系统中的核心部件,承担着控制和处理各种信号的重要任务。
定时器和计数器作为单片机的重要功能模块,为实现各种实时控制任务提供了有效的工具。
定时器可以生成一定时间间隔的定时信号,而计数器则可以对外部事件的频率进行计数,实现时间测量和计数控制等功能。
一、定时器的工作原理单片机中的定时器通常为计数器加上一定逻辑控制电路构成。
定时器的基本工作原理是通过控制计数器的计数速度和计数值来实现不同时间间隔的输出信号。
当定时器触发时,计数器开始计数,当计数值达到预设值时,定时器产生一个输出信号,然后重新开始计数。
定时器通常由以下几个部分组成:1.计数器:定时器的核心部件是计数器,计数器可以通过内部振荡器或外部输入信号进行计数。
通常情况下,计数器是一个二进制计数器,它可以按照1、2、4、8等倍数进行计数。
2.预设值:定时器的预设值决定了定时器的时间间隔。
当计数器达到预设值时,定时器会产生一个输出脉冲。
3.控制逻辑电路:控制逻辑电路用于控制计数器的启动、停止和重置等操作。
通常情况下,控制逻辑电路由一系列的触发器和逻辑门组成。
二、定时器的工作模式定时器可以根据实际需求在不同的工作模式下运行,常见的工作模式有以下几种:1.定时工作模式:在定时工作模式下,定时器按照设定的时间间隔进行计数,并在计数值达到预设值时产生一个输出脉冲。
这种模式常用于周期性任务的触发和时间测量。
2.计数工作模式:在计数工作模式下,定时器通过外部输入信号进行计数,可以测量外部事件的频率。
单片机原理第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 溢出标志位.
定时器和计数器
定时/计数器的工作方式
2、方式1 方式1的计数位数是16位,由TL0作为低8位,TH0
作为高8位,组成了16位加1计数器 。
计数个数与计数初值的关系为:X=216-N
定时/计数器的工作方式
3、方式2 方式2为自动重装初值的8位计数方式。
计数个数与计数初值的关系为:X=28-N 工作方式2特别适合于用作较精确的脉冲信号发生器。
定时/计数器的控制
51单片机定时/计数器的工作由两个特殊功能寄存 器控制。TMOD用于设置其工作方式;TCON用于控 制其启动和中断申请。
1、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工 作方式,低四位用于T0,高四位用于T1。其格式如下 :
GATE是门控位, GATE=0时,用于控制定时器的启动是否受 外部中断源信号的影响。只要用软件使TCON中的TR0或TR1 为1,就可以启动定时/计数器工作;GATA=1时,要用软件 使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时, 才能启动定时/计数器工作。即此时定时器的启动条件,加上 了INT0/1引脚为高电平这一条件。
门控位GATE具有特殊的作用。当GATE=0时,经反相 后使或门输出为1,此时仅由TR0控制与门的开启,与门输出 1时,控制开关接通,计数开始;当GATE=1时,由外中断引 脚信号控制或门的输出,此时控制与门的开启由外中断引脚 信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚的 高电平启动计数,外中断引脚信号引脚的低电平停止计数。 这种方式常用来测量外中断引脚上正脉冲的宽度。
可见,由溢出时计数器的值减去计数初值才是加 1计数器的计数值。
51单片机定时器结构
定时/计数器的实质是加1计数器(16位),由高8位和低8 位两个寄存器THx和TLx组成。TMOD是定时/计数器的工作方 式寄存器,确定工作方式和功能;TCON是控制寄存器,控制
第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溢出兼中断申请标志
电路中的计数器与定时器数字电路中的常用元件
电路中的计数器与定时器数字电路中的常用元件在数字电路中,计数器与定时器是常用的元件,主要起到计数和计时的作用,广泛应用于各种电子设备中。
本文将对计数器与定时器的原理、分类、应用以及在数字电路中的设计等方面进行介绍和探讨。
一、计数器计数器是一种数字电路元件,主要用于计数,常用于各种计数器件,如时钟、计时器、频率计和计数器等。
在数字电路中,计数器是一种二进制计数器,其功能是将二进制数字逐次加1,利用这种自然的计数方式可以实现直观的计数功能。
计数器的原理计数器是由触发器和组合逻辑门构成的,触发器用于存储计数器的状态,组合逻辑门用于控制触发器的状态,根据不同的控制方式可以实现不同类型的计数器。
计数器的分类常见的计数器有以下几种:1. 同步计数器:同步计数器是由同步触发器和组合逻辑门构成的,每次计数都是同步进行的,在时钟的作用下实现计数。
同步计数器适用于需要精确计数的场合。
2. 异步计数器:异步计数器是由异步触发器和组合逻辑门构成的,计数不是同步进行的,其计数速度比同步计数器快。
异步计数器适用于计数速度较快的场合。
3. 可编程计数器:可编程计数器可以通过编程实现不同的计数值,具有较高的灵活性和可编程性。
计数器的应用计数器广泛应用于各种电子设备中,其中一些应用包括:1. 时钟:时钟是一种常见的计时器,可以通过计数器实现对时间的计算和显示。
2. 计时器:计时器通常用于精确定时和计时,如计时器、秒表、定时器等。
3. 频率计:频率计可以通过计数器实现对波形频率的计算和显示。
二、定时器定时器是一种数字电路元件,主要用于计时,广泛应用于各种电子设备中。
定时器的原理定时器同样由触发器和组合逻辑门构成,其中触发器用于存储状态,组合逻辑门可以控制触发器的状态,实现不同类型的定时器。
定时器的分类常见的定时器有以下几种:1. 单稳态定时器:单稳态定时器是由触发器和组合逻辑门构成的,在触发脉冲的作用下,输出一次脉冲并保持一段时间,常用于需要延时一段时间后输出脉冲的场合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计数器与定时器概念
一、计数概念的引入
从选票的统计谈起:画“正”。
这就是计数,生活中计数的例子处处可见。
例:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例子,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的方法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就可以知道走过的线有多长了。
二、计数器的容量
从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。
水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。
录音机上的计数器最多只计到999….那么单片机中的计数器有多大的容量呢?8031单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。
三、定时
8031中的计数器除了可以作为计数之用外,还可以用作时钟,时钟的用途当然很大,如打铃器,电视机定时关机,空调定时开关等等,那么计数器是如何作为定时器来用的呢?
一个闹钟,我将它定时在1个小时后闹响,换言之,也可以说是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间的确十分相关。
那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。
图1
结论:只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。
由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。
那么提供组定时器的是计数源是什么呢?看图1,原来就是由单片机的晶振经过12分频后获得的一个脉冲源。
晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。
问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?当然这很容易,就是12M/12等于1M,也就是1个微秒。
结论:计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。
四、溢出
让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。
这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。
水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。
至于TF0是什么我们稍后再谈。
一旦TF0由0变成1,就是产生了变化,产生了变化就会引发事件,就象定时的时间一到,闹钟就会响一样。
至于会引发什么事件,我们下次课再介绍,现在我们来研究另一个问题:要有多少个计数脉冲才会使TF0由0变为1。
五、任意定时及计数的方法
刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。
这个没有问题,问题是我们现实生活中,经常会有
少于65536个计数值的要求,如包装线上,一打为12瓶,一瓶药片为100粒,怎么样来满足这个要求呢?
提示:如果是一个空的盆要1万滴水滴进去才会满,我在开始滴水之前就先放入一勺水,还需要10000滴嘛?
对了,我们采用预置数的方法,我要计100,那我就先放进65436,再来100个脉冲,不就到了65536了吗。
定时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒,但现在我只要10毫秒就可以了,怎么办?
10个毫秒为10000个微秒,所以,只要在计数器里面放进55536就可以了。