最新单片机定时器的使用和详细讲解特别是定时器2
- 格式:pdf
- 大小:1.92 MB
- 文档页数:16
STC89C52单片机定时器2详细整理51单片机是我自学的第一款单片机,那时正好是过春节,想起那个寒假,外面下着大雪,有时还会传来一两声爆竹的炸响,而我一个人在房间里摆弄单片机开发板,反复调试程序的时光,真是难忘!我自认为这款单片机所有的资源中最不好搞清楚的就是定时器2,尤其是对于那些以前从来没有玩过单片机的新手。
定时器2是新增资源,也是51单片机定时器里面功能最强大的一个定时器。
所以掌握好定时器2还是非常有必要的。
以下是在我完全搞明白它的原理和用法的基础上整理的一篇小文章。
读起来,好像Datasheet一样!请原谅,希望没有辜负你的点击!定时器2是一个16位定时器/计数器,通过设置特殊功能寄存器T2CON中的C/T2位可将其设置为定时器或是计数器;通过设置T2CON中的工作模式选择位可将定时器2设置为三种工作模式,分别为捕获、自动重新装载(递增或是递减计数)和波特率发生器。
知识点一、定时器2的控制寄存器T2CON(可按位寻址)*D7位--TF2:定时器2溢出标志位。
用于请求中断(必须由软件清0)D6位--EXF2:定时器外部标志位。
当外部信号使能时,发生外部负跳变时置位请求中断(必须由软件清0)D5位--RCLK:接受时钟标志位。
默认情况下串行口中模式1和模式3的时钟是由定时器1的溢出率提供,若该位置位,则由定时器2提供。
D4位--TCLK:发送时钟标志位。
原理同上D3位--EXEN2:定时器2的外部使能标志位。
定时器2没有作为串行口时钟时,若将该位置位时,将允许T2EX的负跳变产生捕获或重装D2位--TR2:定时器2启动/停止控制位。
D1位--C/T2:定时器2的定时器/计数器选择位(在reg52头文件中定义为了C_T2,请注意,下面相同)D0位--CP/RL2:捕获/重装标志位。
知识点二定时器2的模式控制寄存器T2MOD(不可按位寻址)该寄存器在单片机的头文件reg2.h中可能没有被定义,自己定义吧!D1位—T2OE:定时器2输出使能位D0位—DCEN:向下计数使能位知识点三:定时器2的三种模式**1、捕获模式*在'CP/RL2=1'&&'TR2=1'时进入捕获模式。
STC89C52单片机定时器2的使用实现定时和计数的方法一般有:软件定时、专用电路和可编程定时器/计数器三种方法。
软件定时:执行一个循环程序进行时间延迟。
定时准确,不需要外加硬件电路,但会增加CPU 开销。
专用硬件电路定时:可以实现请精确的定时和计数,但参数调节不方波。
可编程定时器/计数器:不占用CPU 时间,能与CPU 并行工作,实现精确的定时和计数,又可以通过变成设置其工作方式和其他参数,使用方便。
以下说明仅试用宏晶的STC89C52!!定时器2:T2MOD,T2CON,TH2,TL2,RC2H,RC2L.T2MOD:0C9H(不可位寻址)000000T2OEDCENT2OE:定时器输出使能位DECN:向上/向下计数使能位。
定时器2 可配制成向上/向下计数器。
0:向上计数(模式状态) 1:向下计数(尽量不使用)T2CON:0XC8H(可位寻址)TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2TF2:7 上/下溢出标志位,定时器2 溢出时置位,必须有用软件清零!当RCLK 或TCLK=1 时,TF2 将不会置位。
EXF2:6 定时器2 外部标志,当EXEN2=1 且T2EX 的负跳变产生捕获或重装时,EXF2 置位。
定时器2 中断使能时,EXF2=1 将使CPU 从中断向量处执行定时器2 中断子程序。
EXF2 位必须用软件清零。
在递增/递减计数器模式(DCEN=1)中,EXF2 位不会引起中断。
RCLK:5 接收时钟标志。
RCLK 置位时,定时器2 的溢出脉冲作为串口模式1 和模式3 的接收时钟。
RCLK=0 时,将定时器1 的溢出脉冲作为串口模式1 和模式3 的接收时钟。
TCLK:4 发送时钟标志位。
TCLK 置位时,定时器2 的溢出脉冲作为串口模式1 和模式3 的发送时钟。
TCLK=0 时,将定时器1 的溢出脉冲作为串口模式1 和模式3 发送时钟。
EXEN2:3 定时器2 外部使能标志。
单片机创新开发定时器使用单片机是一种微型电子计算机,是应用在各个领域的重要电子设备。
在单片机的创新开发中,使用定时器是一项非常重要的技术,可以实现各种实用的功能。
本文将从单片机定时器的基本原理、使用方法以及实际应用方面进行详细介绍。
一、单片机定时器的基本原理单片机定时器是通过计数器原理来实现定时功能的,计数器正常情况下会一直累加,当计数器溢出时,会触发一个中断或者改变一些输出状态。
单片机定时器一般有两种工作模式:定时模式和计数模式。
在定时模式下,定时器的计数值可以设置为一个特定的数值,当计数器的值达到设定的数值时,触发中断或者改变输出状态。
这种模式适合实现延时功能,如蜂鸣器的定时控制、舵机的角度控制等。
在计数模式下,定时器的计数值会根据输入脉冲的个数来进行累加,当达到设定的数量时,触发中断或者改变输出状态。
这种模式适合实现计数功能,如测量物体通过传感器的次数、马达转动的圈数等。
二、单片机定时器的使用方法使用单片机定时器前,需对定时器进行初始化设置,包括选择定时器的模式、设定计数值等。
以下是使用单片机定时器的一般步骤:1.选择定时器模式:根据实际应用需求选择定时模式或计数模式。
2.设置计数值:根据需要设定计数器的初始值和溢出值。
初始值是定时器开始计数的值,溢出值是定时器计数到多少会触发中断或状态改变。
3.启动定时器:将定时器的控制位设置为1,使定时器开始工作。
4.监听中断或状态改变:根据定时器工作模式选择是否需要在中断中响应操作,或者根据状态改变来执行相应的功能。
5.停止定时器:根据实际需求选择合适的停止定时器的方法,可以是手动停止,也可以是在特定条件下自动停止。
三、单片机定时器的实际应用单片机定时器在实际应用中有广泛的用途1.蜂鸣器控制:通过定时器的定时模式设定合适的计数值,可以实现蜂鸣器的定时控制,如实现不同频率的声音、蜂鸣音乐等。
2.LED灯闪烁:通过定时器的定时模式设置合适的计数值和中断响应,可以实现LED的闪烁效果,如交通信号灯。
单片机定时器的使用方法在嵌入式系统的开发中,定时器是一种非常重要且常用的功能模块,它能够为我们提供时间计数和计时的功能,对于许多实时应用来说,定时器更是必不可少的。
本文将介绍单片机定时器的使用方法,帮助读者更好地掌握该功能。
一、概述定时器是单片机中的一个计数器,它能够按照一定的时钟源频率进行计时。
单片机中的定时器一般包括一个或多个计数寄存器以及相关的控制寄存器。
通过设置不同的参数,我们可以实现不同的定时功能。
二、定时器的基本操作流程1. 初始化:在使用定时器之前,首先需要对定时器进行初始化设置。
这包括选择时钟源、设置定时器的工作模式、设置计数器初值等。
具体的初始化步骤和寄存器配置会根据不同的单片机型号而有所不同,因此在使用前需要查阅相关的芯片手册。
2. 启动定时器:初始化完成后,我们需要将定时器启动,开始执行计时功能。
启动定时器的方式也会因芯片而异,有的需要设置特定的控制位,有的则是通过特定的命令来启动。
3. 定时中断处理:在定时器工作期间,当计数器的值达到设定的阈值时,定时器会触发中断。
这个中断可以用于执行用户自定义的操作,比如数据处理、状态更新等。
在中断服务程序中,我们需要进行相应的处理,并清除中断标志位,以确保下一次定时正常触发。
4. 停止定时器:当我们不再需要定时器时,可以通过相应的操作将其停止。
这样可以节省系统资源和功耗。
三、定时器的常见应用单片机的定时器功能非常灵活,可以应用于各种实际场景。
以下是一些常见的应用示例:1. 延时函数:通过定时器可以实现精确的延时功能,比如延时100毫秒后再执行某个操作。
这对于需要进行时间控制的任务非常有用。
2. 脉冲宽度调制(PWM):定时器可以通过设置不同的计数值和占空比,生成不同周期和占空比的脉冲信号。
这在控制电机、调光、音频发生器等场景中非常常见。
3. 计时功能:定时器可以用于实现计时功能,比如计算程序执行时间、测量信号的周期等。
这在需要精确时间测量的场景中非常有用。
单片机定时器的使用在单片机的世界里,定时器就像是一个精准的时间管家,默默为各种任务提供准确的时间控制。
无论是在简单的系统时钟,还是复杂的实时控制应用中,单片机定时器都发挥着不可或缺的作用。
首先,我们来了解一下单片机定时器是什么。
简单来说,它是单片机内部的一个硬件模块,能够按照设定的时间间隔产生中断或者触发特定的事件。
这就好比我们生活中的闹钟,到了设定的时间就会响铃提醒我们。
那么,单片机定时器是如何工作的呢?它通常基于一个时钟源,这个时钟源可以是内部的振荡器,也可以是外部的时钟信号。
通过对定时器相关寄存器的配置,我们可以设定定时器的计数模式、初始值、预分频系数等参数。
比如说,我们可以选择定时器是向上计数还是向下计数,是每隔一段时间产生一次中断,还是在计数值达到某个特定值时触发事件。
在实际应用中,单片机定时器有多种用途。
其中一个常见的应用就是实现精确的延时。
在很多情况下,我们需要让单片机在执行完一段代码后等待一段时间再进行下一步操作。
如果单纯依靠软件的循环来实现延时,不仅会占用大量的CPU 资源,而且延时的精度也很难保证。
而使用定时器,我们可以轻松地实现精确的毫秒甚至微秒级别的延时,同时让 CPU 去处理其他任务。
另一个重要的应用是产生周期性的信号。
比如,控制一个 LED 灯以一定的频率闪烁,或者驱动一个电机以固定的速度转动。
通过设置定时器的周期和占空比,我们可以精确地控制这些信号的频率和时长。
再比如,在通信领域中,定时器可以用于实现数据的定时发送和接收。
确保数据按照规定的时间间隔进行传输,保证通信的稳定性和可靠性。
要使用单片机定时器,我们首先需要对相关的寄存器进行初始化配置。
不同型号的单片机,其定时器的寄存器和配置方式可能会有所不同,但基本的原理是相通的。
以常见的 8 位单片机为例,我们通常需要设置以下几个关键的参数:一是定时器的工作模式。
常见的模式有定时模式和计数模式。
在定时模式下,定时器根据时钟源进行定时计数;在计数模式下,定时器可以对外部脉冲进行计数。
单片机定时器的使用第一部分:51系列定时器定时/计数器0 和定时/计数器1都有4种定时模式。
16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ 模式下,一个机器周期为1us 。
定时器工作模式寄存器TMOD,不可位寻址,需整体赋值,高4位用于定时器1,第四位用于定时器0。
C/T:为定时器功能选择位,C/T=0对机器周期计数,C/T=1,对外部脉冲计数。
GATE:门控位,GATE=0,软件置位TRn即可启动计时器,GATE=1需外部中断引脚为高电平时才能软件置位TRn启动计时器,一般取GATE=0。
定时器控制寄存器TCONTFn:Tn溢出标志位,当定时器溢出时,硬件置位TFn,中断使能的情况下,申请中断,CPU响应中断后,硬件自动清除TFn。
中断屏蔽时,该位一般作为软件查询标志,由于不进入中断程序,硬件不会自动清除标志位,可软件清除。
TRn:计时器启动控制位,软件置位TRn即可启动定时器,软件清除TRn关闭标志位。
IEn:外部中断请求标志位。
ITn:外部中断出发模式控制位,ITn=0为低电平触发,ITn=1为下降沿触发。
中断允许控制寄存器IEEA(IE.7):全局中断控制位。
EA=1开全局中断,EA=0关闭全局中断。
IE.6无意义。
ETn:定时器中断使能控制位。
置位允许中断,清除禁止中断。
ES:串行接收/发送中断控制位,置位允许中断。
EXn:外部中断使能控制位。
置1允许,清0禁止。
中断优先级控制寄存器IP,复位后为00HIP.6,IP.7保留,无意义。
PT2:定时器2中断优先级控制,置1设为高优先级,清0置位低优先级。
PS:串行中断优先级控制位。
PT1/0:定时器1/0优先级控制位,置1高,清0低。
PXn:外部中断优先级控制位。
当有同级中断同时响应,按IE0—>TF0—>IE1—>TF1—IE0—>RI+TI—>TF2顺序依次响应。
定时器模式0的使用TMOD&=0xf0/TMOD&=0x0fTL0高3位不用,低5位溢出时,直接向TH0进位。
单片机定时器实用方法总结在单片机的应用中,定时器是一种常用的功能模块,它能够精确地计时和定时触发其他操作。
本文将总结一些单片机定时器的实用方法,帮助读者更好地应用定时器功能。
一、定时器的基本原理定时器是单片机中用于计时的硬件模块,通过计算定时器的计数值可以得到一段时间的长度。
定时器通常由一个计数器部分和一个控制逻辑部分组成。
计数器用于累加时钟脉冲的数量,控制逻辑部分负责设置计数器的初始值、计时模式和中断触发条件等。
二、定时器的控制寄存器在使用定时器之前,需要配置定时器的控制寄存器。
不同的单片机厂商和型号的定时器可能设置略有不同,但通常包含以下几个方面的设置:1. 定时器模式选择:定时器可以采用不同的计数模式,如定时模式、计时模式、脉宽调制模式等。
具体选择何种模式要根据实际需求来定。
2. 工作模式选择:定时器可以选择工作在单次触发模式还是连续触发模式。
单次触发模式下,定时器完成一次定时后会停止计数;连续触发模式下,定时器会自动重新开始新的计时。
3. 中断触发条件设置:定时器可以配置中断触发条件,即定时器计数到达某一个值时产生中断请求。
这个值可以通过设置计数器的初始值和定时器的重装载值来实现。
三、定时器的应用案例以下是几个使用单片机定时器的实用案例,供读者参考:1. 脉冲计数器在需要计算脉冲个数的应用场景中,可以使用定时器来实现脉冲计数的功能。
通过设置定时器的工作模式为计时模式,计数器每收到一个脉冲信号就加1,从而实现对脉冲个数的精确计数。
2. 延时功能定时器可以用于实现延时功能。
通过设置定时器的工作模式和计时值,可以精确控制延时的时间长度。
例如,可以使用定时器进行毫秒级别的延时,或者用定时器实现微秒级别的精确延时。
3. PWM输出控制定时器常常用于控制PWM(脉宽调制)信号的输出。
通过设置定时器的工作模式为PWM模式,并根据需要设定脉宽和频率参数,可以实现对PWM信号的输出控制。
这在一些需要模拟控制信号的应用中非常有用,如电机速度控制、LED亮度调节等。