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

合集下载

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

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

80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。

以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。

定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。

2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。

计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。

3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。

例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。

在计数模式下,定时常数由外部事件发生的时间间隔决定。

4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。

中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。

5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。

6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。

为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。

单片机定时器 计数器

单片机定时器 计数器

单片机定时器计数器单片机定时器/计数器在单片机的世界里,定时器/计数器就像是一个精准的小管家,默默地为系统的各种操作提供着精确的时间控制和计数服务。

无论是在简单的电子时钟、还是复杂的通信系统中,都能看到它们忙碌的身影。

那什么是单片机的定时器/计数器呢?简单来说,定时器就是能够按照设定的时间间隔产生中断或者触发事件的模块;而计数器则是用于对外部脉冲或者内部事件进行计数的功能单元。

我们先来看看定时器的工作原理。

想象一下,单片机内部有一个像小闹钟一样的东西,我们可以给它设定一个时间值,比如说 1 毫秒。

当单片机开始工作后,这个小闹钟就会以一个固定的频率开始倒计时,当倒计时结束,也就是 1 毫秒到了,它就会发出一个信号,告诉单片机“时间到啦”!这个信号可以用来触发各种操作,比如更新显示、读取传感器数据等等。

定时器的核心在于它的时钟源。

就好比小闹钟的动力来源,时钟源决定了定时器倒计时的速度。

常见的时钟源有单片机的内部时钟和外部时钟。

内部时钟一般比较稳定,但精度可能会受到一些限制;而外部时钟则可以提供更高的精度,但需要额外的电路支持。

再来说说计数器。

计数器就像是一个勤劳的小会计,不停地数着外面进来的“豆子”。

这些“豆子”可以是外部的脉冲信号,也可以是单片机内部产生的事件。

比如,我们可以用计数器来统计电机旋转的圈数,或者计算按键被按下的次数。

计数器的工作方式也有多种。

可以是向上计数,就是从 0 开始,不断增加,直到达到设定的最大值;也可以是向下计数,从设定的最大值开始,逐渐减少到 0。

还有一种更灵活的方式是双向计数,根据需要在向上和向下之间切换。

那么,定时器/计数器在实际应用中有哪些用处呢?比如说,在一个智能温度控制系统中,我们可以用定时器每隔一段时间读取一次温度传感器的数据,然后根据温度的变化来控制加热或者制冷设备的工作。

而计数器则可以用来统计设备运行的次数,以便进行维护和保养。

在电子时钟的设计中,定时器更是发挥了关键作用。

51单片机定时-计数器结构和计数器工作原理

51单片机定时-计数器结构和计数器工作原理
使用中断方式时对IE寄存器赋值开发中断
使TR0或TR1置位,启动定时/计数器
晶体振荡器的振荡信号从XTAL2端输入到片内的时钟发生器上,时钟发
生器是一个二分频触发器电路,它将振荡器的信号频率除以2,向CPU提供
了两相时钟信号P1和P2。时钟信号的周期称为机器状态时间S,它是振荡
周期的2倍。在每个时钟周期(即机器状态时间S)的前半周期,相位1(即
P1信号)有效,在每个时钟周期的后半周期,相位2(即P2信号)有效。
提供
用途:定时器和计数器
核心:加1计数器
原理:每来一个脉冲则加1计数器加1,当加到全1时再来一个脉冲使加
1计数器归零,同时加1计数器的溢出使TCON寄存器中的TF0(或TF1)
置1,向CPU发出中断请求
脉冲来
补充:
计数器工作原理:
用作计数器时,对T0或T1引脚的外部脉冲计数,如果前一个机器周期
采样值为1,后一个机器周期采样值为0,则说明有一个脉冲,计数器加
1。
在每个机器周期的S5P2期间采样引脚输入电平。新的计数初值于下一个
机器周期的S3P1期间装入计数器。
此种方式需要两个机器周期来检测一个1->0负跳变信号,因此最高的计
数频率为时钟频率的1/24。
S5P2:
S5P2指的是第5个时钟周期的相位2。
工作原理:13位计数器,使用TL0的低5位和TH0的高8位组成,TL0
的低5位溢出时向TH0进位。TH0溢出时发出中断请求。
方式1
计算公式:
最大计数:65536个机器周期
工作原理:16位计数器,TL0作为低8位,TH0作为高8位
方式2:自动重装初值的8位计数方式
计算公式:p.s.晶振频率必须选择12的整数倍,因为定时器的频率是晶振

单片机定时器与计数器

单片机定时器与计数器

定时器计数器原理及应用一、知识点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,与定时器/计数器的控制无关。

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

MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器

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

单片机计数器,定时器工作原理_
TH0高8位
模= 1FFFH+1
=2 13
TL0低5位
1
1
1
1
1
1
0
0
X X X 1
1
1
0
0
用指令装入初值: MOV TH0,#0FCH; MOV TL0,#1CH;(xxx用‘0’填入) 方式1 (16位方式): 初值=(-64H)=10000H-64H=FF9CH 用指令装入计数初值: MOV TH0,#0FFH MOV TL0,#9CH
5-24
中断方式 ORG 0000H AJMP MAIN ;单片机复位后从0000H开始执行 ORG 001BH ;T1中断入口 AJMP TIME1 ;转到T1 中断服务程序
ORG 0030H ;主程序 MAIN:MOV A,#01H MOV P1,A ;置初值,第一个LED亮 MOV TMOD,#10H ;T1工作于定时方式1 MOV TH1,#3CH MOV TL1,#0B0H ;定时100ms SETB EA SETB TR1 SETB ET1 WAIT:SJMP WAIT ;中断总允许 ;启动T1工作 ;允许T1中断 ;等待中断
这种情况下,T1仍可工作于方式0、1、2,但不能使用中 断方式。 只有将T1用做串行口的波特率发生器时,T0才工作在方式 3,以便增加一个定时器。
5-16
4、方式3 M1M0=11
1/12fosc
K °
仅适用于T0
定时/计数器0(方式3):2个8位计数器。
振荡源 ÷ 12 C/ T=0 ° S ° C/ T=1 ≥1 °
5-22
分析 : 利用T1完成100ms的定时,当P1口线输出‘1’时, 发光二极管亮,每隔100ms,‘1’左移一次。

单片机的结构及工作原理

单片机的结构及工作原理

单片机的结构及工作原理
单片机是一种集成电路芯片,它由CPU核心、存储器、I/O端口、定时器/计数器、中断控制器以及其他外围电路组成。

单片机的工作原理如下:
1. 开机复位:单片机通电后,会执行复位操作。

当复位信号触发时,CPU会跳转到预定的复位向量地址,开始执行复位操作。

2. 初始化:执行复位操作后,单片机会进行初始化。

这包括设置输入/输出端口的初始状态、初始化定时器和计数器等。

3. 执行指令:一旦初始化完成,单片机会开始执行存储器中的指令。

指令通常存储在Flash存储器中,单片机会按照程序计
数器(PC)的值逐条执行指令。

4. 控制流程:单片机执行程序时会根据条件跳转、循环、分支等控制流程操作来改变指令执行顺序。

5. 处理输入输出:单片机可以从外部设备(如传感器、键盘等)读取输入信号,并根据程序逻辑给出相应的输出信号。

6. 中断处理:单片机具有中断控制功能,可以在特定条件下立即中断当前程序,并执行中断服务程序。

中断通常用于及时响应外界事件。

7. 系统时钟:单片机需要一个时钟源来同步指令和数据的处理。

时钟源可以是外部晶振、内部振荡器或者其他时钟源,它们提供基准频率给单片机。

单片机的工作基于时钟信号和电压供应,控制执行指令、处理输入输出等任务。

通过程序设计和外部电路连接,单片机可以应用于各种领域,如家用电器、自动化控制、通信等。

单片机定时器与计数器的工作原理及应用

单片机定时器与计数器的工作原理及应用

单片机定时器与计数器的工作原理及应用摘要:单片机作为现代电子设备中广泛采用的一种集成电路,其内部包含了丰富的功能模块,其中定时器和计数器被广泛应用于各种领域。

本文将介绍单片机定时器和计数器的工作原理及应用,包括定时器的基本原理、工作模式和参数配置,以及计数器的工作原理和常见应用场景。

希望通过本文的阐述,读者能够深入了解单片机定时器和计数器的基本原理和应用,为电子系统设计提供参考。

引言:单片机作为嵌入式系统中的核心部件,承担着控制和处理各种信号的重要任务。

定时器和计数器作为单片机的重要功能模块,为实现各种实时控制任务提供了有效的工具。

定时器可以生成一定时间间隔的定时信号,而计数器则可以对外部事件的频率进行计数,实现时间测量和计数控制等功能。

一、定时器的工作原理单片机中的定时器通常为计数器加上一定逻辑控制电路构成。

定时器的基本工作原理是通过控制计数器的计数速度和计数值来实现不同时间间隔的输出信号。

当定时器触发时,计数器开始计数,当计数值达到预设值时,定时器产生一个输出信号,然后重新开始计数。

定时器通常由以下几个部分组成:1.计数器:定时器的核心部件是计数器,计数器可以通过内部振荡器或外部输入信号进行计数。

通常情况下,计数器是一个二进制计数器,它可以按照1、2、4、8等倍数进行计数。

2.预设值:定时器的预设值决定了定时器的时间间隔。

当计数器达到预设值时,定时器会产生一个输出脉冲。

3.控制逻辑电路:控制逻辑电路用于控制计数器的启动、停止和重置等操作。

通常情况下,控制逻辑电路由一系列的触发器和逻辑门组成。

二、定时器的工作模式定时器可以根据实际需求在不同的工作模式下运行,常见的工作模式有以下几种:1.定时工作模式:在定时工作模式下,定时器按照设定的时间间隔进行计数,并在计数值达到预设值时产生一个输出脉冲。

这种模式常用于周期性任务的触发和时间测量。

2.计数工作模式:在计数工作模式下,定时器通过外部输入信号进行计数,可以测量外部事件的频率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GATE
C/ T M1
M0
GATE
C/ T M1
M0
T1 方式1 :TMOD=10H
微机原理及应用
5-23
程序如下
查询方式
ORG 00H MOV TMOD,#10H ;T1工作于定时方式1 MOV A,#01H ;置初值,第一个LED亮 NEXT:MOV P1,A MOV TH1,#3CH MOV TL1,#0B0H ; 定时100ms SETB TR1 AGAI: JBC TF1,SHI ; 100ms到转SHI,并清TF1 SJMP AGAI SHI: RL A SJMP NEXT
TH0 TL0
TF0
中断
T0引脚 GATE INT0 1°
8
&
内部控制 S开关: S打向上,定时; S 打向下,计数。 计数满,标志置位,产生中断。 K开关:GATE=0时,TR0=1,定时/计数器启动工作; GATE=1时, INT0 和TR0 同时为1时,启动工作。 定时/计数器T1: 控制信号(T1,INT1,TR1) 计数器(TH1、TL1),TF1
微机原理及应用
TR0
外部控制
5-4
5.1.1 定时/计数器的结构和工作原理
1、定时工作方式 定时工作方式时,定时器脉冲由单片机内部振荡器经12分 频后产生的。 每经过一个机器周期定时器(T0或T1)的数值加1,直至计 数满产生溢出。 例如:当8051采用12MHz晶体时,每个机器周期为1μs, 计5 个计数周期即为5 μs,即定时5 μs 。
微机原理及应用
5-13
5.1.3 定时器的四种工作方式
3、方式2 M1M0=10 8位的可自动重装载的定时/计数方式。 16位的计数器被拆成两个8位,其中TLx用作8位计数器, THx用以保持计数初值。 当TLx计数溢出,置位TFx,THx中的初值自动装入TLx, 继续计数,循环重复计数。
振荡源 ÷ 12
微机原理及应用
5-5
5.1.1 定时/计数器的结构和工作原理
2. 计数工作方式 当输入脉冲信号产生由1至0的下降沿时,定时器的值加1;在 每个机器周期CPU采样T0和T1的输入电平。若前一个机器周 期采样值为高,下一个采样周期值为低,则计数器加 1。 检测跳变需要2个机器周期,故最高计数频率f=fosc/24。 为了确保某个电平在变化之前至少被采样一次,要求电平保持 时间至少是一个完整的机器周期。
微机原理及应用
;中断总允许 ;启动T1工作 ;允许T1中断 ;等待中断
5-25
中断服务程序
TIME1:RL A ;左移一位 MOV P1,A ;下一个发光二极管亮 MOV TH1,#3CH MOV TL1,#0B0H ;重装计数值 RETI ;中断返回
以上程序执行结果,八个LED一直循环轮流点亮。
2)设置工作方式控制字,送TMOD寄存器;
3)设置初值,送到THX和TLX寄存器中; 4)启动定时(或计数),即置位TRX。 如果工作于中断方式,需要置位EA(中断总开关)及 ETX(允许定时/计数器中断),并编中断服务程序。
微机原理及应用
5-21
3、应用编程举例
例5-1 如图所示: P1中接有八个发光二极管,编 程使八个管轮流点亮,每个管 亮100ms,设晶振为6MHz。
方式0 最大计数值为 213 = 8192个脉冲; 用于定时工作时,定时时间为: t=(213一Tx初值) ×机器周期
微机原理及应用
5-12
5.1.3 定时器的四种工作方式
2 、方式1 M1M0=01 (与方式0类似) 16位定时/计数方式,寄存器THx和TLx以16位参与操作。 最大计数 216=65536(个外部脉冲) 定时工作方式时,定时时间为: t=(216一Tx初值) ×机器周期
Tx引脚 GATE INTx TRx 微机原理及应用
C/ T=0 ° S ° C/ T=1
≥1
K °
TLx
TFx
中断

°
&
THx
5-14
5.1.3 定时器的四种工作方式
3、方式2 M1M0=10 最大计数值为:28=256(个外部脉冲)。 定时工作方式时,定时时间为: t=(256一Tx初值) ×机器周期
INT1
请求 有/无
INT1
方式 下沿/ 低电平
INT0
请求
INT0
方式 低电 平
有/无 启/停
有/无 下沿/
T1
T0
外部中断
微机原理及应用
5-9
TF1:T1溢出中断请求标志。 TF1=1,T1有溢出中断请求。 TF1=0,T1无溢出中断请求。 TR1:T1运行控制位。 TR1=1,启动T1工作。 TR1=0,停止T1工作。 TF0:T0溢出中断请求标志。 TF0=1,T0有溢出中断请求。 TF0=0,T0无溢出中断请求。 TR0:T0运行控制位。 TR0=1,启动T0工作。 TR0=0,停止T0工作。
微机原理及应用
5-19
方式2(8位自动再装入方式) 初值=(-64H)=100H-64H=9CH 初值既要装入TH0,也要装入TL0: MOV TH0,#9CH MOV TL0,#9CH
微机原理及应用
5-20
2、定时/计数器的初始化编程
定时/计数器是可编程部件,使用前应先对其内部寄存器进行 设置----这称为初始化编程。 定时计数器的初始化编程步骤: 1)根据定时时间要求,计算计数器初值;
第5章单题 1、2、3
设计、编程 5、6
微机原理及应用
第5章单片机的定时/计数器与串行接口
5.1 定时/计数器T0、T1
5.1.1 定时/计数器的结构和工作原理 5.1.2 定时/计数器的寄存器 5.1.3 定时器的四种工作方式 5.1.4 定时计数器的应用程序设计
方式0( 13位方式): 初值=(-64H)=2000H-64H=1F9CH 1F9CH=0001 1111 1001 1100 B
TH0高8位
模= 1FFFH+1
=2 13
TL0低5位
1
1
1
1
1
1
0
0
X X X 1
1
1
0
0
用指令装入初值: MOV TH0,#0FCH; MOV TL0,#1CH;(xxx用‘0’填入) 方式1 (16位方式): 初值=(-64H)=10000H-64H=FF9CH 用指令装入计数初值: MOV TH0,#0FFH MOV TL0,#9CH
定时器T1 D7 D6 D5 D4 D3 定时器T0 D2 D1 D0
GATE C/ T M1
M0 GATE C/ T M1
M0
微机原理及应用
5-7
GATE
C/ T M1
M0
GATE
C/ T M1
M0
GATE:门控位 GATE=0,TRx=1时,即可启动定时器工作 ; GATE=1,INTx=1且TRx=1时,才可启动定时器工作。 C/ T :定时/计数 选择位 C/ T =1,为计数器方式; C/ T =0,为定时器方式。 M1 M0:工作方式 选择位 M1M0=00 工作方式0(13位方式)。 4
振荡源
÷ 12
Tx引脚
GATE 1°
C/ T=0 ° S ° C/ T=1 ≥1 °
K °
THx TLx
TFx
中断
8位
&
低5位
INTx
TRx 微机原理及应用
5-11
5.1.3 定时器的四种工作方式
当TLX的低5位溢出时,向THX进位; 而THX溢出时,硬件置位TFX。 定时、计数溢出否,可查询TFx是否置位;如果开中断则产 生溢出中断。
初值的求法: 定时方式: 初值 = [ t / MC]补 =模-t / MC
定时时间 机器周期=12/fosc
如:采用12MHZ晶振时,MC=1us; 6MHZ晶振, MC=2us。 计数方式:初值 =模-要计数的值X 通常也可将初值设为0
微机原理及应用
5-18
例 计算T0 计数100个脉冲的初值
计数工作方式时,计数脉冲信号来自T0(P3.4)和T1(P3.5)引脚。
>Tcy Tcy: 机器周期
>Tcy
微机原理及应用
5-6
5.1.2
定时/计数器的寄存器
寄存器有2个:控制寄存器TCON(88H) 工作方式寄存器TMOD(89H) 1、工作方式寄存器TMOD(89H)
TMOD用于控制T0和T1的操作方式。其各位的定义如下:
微机原理及应用
5-24
中断方式 ORG 0000H AJMP MAIN ;单片机复位后从0000H开始执行 ORG 001BH ;T1中断入口 AJMP TIME1 ;转到T1 中断服务程序
ORG 0030H ;主程序 MAIN:MOV A,#01H MOV P1,A ;置初值,第一个LED亮 MOV TMOD,#10H ;T1工作于定时方式1 MOV TH1,#3CH MOV TL1,#0B0H ;定时100ms SETB EA SETB TR1 SETB ET1 WAIT:SJMP WAIT
C/ T=0 ° S ° C/ T=1 ≥1 °
仅适用于T0
定时/计数器0(方式3):2个8位计数器。
振荡源 ÷ 12
K °
TL0
TF0
中断
T0引脚
GATE

INT0
TR0
&
1/12fosc
TR1
K °
TH0
TF1
中断
微机原理及应用
5-17
5.1.4 定时计数器的应用程序设计
1、定时/计数器的初值的计算和装入 定时器/计数器不同工作方式,其最大计数值(模值)不同, 由于采用加1计数,因此计数初值应为负值,计算机中用有符 号数采用补码表示。
相关文档
最新文档