单片机 定时器与计数器

合集下载

单片机定时器计数器教学课件

单片机定时器计数器教学课件

单片 机开 发板
如Keil、IAR等,用于编

译和烧录程序到单片机

中。

用于搭建定时器计数器

电路。



用于编写和调试程序。

线
用于连接单片机引脚和 实验设备。
电阻 、电 容等 电子 元件
实验步骤与操作
5. 实验操作
根据实验要求,操作单片机开发板,观察 定时器计数器的运行状态和输出结果,记 录实验数据。
功能
定时器计数器在单片机中主要实 现定时、计数、产生中断等功能 ,是单片机应用中不可或缺的模 块。
工作原理
工作方式
定时器计数器通常采用计数或计时的 方式工作,通过内部或外部信号的输 入进行计数或计时。
工作流程
定时器计数器接收到启动信号后开始 工作,当计数值达到预设值时,产生 相应的中断或输出信号。
自动化控制
在生产线中,单片机定时器计数 器可以用于控制机械臂的运动、 物料传送等,实现自动化生产。
精确计时
在工业控制中,单片机定时器计数 器可以用于精确计时,如控制设备 的运行时间、报警触发等。
数据采集
单片机定时器计数器可以用于采集 生产过程中的各种数据,如温度、 压力、流量等,为生产管理提供数 据支持。
单片机定时器计数器教学课件
contents
目录
• 单片机定时器计数器概述 • 单片机定时器计数器的应用 • 单片机定时器计数器的编程 • 单片机定时器计数器的实验 • 单片机定时器计数器的案例分析
01
单片机定时器计数器概述
定义与功能
定义
单片机定时器计数器是一种用于 产生时间间隔或计数的硬件设备 ,常用于控制和测量时间。

单片机 第五章2 单片机的定时器计数器

单片机 第五章2 单片机的定时器计数器

若晶振频率为6MHz,1个机器周期为1/6 x 10-6 x12=2μs 则最小定时时间为:[213 –(213 -1)]x2μs=2μs 最大定时时间为:[213 –0] x2μs=16384μs =16.384ms
2、 方式1 (T1,T0) 当M1M0两位为 01时,定时 /计数器被选为工作方式 1,16位计数器,其逻辑结构 如图 所示。
8FH TCON TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
TF1(TCON.7, 8FH位)----定时器T1中断请求溢出标志位。 TF0(TCON.5, 8DH位)----定时器T0中断请求溢出标志位。 TR1(TCON.6, 8EH位)----T1运行控制位。 0:关闭T1;1:启动T1运行。只由软件置位或清零。 TR0(TCON.4, 8CH位)----T0运行控制位。 0:关闭T0;1:启动T0运行。只由软件置位或清零。
1、 方式0 (T1,T0)
当 M1M0两位为 00时,定时 /计数器被选为工作方式 0, 13位计数器,其逻辑结 构如图所示。
振荡器 ÷12 C/ T = 0 TL0 低5位 C/ T = 1 控制 T0 端 TR0 GATE INT0 端 TH0 高8 位 TF0 中断
+
在方式0下,计数工作方式时,计数值的范围是: 1~8192(213 ) 定时工作方式时,定时时间的计算公式为: (213一计数初值)×晶振周期×12 或(213一计数初值)×机器周期
例4:用定时器l 以工作方式2计数,每计100次进行累计器加1操作.
(1)计算计数初值. 28—100=156D=9CH TH1=9CH,TL1=9CH TMOD寄存器初始化:MlM0=10,C/T=1,GATE=0 因此 TMOD=60H (2)程序设计序设计

单片机第六章定时器

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

认识单片机的定时器计数器

认识单片机的定时器计数器

void main(void) { TMOD=0x01;
TH0=-25000/256; TL0=-25000%256; TR0=1; ET0=1; EA=1; while(1); } void timer0(void) interrupt 1 { TH0=-25000/256;
TL0=-25000%256; P10=~P10; }
根据定时时间T,及公式(1)、(2)分别可以求出初 值N为:
方式1: N=216-T×fosc/12
(3)
方式2、方式3 :N=28-T×fosc/12 (4)
如果fosc=12MHZ,以上公式可简化为
方式1: N=216-T
方式2、方式3 :N=28-T
例如:系统的时钟频率是12MHz,在方式1下,如果希望定时 器/计数器T0的定时时间T为10ms,则初值N =216-T=6553610000=55536
任务一、认识单片机的定时器/计数器
一、定时器/计数器及其应用 在单片机应用系统中,定时或计数是必不可少的。例如: 测量一个脉冲信号的频率、周期,或者统计一段时间里 电机转动了多少圈等。常用的定时方法有:
1、软件定时 软件定时是依靠执行一段程序来实现的,这段程序本身 没有具体的意义,通过选择恰当的指令及循环次数实现 所需的定时,由于执行每条指令都需一定的时间,执行 这段程序所需总的时间就是定时时间。 软件定时的特点是无需硬件电路,但定时期间CPU被占 用,增加了CPU的开销,因此定时时间不宜过长,而且 定时期间如果发生中断,定时时间就会出现误差。
led=_crol_(led,1); 满10次变量led左移1位送P0口
P0=led;
}
}
[案例3] 用定时器的计数方式实现外部中断。如图 所示,P0口控制8只发光管轮流点亮,发光管点 亮时间为500ms,单脉冲电路控制发光管的移动 方向,按下单脉冲按钮,发光管左移,再按下发 光管右移 。

第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 } }

单片机定时器与计数器

单片机定时器与计数器

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

单片机定时器与计数器的区别

单片机定时器与计数器的区别

单片机定时器与计数器的区别在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讲 定时器与计数器

第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

定时器与计数器

定时器与计数器

第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所示。

单片机原理第5章定时、计数器

单片机原理第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是控制寄存器,控制

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

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

单片机定时器计数器工作原理一、引言单片机作为嵌入式系统的核心部件,在工业控制、智能家居、汽车电子等领域中发挥着重要作用。

在单片机中,定时器和计数器是常用的功能模块,它们可以实现精确的定时控制和计数功能。

本文将详细介绍单片机定时器计数器的工作原理,以及其在实际应用中的作用。

二、单片机定时器和计数器概述单片机定时器和计数器是单片机内部的特殊功能模块,用于生成精确的时间延时和进行事件计数。

在单片机的内部结构中,定时器和计数器通常由定时/计数器模块和控制逻辑组成,通过寄存器配置和控制信号来实现各种定时和计数功能。

定时器和计数器通常包括以下几个重要的功能部分:1. 控制寄存器:用于配置定时器/计数器工作模式、计数模式、计数方向等参数。

2. 定时/计数寄存器:用于存储定时器/计数器的计数值,根据计数模式进行累加或递减。

3. 比较寄存器:用于存储比较值,用于与定时/计数器的计数值进行比较,从而触发相应的中断或输出信号。

定时器通常用于产生精确的时间延时,常用于生成精确的脉冲信号、PWM信号等。

而计数器则用于进行精确的事件计数,通常用于测量脉冲个数、计时等应用。

三、定时器和计数器的工作原理1. 定时器的工作原理定时器的工作原理主要分为定时/计数模式的选择、定时器计数器的递增和中断触发等几个方面。

在配置定时器工作模式时,可以选择不同的计数模式,包括定时器/计数器模式、分频器模式等。

通过配置控制寄存器和定时/计数寄存器,可以设置定时器的计数值和计数方向。

在定时器计数器的递增过程中,定时器会根据设定的计数模式和计数值进行递增,当达到比较寄存器中的比较值时,会触发相应的中断或输出信号。

这样就实现了定时器的定时操作。

2. 计数器的工作原理计数器的工作原理与定时器类似,同样涉及到计数模式的选择、计数器的递增和中断触发等几个方面。

在配置计数器工作模式时,同样可以选择不同的计数模式,通过配置控制寄存器和计数寄存器来设置计数器的计数值和计数方向。

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

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

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

通过定时器计数器,单片机能够精准地进行定时操作,实现定时中断、计数、脉冲生成等功能。

本文将详细介绍单片机定时器计数器的工作原理。

1. 定时器计数器的功能单片机定时器计数器通常由若干寄存器和控制逻辑组成,可以实现以下几种功能:- 定时功能:通过设置计数器的初始值和工作模式,可以实现一定时间的定时功能,单片机能够在计时结束时触发中断或产生输出信号。

- 计数功能:可以实现对外部信号的计数功能,用于测量脉冲个数、频率等。

也可以用于实现脉冲输出、PWM等功能。

- 脉冲发生功能:可以在一定条件下控制定时器输出脉冲,用于控制外部器件的工作。

2. 定时器计数器的工作原理定时器计数器的工作原理可以分为初始化、计数及中断处理几个基本环节。

(1)初始化:在使用定时器前,需要对定时器计数器进行初始化设置。

主要包括选择工作模式、设置计数器的初始值、开启中断等。

不同的单片机厂商提供了不同的定时器初始化方式和寄存器设置方式,通常需要查阅相关的单片机手册来进行设置。

(2)计数:初始化完成后,定时器开始进行计数工作。

根据不同的工作模式,定时器可以以不同的频率进行计数。

通常采用的计数源是内部时钟频率,也可以选择外部时钟源。

通过对计数器的频率设置和初始值的设定,可以实现不同的定时功能。

(3)中断处理:在定时器计数完成后,可以触发中断来通知单片机进行相应的处理。

通过中断服务程序,可以定时执行一些任务,或者控制一些外部设备。

中断服务程序的编写需要根据具体的单片机和编程语言来进行相应的设置。

3. 定时器计数器的应用定时器计数器广泛应用于各种嵌入式系统中,最常见的应用包括定时中断、PWM输出、脉冲计数、定时控制等。

可以利用定时器计数器实现LED呼吸灯效果、马达控制、红外遥控编码等功能。

在工业自动化、通信设备、电子仪器等领域也有着广泛的应用。

第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溢出兼中断申请标志

单片机定时器,计数器

单片机定时器,计数器

第六章定时器/计数器第一节概述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时停止计数。

单片机原理及应用教程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的工作模式

单片机中的定时器和计数器

单片机中的定时器和计数器

单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。

其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。

本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。

一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。

定时器一般由一个计数器和一组控制寄存器组成。

具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。

在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。

2. 设置定时器的阈值:即需要计时的时间间隔。

3. 启动定时器:通过控制寄存器来启动定时器的运行。

4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。

二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。

计数器一般由一个计数寄存器和一组控制寄存器组成。

计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。

在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。

2. 设置计数器的初始值:即计数器开始计数的初始值。

3. 启动计数器:通过控制寄存器来启动计数器的运行。

4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。

三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。

2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。

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

6.4.2.工作方式1
【例6-3】设fosc=12MHz,定时器/计数器0以工 作方式1实现在P2口8个引脚产生频率为250Hz的 等宽方波。 光盘提供Proteus仿真文件,运行仿真文件夹\第6 章\LT6_3\LT6_3.DSN ,观察运行结果,并进一 步分析源程序。 图6-4 P2.X引脚输出的方波(仿真截图)
6.4.1.工作方式0
定时, 为0; 方式0,M1M0的组合为00; 与外部脉冲无关,GATE为0。 (4)编制程序(中断方式)如下: ORG 0000H LJMP MAIN ORG 001BH AJMP SFT1 ORG 0050H MAIN: MOV A,#00H
6.4.1.工作方式0
SETB SETB MOV MOV EA ET1 IP,#0 TMOD,#00H ;开中断
单片机原理与接口技术
大连理工大学出版社
第6章 定时器/计数器
时间就是生命
第6章 定时器/计数器
6.1 定时器/计数器的计数与定时 6.2 定时器/计数器的控制 6.3 定时器/计数器的编程 6.4 定时器/计数器的工作方式 6.5 定时器/计数器的综合应用举例
第6章 定时器/计数器
定时器/计数器与CPU并行工作,实现定 时/计数功能,并以定时/计数的结果对 单片机系统进行控制。本章主要介绍 MCS-51系列单片机定时器/计数器的控制 方法、工作方式、简单应用。
6.4.2.工作方式1 (2)设置TMOD。对T0的工作方式进行选择, 因此设置TMOD的低4位。 定时, 为0; 方式1,M1M0的组合为01; 与外部脉冲无关,GATE为0。 (3)编制程序(查询方式)如下: ORG 0000H AJMP MAIN
6.4.2.工作方式1
ORG MAIN: MOV CLR MOV MOV MOV SETB 0050H A,#00H EA ;关中断 TMOD,#01H ;设置TMOD,T0工作方 ;式1,计时 TH0,#0F8H ;设置计数初值 TL0,#30H TR0 ;启动定时
6.4.2.工作方式1
(1)首先计算定时时间。 方波频率为250Hz,则周期为4ms。 即P2口8个引脚每2ms取反一次,定时时间 为2ms。 计算计数初值。根据公式6-4有: 定时时间=(65536-计数初值)×12fOSC 计数初值=65536-定时时间×fOSC/12 =65536-2000×12MHz/12 =63536=0F8 30H
6.4.2.工作方式1
方式1利用了全部16位计数寄存器的计数范围, 计数寄存器的初始化步骤如下: (1)由公式6-3和6-4计算出十进制的计数初值。 (2)若计数初值小于256(28),将其送入TLi, 将0送入THi,完成计数寄存器初始化。 (3)若计数初值不小于256,将其转化为十六进 制形式,再将高低字节分别送入THi和TLi,完成 计数寄存器初始化。
单片机在每个机器周期对P3.4(T0)和P3.5(T1) 进行采样,若在一个机器周期采样到高电平,在 下一个机器周期采样到低电平,即得到一个有效 的计数脉冲。计数寄存器在下一个机器周期自动 加1。
6.1.2. 定时 MCS-51系列单片机中的计数器除了可以 作为计数之用外,还可以用作时钟完成 定时功能。定时就是对来自单片机内部 的计数脉冲进行计数。
6.4.1.工作方式0
【例6-2】设fosc=6MHz,定时器/计数器1以工作 方式0实现在P2口8个引脚产生频率为250Hz的等 宽方波。 光盘提供Proteus仿真文件,运行仿真文件夹\第6 章\LT6_2\LT6_2.DSN ,观察运行结果,并进一 步分析源程序。
图6-3 P2.X引脚输出的方波(仿真截图)
MOV MOV SETB
TH1,#0E0H TL1,#18H TR1
;设置中断优先级 ;设置TMOD,T1工作 ;方式0,计时 ;设置计数初值 ;启动定时
6.4.1.工作方式0
SJMP ORG SFT1: MOV MOV CPL MOV RETI END $ 0100H TH1,#0E0H ;重新设置计数初值 TL1,#18H A P2,A
注意:在定时模式下,51系列单片机的 计数源是晶振的12分频产生的脉冲。 思考:定时模式下,晶振频率为12MHz时, 计数脉冲的时间间隔为多少?
6.2.1.定时方式寄存器TMOD
定时方式寄存器TMOD是单片机专门用来 控制两个定时器/计数器的工作方式的寄 存器。这个寄存器的各位定义如下:
CT
6.2.1.定时方式寄存器TMOD
6.2.2.定时控制寄存器TCON
定时控制寄存器TCON既参与中断控制又 参与定时控制。此处只对与定时控制功 能有关的控制位进行回顾。
6.2.2.定时控制寄存器TCON
TCON的高四位进行定时/计数控制 TF0(TCON.5)——定时器/计数器T0的溢出中断 标志位,当T0定时(或计数)结束时,由硬件自 动置1。 TF1(TCON.7)——定时器/计数器T1的溢出中断 标志位,当T1定时(或计数)结束时,由硬件自 动置1。 TR0(TCON.4)——定时器/计数器T0的启动停止 控制位,由软件设定。TR0=0,停止T0定时(或 计数);TR0=1,启动T0定时(或计数)。 TR1(TCON.6)——定时器/计数器T1的启动停止 控制位,由软件进行设定。TR1=0,停止T1定时 (或计数);TR1=1,启动T1定时(或计数)。
6.2.3.定时器/计数器工作原理 当模拟控制开关接通时,计数寄存器在计 数脉冲的作用下进行增1计数,当计数溢出 时向计数溢出标志位TFi进位。
6.3.1.中断方式
定时器/计数器在中断方式下的编程步骤 如下: (1)开中断 (2)设置中断优先级 (3)TMOD初始化 (4)设置定时/计数初值 (5)启动定时/计数 (6)编写定时/计数中断处理程序
6.2.3.定时器/计数器工作原理 定时器/计数器工作原理如图6-2所示。
6.2.3.定时器/计数器工作原理
当 =0时,为定时工作模式,计数脉 冲是晶振的12分频。当 =1时,为计 数工作模式,外部计数脉冲由Ti(P3. (i+4))引入。
6.2.3.定时器/计数器工作原理
当GATE=0时,或门输出为高电平,与引脚 (P3.(2+i))无关。此时与门的输出仅 由TRi决定。TRi=1,与门输出高电平,接 通模拟控制开关,引入计数脉冲,进行定 时/计数操作。TRi=0,与门输出低电平, 断开模拟控制开关,定时/计数停止。源自 6.1 定时器/计数器的计数与定时
MCS-51系列单片机定时器/计数器的功能是用 以实现定时、计数,并以定时、计数的结果进 行控制。 8051内部有两个16位可编程的定时器/计数器 T0和T1。T0(T1)由两个8位寄存器TH0(TH1) 和TL0(TL1)拼装而成。其中TH0(TH1)为高 8位,TL1(TH1)为低8位。 T0和T1有定时和计数两种工作模式。 图6-1是MCS-51系列单片机定时器/计数器的内 部结构图。
方式0下的计数溢出值为8192(213)。则:
计数次数=8192-计数初值 定时时间=(8192-计数初值)×机器周期 (公式6-1) (公式6-2)
6.4.1.工作方式0
方式0没有充分利用16位计数寄存器的计数范 围,这是为了与MCS-48系列单片机兼容。13位 的计数寄存器的初始化有些烦琐,步骤如下: (1)由公式6-1和6-2计算出十进制的计数初 值。 (2)若计数初值小于32(25),将其送入TLi, 将0送入THi,完成计数寄存器初始化。 (3)若计数初值不小于32,先将其转化为二 进制形式。补足13位后,将低5位送入TLi,将 高8位送入THi,完成计数寄存器初始化。
注意:由于一次计数溢出时计数寄存器的内容为 0,在下次计数前需要重新为计数寄存器赋初值。
6.4.2.工作方式1
定时器/计数器T0和T1在方式0下的工作情况完全 相同。此时的计数寄存器为16位,构成如下: THi 7~0 TLi 7~0
方式1下的计数溢出值为65536(216)。则:
计数次数=65536-计数初值 (公式6-3) 定时时间=(65536-计数初值)×机器周期(公式6-4)
6.4.2.工作方式1
WAIT: JNB CLR MOV MOV CPL MOV SJMP END TF0,WAIT TF0 ;注意:将TF0软件清0 TH0,#0F8H TL0,#30H A P2,A WAIT
6.4.2.工作方式1
【例6-4】 设fOSC=6MHz,编程实现以定时器/计 数器T0方式1定时控制在P2口8个引脚产生周期为 2s的方波。 光盘提供Proteus仿真文件,运行仿真文件夹\第6 章\LT6_4\LT6_4.DSN ,观察运行结果,并进一 步分析源程序。 图6-5 P2.X引脚输出的方波(仿真截图)
下面介绍与定时器/计数器T0相关的TMOD的低4 位。 GATE——门控位。由图6-2可以看出, GATE=0时,由TR0来启动定时/计数; GATE=1时,由TR0和(P3.2)共同启动定时/计 数,只有当二者同时为1时才进行计数操作。 ——定时/计数模式选择位。 =0时,处于定时模式,内部计数脉冲是 对晶振进行12分频产生的; =1时,处于计数模式,外部计数脉冲由 T0(P3.4)引入。
6.1.1. 计数
计数就是对来自单片机外部的事件进行计数,为 了与请求中断的外部事件区分开,称此种外部事 件为外部计数事件。外部计数事件由脉冲引入, 单片机的P3.4(T0)和P3.5(T1)即为外部计数 脉冲的输入端。所谓计数,就是对有效计数脉冲 的计数。
注意:51系列单片机的两个定时器/计数器采用 加法计数结构。
6.3.2.查询方式
定时器/计数器在查询方式下的编程步骤 如下: (1)关中断 (2)TMOD初始化 (3)设置定时/计数初值 (4)启动定时/计数 (5)查询TFi及相关处理
6.4 定时器/计数器的工作方式 6.4.1.工作方式0
相关文档
最新文档