单片机的定时与计数

合集下载

单片机 第五章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,单脉冲电路控制发光管的移动 方向,按下单脉冲按钮,发光管左移,再按下发 光管右移 。

单片机定时器 计数器

单片机定时器 计数器

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

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

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

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

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

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

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

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

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

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

再来说说计数器。

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

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

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

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

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

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

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

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

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

单片机定时器与计数器

单片机定时器与计数器

定时器计数器原理及应用一、知识点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. 定时/计数模式(T/C mode):定时器用作定时器或者计数器,在设定时间或者计数到设定值后触发中断或者输出信号。

2. 输入捕获模式(Input Capture mode):定时器用于测量输入信号的脉冲宽度或者周期,在每次捕获到输入信号时记录定时器的值。

3. 输出比较模式(Output Compare mode):定时器用于与某个参考值进行比较,当定时器的值与参考值相等时,可以触发中断或者产生输出信号。

4. 脉冲宽度调制模式(PWM mode):定时器通过改变输出信号的占空比来生成脉冲宽度可调的方波,用于控制电机速度、LED亮度等应用。

5. 脉冲计数模式(Pulse Count mode):定时器用于计数输入信号的脉冲个数,在达到设定的脉冲数后触发中断或者产生输出信号。

这些定时器模式可以根据单片机的型号和品牌的不同而略有差异,具体的定时器模式可以参考单片机的技术手册或者开发工具的相关文档。

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

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

单片机定时器与计数器的区别在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,两者的区别是什么呢?下面就跟着店铺一起来看看吧。

单片机计数器与定时器的区别计数器和定时器的本质是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。

当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。

在定时器和计数器中都有一个溢出的概念,那什么是溢出了。

呵呵,我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。

同样的道理,假设水龙头的水是一滴滴的往碗里滴,那么总有一滴水是导致碗中的水溢出的。

在碗中溢出的水就浪费了,但是在单片机的定时计数器中溢出将导致一次中断,至于什么是中断我们下次再讲,这里只是初步的提下概念,中断就是能够打断系统正常运行,而去运行中断服务程序的过程,当服务程序运行完以后又自动回到被打断的地方继续运行。

在定时器计数器中,我们有个概念叫容量,就是最大计数量。

方式0是2的13次方,方式1是2的13次方,方式2是2的8次方,方式3是2的8次方。

把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。

在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。

假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。

问题1,我如何才能使碗接到10滴水就溢出呢?呵呵,我可以想象,如果拿一个空碗去接水,那么还是得要100滴水才能溢出,但是如果我们拿一个已经装有水的碗拿去接,那就不用100滴了。

到此我们可以算出,要使10滴水让碗中的水溢出,那么碗中就先要装90滴水。

在定时计数器中,这90滴水就是我们所谓的初始值。

问题2,在一个车间我们如何利用单片机对100件产品进行计件,并进行自动包装呢?我们可以利用计数器计数100,在中断中执行一个自动包装的动作就可以了。

单片机定时器计数器使用方法

单片机定时器计数器使用方法

单片机定时器计数器使用方法单片机作为嵌入式系统开发的核心部件之一,其定时器计数器具有重要的作用。

定时器计数器可以帮助我们实现时间控制、精确计时等功能。

本文将介绍单片机定时器计数器的使用方法,包括计数模式的设置、时钟选择和定时器中断的应用。

一、计数模式设置单片机定时器计数器可以分为定时计数和事件计数两种模式。

定时计数模式是根据设定的时间间隔进行计数,而事件计数模式是在外部事件触发下进行计数。

下面是单片机定时器计数器初始化的基本步骤:1. 确定计数模式:根据实际需求确定是使用定时计数模式还是事件计数模式。

2. 设置计数器初始值:根据所需的计数时间或计数事件的频率,设置计数器的初始值。

3. 配置计数器控制寄存器:设置计数器的计数模式、时钟源以及其他需要的参数。

4. 启动计数器:使能定时器计数器工作。

二、时钟选择单片机定时器计数器的时钟源可以选择内部时钟或外部时钟。

一般来说,内部时钟具有较高的精度和稳定性,使用起来更为方便。

以下是两种常见的时钟选择方式:1. 使用内部时钟:选择单片机内部提供的时钟源作为定时器计数器的时钟,通过设置寄存器来配置时钟源的频率。

2. 使用外部时钟:当需要更高的计数精度时,可以选择外部时钟源,将外部时钟接入到单片机的引脚,并在寄存器中配置外部时钟源。

三、定时器中断的应用定时器中断是单片机定时器计数器的重要应用之一,可以帮助我们实现精确的时间控制和任务调度。

下面是使用定时器中断的基本步骤:1. 配置中断向量表:为定时器中断向量分配一个唯一的中断向量地址,并将中断处理函数与之关联。

2. 配置中断优先级:如果系统中存在多个中断,需要根据实际情况为定时器中断配置适当的优先级。

3. 设置定时器计数器的中断触发条件:根据需求设置定时器计数器中断触发的条件,可以是定时完成或者达到指定的计数值。

4. 编写中断处理函数:编写定时器中断处理函数,完成需要执行的任务。

5. 启用定时器中断:使能定时器中断,将定时器计数器中的中断触发条件与中断处理函数关联起来。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机原理第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 溢出标志位.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机定时器-计数器实验总结

单片机定时器-计数器实验总结

单片机定时器-计数器实验总结单片机定时器/计数器实验总结篇一:单片机实验之定时器计数器应用实验一一、实验目的1、掌握定时器/计数器定时功能的使用方法。

2、掌握定时器/计数器的中断、查询使用方法。

3、掌握Prteus软件与Keil软件的使用方法。

4、掌握单片机系统的硬件和软件设计方法。

二、设计要求1、用Prteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P1.0口线上接示波器观察波形。

2、用Prteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P1.1口线上接示波器观察波形。

三、电路原理图六、实验总结通过这次实验,对定时器/计数器的查询工作方式有了比较深刻的理解,并能熟练运用。

掌握定时器/计数器的中断、查询使用方法。

对于思考题能够运用三种不同思路进行编程。

七、思考题1、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波。

答:程序见程序清单。

四、实验程序流程框图和程序清单1、以查询方式工作,在P1.0 RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #02H MV TH0, #9CH MV TL0, #9CH SETB TR0 LP: JNB TF0, LP CLR TF0 CPL P1.0 AJMP LP END2、以中断方式工作,在P1.1 RG 0000H START: LJMP MAIN RG 000BH LJMP TTC0 RG 0100H MAIN: MV TMD, #02H MV TH0, #88H MV TL0, #88H SETB EA SETB ET0 SETB TR0 HERE: LJMP HERE RG 0200H TTC0: CPL P1.1 RETI END3、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波 RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #20H MV TH1, #38H MV TL1, #38H MV TH0, #0F6H MV TL0, #14H LP1: SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CLR TR1 CPL P1.0 SETB TR0 LP3: JNB TF0, LP3 MV TH0, #0F6H MV TL0, #14H CLR TF0 CLR TR0 CPL P1.0 LJMP LP1 END RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #20H MV TH1, #38H MV TL1, #38H MV TH0, #0F0H MV TL0, #0CH SETB TR0 LP1: SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CLR TR1 CPL P1.0 SETB TR0 LP3: JNB TF0, LP3 CLR TF0 MV TH0, #0F0H MV TL0, #0CH CPL P1.0 LJMP LP1 END RG 0000H START: LJMP MAIN RG 0100H MAIN: MV IE, #00H MV TMD, #00H LP1: MV TH1, #0F9H MV TL1, #18H SETB TR1 LP2: JNB TF1, LP2 CLR TF1 CPL P1.0 MV TH1, #0F6H MV TL1, #14H LP3: JNB TF1, LP3 CLR TF1 CPL P1.0 LJMP LP1 END五、实验结果(波形图)篇二:单片机实验-定时器计数器应用实验一定时器/计数器应用实验一一、实验目的和要求1、掌握定时器/计数器定时功能的使用方法。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机定时计数器原理

单片机定时计数器原理

单片机定时计数器原理
单片机定时计数器原理是通过利用单片机内部的定时/计数器
模块来实现定时功能。

具体原理如下:
1. 单片机内部定时/计数器模块:单片机内部集成了一个或多
个定时/计数器模块,该模块由寄存器、时钟源和控制电路组成。

2. 寄存器设置:通过对寄存器的设置,可以选择计数器的工作模式、时钟源和计数值。

3. 时钟源选择:单片机提供多种时钟源,如外部晶体振荡器、内部时钟振荡器等。

根据具体应用的需求,选择合适的时钟源。

4. 工作模式选择:单片机提供多种工作模式,如定时模式、计数模式等。

根据具体应用的需求,选择合适的工作模式。

5. 计数值设置:可以通过对寄存器的设置,来确定计数器的计数值。

计数值的大小决定了定时的时间长度。

6. 中断触发:当计数器达到设定的计数值时,会自动触发定时中断信号。

通过中断服务程序,可以实现相应的定时功能。

7. 中断处理:定时中断触发后,单片机会跳转到中断服务程序,执行相应的操作。

如更新显示屏、控制外部设备等。

通过以上原理,单片机定时计数器可以实现各种定时任务,如
延时、定时触发事件等。

通过合理设置寄存器的值和选择合适的工作模式,可以满足不同应用场景的需求。

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

表5-2 定时 /计数器工作方式设置表
M1 0 M0 0 工作方式 方式0 说明 13位定时/计数器
0
1 1
1
0 1
方式1
方式2 方式3
16位定时计数器
自动重装8位定时/计数器 T0分成两个8位定时/计数器,T1停止计数
最后需要注意:TMOD寄存器是不能位寻址的,只能用字节
指令设置定时器工作模式和工作方式,高4位定义T1, 低4位定义T0。复位时,TMOD所有位均置0。
假设晶振频率是12MHZ,一个机器周期(计时脉冲)是1μS,最大 定时时间为65.536ms(计满65536个脉冲)。如果要定时50ms,预先 在计数器中放入定时初值65536-50000=15536即可。
另外,需要说明
单片机的定时计数装置一般是需要不断重复定时计数操作,即这次完 成50ms的定时任务,紧接着可能进行第二次50ms的定时操作。而定时计 数器一旦产生溢出,其值就会清零,定时时间就会不准确。
5.2 定时器实现LED灯闪烁
【例5-1】用定时器的查询方式实现LED灯的闪烁(间隔时间为60ms)
程序分析:
JBC指令格式:JBC bit,标号
这是一条判断转移并清0指令,JBC后面的第1个参数是位变量,第2个参数是一个标 号。如果bit位的值等于1,则转到标号所指的位置去执行指令,同时该bit位清0。在这 里,是判断定时溢出标志TF0是否溢出,并做出相应事件处理。
由上表可知,TMOD的低4位为T0的方式字段,高4 位为T1的方式字段,它 们的含义完全相同。各标志介绍如下: GATE:门控位。当GATE=0时,控制寄存器TCON中的TR0或TR1置1即可 启动定时器,称之为软启动;当GATE=1时,控制寄存器TCON中的TR0或 TR1须先置1,由 INT0 (P3.2)或 INT1 (P3.3)引脚为高电平时启动定 时器,称之为硬启动。作用:用于控制定时/计数器是否受外部中断请
置任意溢出的计数值呢?
这里就需要预置计数次数:如果要计数100,预先在计数器中
放上65436,这样再来100次脉冲信号,就到了65536最大 计数量,意味着可以溢出处理了。65436就称计数的预置 值。
6、定时时间的预置 (重点) 只要计数装置计数间隔时间固定,定时时间是可以转化成计数量来处理的, 这里就需要知道每计数一次要花费的时间,这个与单片机晶振频率相关。
③步骤三: 是否开启定时器/计数器中断
我们可以根据实际需要,决定是否允许定时器/计数器的中 断请求产生和CPU是否允许接受定时器/计数器的中断请求。由 于在本例中使用的是溢出查询处理方式,未采用溢出中断处理 方式,因此对中断允许寄存器IE的相关标志位未做设置。
在下一章学习中,我们将学习到定时器/计数器溢出的中断处理方式。
当程序运行时,只要按下按钮,按钮所连的红灯就会亮 一下,表示计数器进行了一次计数,同时计数值会通过上面 的八个黄灯以二进制形式输出。
3、计数工作必须满足以下要求:(重点) (1)外部计数脉冲从引脚T0(P3.4)和T1(P3.5)输入; (2)外部脉冲最高频率不能超过振荡频率的1/24; (3)保证输入信号高/低电平保持在一个机器周期以上时间,才能被系统 检测到; (4)只有输入引脚电平发生1到0的负跳变后,新的计数值才装入计数器 中。
5.2.2
定时器/计数器的初始化(重点)
在启动定时器/计数器工作之前,CPU必须将一些命令(称为控制字)写 入定时/计数器的相关寄存器中,这个过程称为定时/计数器的初始化。
初始化一般有四个步骤 ① 步骤一: 确定工作方式 通过对工作方式寄存器TMOD进行参数 设置,表明定时器/计数器0工作在定时 模式的工作方式1中。 在工作方式1时,其最大计数 值等于65536 ② 步骤二 :预置定时或计数的初值 设12M晶振,则机器周 期T=1s。因要求每 60ms溢出一次,计数值 =60ms/1s =60000。 65536-60000=5536=15A0H, 将15H、0A0H分别预置给TH0、 TL0,即完成初值设置。
XRL指令格式:XRL direct,#data
这是一条逻辑异或指令,XRL后面的第1个参数是直接地址,第2个参数是一个立即 数。将直接地址中的数据和立即数按位异或,结果再存放入直接地址中。在程序中, 它起的作用是将P1口数据取反后,去点亮LED灯。
目标:开始学习定时器/计数器的知识,了解什么是硬件延时了。
5 单片机定时与计数
电子信息工程系 董峰
任务与知识点(参考教材§5.3,P135)

任务
定时器实现LED闪烁 改变LED灯闪烁速度 流水线产品计数
交通信号灯的定时控制

知识点
定时器/计数器的基本结构及工作原理 定时器/计数器的初始化 定时器/计数器的相关计数器及各种工作方式
④步骤四: 启动定时器/计数器工作
直接由软件置位启动定时 器/计数器工作。
想一想,做一做
(1)如何将计数初值由十进制数转化成十六进制 数,并正确赋值给TH0和TL0?
(2)我们如何做到让硬件定时时间变长?
5.3 对LED灯闪烁速度的控制
思考:在例5-1中,LED灯闪的太快了,如何放慢速度呢?下面我们进行试验。 【例5-2】LED灯0.5秒闪烁速度控制。
为避免这种错误,我们应该在溢出发生后,马上将定时 计数预置初值再次送到定时计数器中,可以保证定时器计 数器准确工作。
想一想,做一做
(1)生产流水线对药片进行计量,每到60粒即为一 瓶,要进行封装操作,计数器应预置多大的计数预 值?
(2)假设单片机的晶振频率是12MHZ,需要定时 10ms,定时器应预置定时初值为多少?
称之为T0和T1,最大的计数量为65536(2的16次方)。
3、定时
单片机内部有定时与计数装置,如图5-1所示,我们称为定时器与计数器。
定时器则是由单片机内部振荡信 号经过12分频后产生一个时间间 隔稳定的计数信号。
计数器记录的是单片机外部 发生的事件,由单片机的外 部电路提供计数信号 图 5-1 定时器/计数器的定时或计数来源 假设单片机内部振荡频率是12MHZ,一个内部计数信号的时间间隔将是1μS。
产品计数
其次,我们还要知道计数溢出是 如何得到处理的,如【例5-4】所 示。
溢出处理
5.4.1 流水线产品计数 【例5-3】按键次数通过LED灯显示(二进制数)
1、任务分析:
该指令将定时/计数器1设定 为计数模式的工作方式1, 定时/计数器0不工作。
2、工作过程及电路原理图:
图 5-3 外部按键计数电路原理图
TR1:T1运行控制位。当GATE=0时,TR1置1,即可启动T1;当 GATE=1,TR1置1,不能启动T1,必须等 INT 1 为高电平才能启动T1。
TF0和TR0将作用于T0,其功能及操作情况同TF1和TR1。
5.4 流水线产品计数和溢出处理
前面介绍了定时/计数器的定时方式,下面通过两个案例看看定时/ 计数器的计数方式是如何进行的。 首先,让我们来看看计数信号在 计数器内部是如何表示的,如 【例5-3】所示;
5.3.2 控制寄存器TCON
表5-3控制寄存TCON
TCON
位名称 位地址
D7
TF1 8FH
D6
TR1 8EH
D5
TF0 8DH
D4
TR0 8CH
D3
D2
D1
D0
TF1:T1溢出标志位。当T1计数满产生溢出时,由硬件自动置 TF1=1。在中断允许时,向CPU发出T1的中断请求,进入中断服 务程序后,由硬件自动清0。在中断屏蔽时,TF1可作溢出查询测 试用,此时必须由软件清0。
只有在定时器溢出时,才可能中断CPU当前的操作,要求 CPU进行相应的溢出处理工作 ,如【例4-1】中,当溢出发生时, 系统将跳转到“13 NEXT: ”处,做定时器重新赋初值、P1口数据取反等 工作。
比较一下定时器延时程序和软件延时程序区别? 软件延时程序中, CPU在延时上花费了 大量的精力,只顾着 计算延时、让彩灯闪 烁了,就限制单片机 其它功能的发挥。 定时器定时程序中, CPU只需要设好定时初 值,延时计算给定时器 去做了,CPU可以多做 一些其它工作了。
初始化
溢出否? N
Y
循环次数10 Y 灯亮
N
重置 时间初值
重置 循环初值10
初始化
溢出否?
Y
循环次数10
重置 时间初值
N
灯亮
重置 循环初值10
程序分析: 在上例中,LED灯闪得太快了,如何放慢它的速度呢?下面我们来进行实验。
放慢速度的方法:
在定时溢出时,并不马上改变P1口状态( LED灯 亮灭状态),而是利用指令“DJNZ R7,JP1” 做循 环次数为10的循环判断,没到循环次数,则继续定 时,等待溢出;到了循环10次,将LED灯亮灭状态改 变,再次设置循环次数,继续定时,等待溢出。
5.2.1 定时器/计数器的基本结构及工作原理
_____ _____ INT1 INT0 (P3.3) (P3.2) T1 (P3.5) T0 (P3.4)
定时器T1 (8DH) TH1 7 溢 出 CPU 启 动 内部总线 溢出 中断 TCON (88H) 工作方式 启 动 0 7 (8BH) TL1 0 7 (8CH) TH0 0
TMOD、TCON是与定时器工作密切相关的两个控制寄存器。
TMOD寄存器用 于决定定时器/计 数器是计数用, 还是定时用;
TCON寄存器决定定时 器/计数器具什么时侯 启动,以及什么时侯停 止工作。
2.工作原理
定时器开始工作后,它是不会占用CPU的操作时间。也就
是说,定时器和CPU之间是互不干扰,并行工作的;
4、定时/计数的四种工作方式
工作方式0 工作方式1 工作方式2 工作方式3 由方式寄存器TMOD 中的M1M0 决定,参见表5-1所示
相关文档
最新文档