最新单片机定时器的使用说课讲解

合集下载

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

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

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

译和烧录程序到单片机

中。

用于搭建定时器计数器

电路。



用于编写和调试程序。

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

51单片机定时器的使用和详细讲解__特别是定时器2

51单片机定时器的使用和详细讲解__特别是定时器2
定时器的讲解和使用 有对定时器2的详细讲解
2021/10/10
1
章节概述 很棒
8.1 概述 8.2 定时器T0和T1的结构 8.3 定时器工作模式 8.4 定时器T2
2021/10/10
2
8.1 概述
定时器是单片机的重要功能模块之一,在检测、 控制领域有广泛应用。
定时器常用作定时时钟,以实现定时检测、定 时响应、定时控制,并且可用于产生ms宽的 脉冲信号,驱动步进电机
在工作模式T 2中,(2定5 时-X 器6) 的T定c时y时间由下式确定:
只有T0可工 作于此模式
2021/10/10
21
模式2的结构图如图8-6所示。
8位加法 计数器
2021/10/10
图8-6 方式2结构图
初值寄 存器
22
4.工作模式3 当T0M(T1M)=11时定时器设定为工作模式3,只有定
Tcy
2021/10/10
8
2.模式寄存器(TMOD)
TMOD用来选择定时器0、1的工作模式,低4位 用于定时器0,高4位用于定时器1,其组成如图 8-2所示。
T1
T0
00:模式0
方式 01:模式1 方式
选择
10:模式2 11:模式3
选择
2021/10/10
图8-2 模式寄存器组成
9
3.控制寄存器(TCON)
18
2.工作模式1 T0M(T1M)=01时定时器设定为工作模式1,此时
定时器0(定时器1)被设置为16位定时器。此时 TH0、TL0都是8位加法计数器。其他与工作方式0 相同。 定时器的定时时间
T(65-5X)3T 6cy
计数初始值
计数 2n 初 -定值 时时 (此 间 n 处 1)6 Tcy

单片机定时器课件

单片机定时器课件

硬件设计
通过改进硬件设计,如采 用更高精度的时钟源、减 少电路噪声等,可以提高 定时器的计时精度。
软件算法
采用高精度的软件算法, 如采用插值算法、滤波算 法等,可以进一步提高定 时器的计时精度。
定时器的功能拓展
多功能定时器
在定时器的基础上增加其他功能,如计数器、比较器、PWM输出 等,可以拓展定时器的应用范围。
定时器的功能
定时器的主要功能是按照设定的 时间间隔进行计时,常用于产生 中断、控制时间序列、测量时间等。
定时器的分类与特点
定时器的分类
根据工作原理和应用场景,单片机中 的定时器可以分为计数器型定时器和 计时器型定时器两类。
计数器型定时器特点
计时器型定时器特点
以时间间隔作为计时基准,时间间隔 达到设定值时触发中断或产生其他事 件。
单片机定时器可以用于精确控制电机的运行时间和速度。通过设置定时器的初始 值和溢出时间,可以精确控制电机的启动、停止和运行速度,实现各种电机控制 效果。
定时器在数据采集中的应用
总结词
实现数据的定时采集
详细描述
单片机定时器可以用于定时采集数据,如温度、湿度、压力等。通过设置定时器的初始值和溢出时间,可以定时 采集数据,并将数据传输到单片机中进行处理。
硬件计时方式下,定时器具有独立的计时芯片,计时芯片在接收到启动信号后开始 计时,当达到设定的时间时,输出相应的信号。
定时器的启动与停止
定时器可以通过软件编程或外 部信号控制其启动和停止。
软件编程控制下,单片机通过 向定时器寄存器写入相应的控 制字来实现定时器的启动和停止。
外部信号控制下,外部信号通 过控制电路来启动和停止定时 器的计数操作。
定时器的计数原理

单片机定时器的使用课件

单片机定时器的使用课件

02
单片机定时器的使用方法
定时器的初始化设置
定时器时钟源选择
根据单片机型号和系统时钟频 率,选择合适的定时器时钟源

定时器工作模式设定
根据需求选择定时器工作在计 数模式还是计时模式。
预分频器设置
根据定时时间要求,设置合适 的预分频系数,以降低计数频 率。
自动重载值设定
根据定时时间要求,设置合适 的自动重载值,以实现定时器
04
单片机定时器的编程技巧
优化定时器的启动与停止方式
定时器启动方式
在单片机定时器编程中,应选择合适的启动方式以减少误差。常用的启动方式有软件启动和外部信号 启动。软件启动通过编程指令控制定时器的启动,而外部信号启动则是通过外部硬件信号触发定时器 开始计时。
定时器停止方式
定时器停止计时的方式也会影响其精度。常用的停止方式有软件停止和外部信号停止。软件停止通过 编程指令控制定时器停止计时,而外部信号停止则是通过外部硬件信号触发定时器停止计时。
合理设置定时器的中断优先级
中断优先级设置
在单片机定时器编程中,应合理设置定 时器的中断优先级。中断优先级决定了 定时器触发中断的优先级,对程序的执 行顺序和实时性有重要影响。根据实际 需求,选择合适的中断优先级可以提高 程序的效率和稳定性。
VS
避免中断冲突
在设置定时器的中断优先级时,应注意避 免与其他中断源发生冲突。如果多个中断 源的中断优先级相近,可能会导致程序执 行混乱或出现不可预测的行为。因此,在 编程时应充分考虑各种中断源的优先级关 系,确保程序的正确执行。
定时器与其他单片机的集成与融合
集成化趋势
随着集成电路技术的发展,单片机定 时器将更加集成化,与其他单片机、 传感器、执行器等集成在一起,形成 更为紧凑和高效的系统。

单片机创新开发定时器使用

单片机创新开发定时器使用

单片机创新开发定时器使用单片机是一种微型电子计算机,是应用在各个领域的重要电子设备。

在单片机的创新开发中,使用定时器是一项非常重要的技术,可以实现各种实用的功能。

本文将从单片机定时器的基本原理、使用方法以及实际应用方面进行详细介绍。

一、单片机定时器的基本原理单片机定时器是通过计数器原理来实现定时功能的,计数器正常情况下会一直累加,当计数器溢出时,会触发一个中断或者改变一些输出状态。

单片机定时器一般有两种工作模式:定时模式和计数模式。

在定时模式下,定时器的计数值可以设置为一个特定的数值,当计数器的值达到设定的数值时,触发中断或者改变输出状态。

这种模式适合实现延时功能,如蜂鸣器的定时控制、舵机的角度控制等。

在计数模式下,定时器的计数值会根据输入脉冲的个数来进行累加,当达到设定的数量时,触发中断或者改变输出状态。

这种模式适合实现计数功能,如测量物体通过传感器的次数、马达转动的圈数等。

二、单片机定时器的使用方法使用单片机定时器前,需对定时器进行初始化设置,包括选择定时器的模式、设定计数值等。

以下是使用单片机定时器的一般步骤:1.选择定时器模式:根据实际应用需求选择定时模式或计数模式。

2.设置计数值:根据需要设定计数器的初始值和溢出值。

初始值是定时器开始计数的值,溢出值是定时器计数到多少会触发中断或状态改变。

3.启动定时器:将定时器的控制位设置为1,使定时器开始工作。

4.监听中断或状态改变:根据定时器工作模式选择是否需要在中断中响应操作,或者根据状态改变来执行相应的功能。

5.停止定时器:根据实际需求选择合适的停止定时器的方法,可以是手动停止,也可以是在特定条件下自动停止。

三、单片机定时器的实际应用单片机定时器在实际应用中有广泛的用途1.蜂鸣器控制:通过定时器的定时模式设定合适的计数值,可以实现蜂鸣器的定时控制,如实现不同频率的声音、蜂鸣音乐等。

2.LED灯闪烁:通过定时器的定时模式设置合适的计数值和中断响应,可以实现LED的闪烁效果,如交通信号灯。

单片机定时器的使用方法

单片机定时器的使用方法

单片机定时器的使用方法在嵌入式系统的开发中,定时器是一种非常重要且常用的功能模块,它能够为我们提供时间计数和计时的功能,对于许多实时应用来说,定时器更是必不可少的。

本文将介绍单片机定时器的使用方法,帮助读者更好地掌握该功能。

一、概述定时器是单片机中的一个计数器,它能够按照一定的时钟源频率进行计时。

单片机中的定时器一般包括一个或多个计数寄存器以及相关的控制寄存器。

通过设置不同的参数,我们可以实现不同的定时功能。

二、定时器的基本操作流程1. 初始化:在使用定时器之前,首先需要对定时器进行初始化设置。

这包括选择时钟源、设置定时器的工作模式、设置计数器初值等。

具体的初始化步骤和寄存器配置会根据不同的单片机型号而有所不同,因此在使用前需要查阅相关的芯片手册。

2. 启动定时器:初始化完成后,我们需要将定时器启动,开始执行计时功能。

启动定时器的方式也会因芯片而异,有的需要设置特定的控制位,有的则是通过特定的命令来启动。

3. 定时中断处理:在定时器工作期间,当计数器的值达到设定的阈值时,定时器会触发中断。

这个中断可以用于执行用户自定义的操作,比如数据处理、状态更新等。

在中断服务程序中,我们需要进行相应的处理,并清除中断标志位,以确保下一次定时正常触发。

4. 停止定时器:当我们不再需要定时器时,可以通过相应的操作将其停止。

这样可以节省系统资源和功耗。

三、定时器的常见应用单片机的定时器功能非常灵活,可以应用于各种实际场景。

以下是一些常见的应用示例:1. 延时函数:通过定时器可以实现精确的延时功能,比如延时100毫秒后再执行某个操作。

这对于需要进行时间控制的任务非常有用。

2. 脉冲宽度调制(PWM):定时器可以通过设置不同的计数值和占空比,生成不同周期和占空比的脉冲信号。

这在控制电机、调光、音频发生器等场景中非常常见。

3. 计时功能:定时器可以用于实现计时功能,比如计算程序执行时间、测量信号的周期等。

这在需要精确时间测量的场景中非常有用。

单片机定时器实用.课件

单片机定时器实用.课件

定时器的中断服务程序编写
中断服务程序入口
01
在中断服务程序的入口处,编写代码以保存现场和清除中断标
志位。
定时器计数器值读取
02
在中断服务程序中,编写代码以读取定时器计数器的当前值。
中断服务程序出口
03
在中断服务程序的出口处,编写代码以恢复现场和清除中断标
志位。
定时器的启动与停止控制
01
02
03
04
随着科技的发展,单片机定时器 的精度和稳定性越来越高,能够
满足更精确的控制需求。
集成化与智能化
现代单片机定时器趋向于集成化 、智能化,能够实现多种功能于
一体,简化电路设计。
低功耗与环保
随着环保意识的提高,低功耗、 绿色环保的单片机定时器成为发
展趋势,有助于节能减排。
未来定时器技术的研究方向
更高精度与分辨率
定时器功能
定时器的主要功能是用于时间基 准和控制,如产生精确的延时、 测量时间间隔、频率和相位等。
单片机定时器的种类
01
02
03
通用定时器
适用于各种单片机,具有 基本的定时/计数功能。
专用定时器
针对特定单片机设计的定 时器,具有更高级的功能 和性能。
可编程定时器
用户可以通过编程配置其 工作模式和参数的定时器 。
中断优先级设置
根据实际需要,合理设置定时器的中断优先 级,以提高程序的响应速度。
优化计数值
根据实际需要,合理设置定时器的计数值, 以达到最佳的定时效果。
避免频繁启动和停止
频繁启动和停止定时器会导致资源浪费和程 序效率降低,应尽量避免。
定时器常见问题的解决
定时器不工作
检查硬件连接、初始化设置和代码编 写是否正确。

51单片机定时器的使用和详细讲解__特别是定时器2 PPT

51单片机定时器的使用和详细讲解__特别是定时器2 PPT

T1
T0
00:模式0
方式 01:模式1 方式
选择
10:模式2 11:模式3
选择
图8-2 模式寄存器组成
3.控制寄存器(TCON)
TCON高4位用于控制定时器0、1的运行;低4位用于控 制外部中断,与定时器无关。
定时器0、1运行控 制位TR0(TR1): TR0(TR1)=1 启动 TR0(TR1)=0 停止
T0加法计数器的高8位和低8位分别用TH0、TL0表 示
T1加法计数器的高8位和低8位分别用TH1、TL1 表示
高8位和第8为可分别单独使用
当定时器工作时,加法计数器对内部机器周期脉 冲Tcy计数。
Tcy
2.模式寄存器(TMOD)
TMOD用来选择定时器0、1的工作模式,低4位 用于定时器0,高4位用于定时器1,其组成如图 8-2所示。
专用硬件电路定时:可实现精确的定时和计数,但参数 调节不便。
可编程定时器/计数器:不占用CPU时间,能与CPU并行 工作,实现精确的定时和计数,又可以通过编程设置其 工作方式和其它参数,因此使用方便。
定时器的基本工作原理是:利用计数器对固定周 期的脉冲计数,通过寄存器的溢出来触发中断。
具体应用步骤:
51单片机定时器的使用和详细讲解__特别 是定时器2
章节概述 很棒
8.1 概述 8.2 定时器T0和T1的结构 8.3 定时器工作模式 8.4 定时器T2
8.1 概述
定时器是单片机的重要功能模块之一,在检测、 控制领域有广泛应用。
定时器常用作定时时钟,以实现定时检测、定 时响应、定时控制,并且可用于产生ms宽的 脉冲信号,驱动步进电机
加法计数器对机器周期脉冲Tcy计数,每个机器周 期TL0加1。

单片机定时器的使用-讲义

单片机定时器的使用-讲义

工作方式0和工作方式1的最大特点就是计数溢出后, 计数器为全0,因而循环定时或循环计数应用时就存在 反复设置初值的问题,这给程序设计带来许多不便,同 时也会影响计时精度。
工作方式2就针对这个问题而设置,它具有自动重 装载功能,即自动加载计数初值,所以也称为自动重加 载工作方式。
在这种工作方式中,16位计数器分为两部分, 即以TL0为计数器,以TH0作为预置寄存器,初始化 时把计数初值分别加载至TL0和TH0中,当计数溢出 时,不再象方式0和方式1那样需要“人工干预”,由 软件重新赋值,而是由预置寄存器TH以硬件方法自 动给计数器TL0重新加载。
6.1 定时器/计数器的结构及工作原理
定时器/计数器: Timer/Counter
本质上都是加法计数器,当对固定周期的脉冲信号 计数时是定时器,对脉冲长度不确定的信号计数时是计 数器。
每接收到一个计数脉冲,加法计数器的值就加一, 当计满时发生溢出,并从0开始继续计数。
加法计数器的计满溢出信号就是定时/计数器的输出, 该信号使TCON的某位(TF0或TF1位)置一,作为定时 器/计数器的溢出中断标志。
由于TL0既能作定时器也能作计数器使用,而 TH0只能作定时器使用而不能作计数器使用,因此在 方式3模式下,定时/计数器0可以构成二个定时器或 者一个定时器和一个计数器。
如果定时/计数器0工作于工作方式3,那么定时/ 计数器1的工作方式就不可避免受到一定的限制,因 为自己的一些控制位已被定时/计数器借用,只能工 作在方式0、方式1或方式2下,如果设置T1工作在方 式3,则T1停止工作,相当于其他方式时令TR1=0。
C/T位:计数器模式和定时器模式的选择位。
C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。

单片机定时器的使用

单片机定时器的使用

单片机定时器的使用一、单片机定时器的基本原理定时器通常由一个时钟源提供脉冲信号来计数,这个时钟源可以是外部时钟源、内部时钟源或者其他外设提供的时钟源。

定时器以一个指定的时钟周期开始计数,并在达到预设的计数值时产生一个中断信号或触发一个相关事件。

二、单片机定时器的使用方法1.定时器的预分频设置在使用单片机的定时器之前,我们需要根据具体的应用需求设置定时器的预分频值。

预分频值的设置将影响定时器的计数速度。

常用的预分频值有1、2、4、8和16等,这意味着在一个计数周期内,定时器模块将接收几个时钟脉冲。

通过设置不同的预分频值,我们可以调整定时器的计数速度,从而实现不同的时间精度。

2.定时器计数值的设定在设置定时器的计数值之前,我们需要确定定时器的计数频率和所需的定时时间。

计数频率是由定时器的时钟源和预分频值决定的,而所需的定时时间是根据具体应用而确定的。

定时器计数值的设定通常是通过写入特定的寄存器来实现的。

根据单片机型号的不同,定时器计数值的位数可能有所不同。

一般来说,定时器的计数值越大,可以计时的时间就越长。

3.中断的使能与处理在使用定时器进行定时操作时,通常会设置一个中断服务程序,在定时器达到预设的计数值时触发中断。

中断服务程序中可以添加一些需要在定时器到达指定时间时执行的代码。

为了使中断能够正常工作,我们需要合理地设置中断向量、ISR(Interrupt Service Routine)等。

同时,我们也需要在程序的其他部分进行相关的中断控制设置,如打开或关闭中断、配置中断优先级等。

三、单片机定时器的常见应用案例1.时钟显示器时钟显示器是单片机定时器的一个常见应用案例,通过使用定时器和LED数码管等外设,可以实现一个精确计时的时钟显示器。

定时器以一定的频率计数,并在计数到一定值时触发中断,中断服务程序中可以更新数码管的显示值。

2.交通信号灯交通信号灯是城市道路交通管理中常用的设备,定时器可以用于控制交通信号灯的时序。

51单片机定时器详细全解.上

51单片机定时器详细全解.上

51单片机定时器详细全解.上看了很多几本单片机的书,对51定时器的认识又有了一些新的变化。

开局一张图(一个简单的单片机程序),其实文章也是来解释这个代码的写法。

在此,后面也会对STC官方的库,做详细的解读和使用我们使用串口,设置它的寄存器一共4种模式,八位的可变2位,4个状态B6位为0的时候,B7用于帧错误检测,当检测到一个无效的停止位的时候,UART设置它,软件清0.这个方式0,是使用一个专用的SBUF发送的TI标志位发送完以后,自动的变1,相对于有了一个中断。

然后中断系统处理,处理完以后就要把状态变回去。

RI也是,一发一收接收的一个函数这里是注意的编程要点这里要开启UART的中断,先开启大中断,接着开启串口的中断REN是收发功能的开关1,2,3都是异步通信,0是移位寄存器接下来配置定时器只有两个寄存器,灵活使用要TCON是这样的TR1,相对于是使能位关于定时器不得不说,而且最近看了几本相对古老的书,真的很清晰,现在的书比喻一堆也不知道想说什么。

对51来说,其实是只有4种方式:1、51单片机计数器的脉冲输入脚。

主要的脉冲输入脚有Px,y,也指对应T0的P3.4和对应T1的P3.5,主要用来检测片外来的脉冲。

而引脚18和19则对应着晶振的输入脉冲,脉冲的频率和周期为:F = f/12 = 11.0592M/12 = 0.9216MHZ T = 1/F = 1.085us2、定时器有两种工作模式,分别为计数模式和定时模式。

对Px,y 的输入脉冲进行计数为计数模式。

定时模式,则是对MCU的主时钟经过12分频后计数。

因为主时钟是相对稳定的,所以可以通过计数值推算出计数所经过的时间。

所谓的定时器就是恒定的数数。

3、51计数器的计数值存放于特殊功能寄存器中。

T0(TL0-0x8A, TH0-0x8C), T1(TL1-0x8B, TH1-0x8D)其实就是容器,存放脉冲数的这是我们单片机的4种定时器模式4、TLx与THx之间的搭配关系以下的进制,就是向前进位的意思。

51单片机的定时器应用解析

51单片机的定时器应用解析

51单片机的定时器应用解析定时器是一种多功能的外设,可以在嵌入式系统中广泛应用。

在 51 单片机中,定时器分为两种:定时/计数器和串行接口定时器(SIT)。

这篇文档将着重介绍定时/计数器的应用。

定时器基础定时器由两个 8 位定时器(Timer0 和 Timer1)和一个 16 位定时器(Timer2)组成。

定时器通过计数器实现定时功能,计数器钟频为定时器输入时钟的一半。

定时器的定时时间可以通过改变计数器初始值和时钟源分频系数来实现。

定时器应用延时定时器可以用来实现延时功能,常见的延时方式是使用定时器产生中断,在中断服务程序中完成延时操作。

PWM定时器可以用来实现脉冲宽度调制(PWM)功能,PWM 的输出占空比可以通过改变计数器初始值和重载值来实现。

计数器定时器也可以作为计数器使用。

在计数器模式下,定时器向计数器输入信号计数,并将计数值存入寄存器中。

定时器使用示例中断延时void init_timer0(unsigned int ms){TMOD &= 0xF0;TMOD |= 0x01;TH0 = ( - FOSC / 1000 * ms) >> 8;TL0 = ( - FOSC / 1000 * ms) & 0xFF;ET0 = 1;TR0 = 1;}void timer0_isr() __interrupt (1){static unsigned char cnt = 0;TH0 = ( - FOSC / 1000 * ms) >> 8;TL0 = ( - FOSC / 1000 * ms) & 0xFF;if(cnt++ >= 20){cnt = 0;// do something every 20 ms}}PWMvoid init_timer1(unsigned int freq, unsigned char duty_cycle) {TMOD &= 0x0F;TMOD |= 0x10;TH1 = ( - FOSC / freq / 2) >> 8;TL1 = ( - FOSC / freq / 2) & 0xFF;// calculate duty cycleunsigned int reload = (unsigned int)(FOSC / freq * duty_cycle / 100 / 2);// set duty cycleRCAP2H = reload >> 8;RCAP2L = reload & 0xFF;TR1 = 1;}结论定时器是 51 单片机中常用的外设之一,可以实现延时、PWM 等多种功能。

第7章 单片机的定时器 优质课件

第7章 单片机的定时器 优质课件
§5-2 定时 / 计数器
一、定时/ 计数器的结构
51子系列单片机内有两个十六位增一 定时 / 计数器
TH0 计数值高八位 TL0 计数值低八位
TH1 计数值高八位 TL1 计数值低八位
P3.4

控 P3.5


TMOD TCON
工作方式 定时 / 计数控制
5.2.1 定时器的控制
1、工作方式控制寄存器 TMOD
M1M0—— 工作模式选择位(编程可决定四种工作模式)。
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T 类同 0
M1 M0 00 01 10 11
方式 方式0 方式1 方式2 方式3
0
定时器模式
1
计数器模式
0
与INT 0无关
1
与INT 0有关
GATE = 1时,TRi = 1,且 INTi =1,才启动定时 / 计数。
ORG 0000H
LJMP MAIN
ORG 2000H
MAIN:MOV TMOD,#99H ;T0、T1均工作在定时,
;模式1,GATE=1
MOV A,#00H
;T0、T1赋计数初值00H,
; 定时器最大计数值为0000 ~ 65536
LOOP: JBC TF1, LOOP1 AJMP LOOP
LOOP1 : MOV TL0,#03H MOV TH0,#0FCH CLR TF1 CPL P1.0 AJMP LOOP
小结:1、MCS-51单片机内有几个定时计数器? 如何计数?
2、T0、T1有几种工作方式? 3、编程应用前要事先确定的参数有几个?

单片机定时器及中断的使用(含原创完整精讲例程)

单片机定时器及中断的使用(含原创完整精讲例程)

单片机定时器及中断的使用(含原创完整精讲例程)STC89C52定时器/计数器的使用一、寄存器 1. 数据寄存器TLx[1]8AH8BH不可位寻址复位清0 8位寄存器保存计数值的低8位。

THx8CH8DH不可位寻址复位清08位寄存器保存计数值的高8位。

工作原理计数时从TL开始加1计数计满后想TH进位直至TH溢出置TF标志然后申请中断CPU进行中断处理。

2. 模式选择寄存器TMOD89H不可位寻址复位清0高4位用于控制定时器1低4位用于控制定时器0GATE—门控制位=0TC[2]的启停仅由寄存器TCON中的TRx控制=1TC的启停由外部中断引脚的电平状态和TCON中的TRx共同控制。

C/T—模式选择位=0定时器对内部机器周期[3]计数=1计数器对外部输入计数由Tx[4]引脚输入注意计数模式下从采样到计数值更新需要2个机器周期共24个时钟周期因此时钟频率为f MHz时最高计数频率为1/2f MHz。

M1M0—工作方式选择位=00方式013位TH全用TL低5位=01方式116位TH TL全用=10方式28 位自动重装载定时器当溢出时将 TH 存放的值自动重装入 TL=11方式3仅适用于T0。

定时器 0 此时作为双 8 位TC。

TL0作为一个 8 位TC通过标准定时器 0 的控制位控制。

TH0 仅作为一个 8 位定时器由定时器 1 的控制位控制。

T1停止计数。

注意在方式2中计数溢出后CPU会自动将THx中的值装入TLx。

因此在定时器启动前在THx和TLx中装入的初值必须是相同的以保证计数的准确性。

3. 控制寄存器TCON88H可位寻址复位清0位符号TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H高位在前。

后4位用于外部中断。

TFx—Tx溢出标志位Tx计数溢出时硬件置1并申请中断。

进入中断服务子程序后硬件自动清零。

如果不使用定时器中断而采用软件查询的方法则需要软件清零。

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

加法计数器是计满溢出时才申请中断, 所以在给定时器/ 计数器赋初值时, 不能直接输入所需的计数值, 而应输入的 是计数器计数的最大值与这一计数值的差值, 设最大值为 M, 计数值为 N, 初值为 X, 则 X的计算方法如下:
计数状态: X=M-N
定时状态: X=M-定时时间/T

T=12÷
二、 定时器/计数器控制寄存器TCON
二、 方式1 图 6.4 方式 1(16位计数器)
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
三、方式 2 图 6.5 方式 2(初始常数自动重装载)
方式0的计数长度M为2的13次方。 初值也是13位二进制数,但要注意是高8位赋值 给TH0,低5位前面补足 3 个 0 凑成 8 位赋给TL0。 例如,如要求计数值为1000,则初值为 x=M-1000=8192-1000 =1C18H=1 1100 000 1 1000B 则赋初值时,TH0=0E0H,TL0=18H。
工作方式0和工作方式1的最大特点就是计数溢出后, 计数器为全0,因而循环定时或循环计数应用时就存在 反复设置初值的问题,这给程序设计带来许多不便,同 时也会影响计时精度。
工作方式2就针对这个问题而设置,它具有自动重 装载功能,即自动加载计数初值,所以也称为自动重加 载工作方式。
在这种工作方式中,16位计数器分为两部分, 即以TL0为计数器,以TH0作为预置寄存器,初始化 时把计数初值分别加载至TL0和TH0中,当计数溢出 时,不再象方式0和方式1那样需要“人工干预”,由 软件重新赋值,而是由预置寄存器TH以硬件方法自 动给计数器TL0重新加载。
C/T位:计数器模式和定时器模式的选择位。
C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。
C/T=1,为计数器模式,计数器对外部输入引脚T0 (P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许 的最高计数频率为晶振频率的1/24。
一、 方式 0
6.3 工作方式
图6.3 方式 0(13位计数器)
在方式0下,T0和T1工作在13位的定时/计数 器方式,由TH的高 8 位和TL的低 5 位组成。
当T0的13位计数器加到全部为 1 以0 ,然后从 0 开始继续计数。
图 6.1 定时器/计数器结构框图
6.2 方式和控制寄存器
一、 定时器/计数器的方式寄存器TMOD
8位分为两组,高四位控制T1,低4位控制T0。 图 6.2 TMOD各位定义
对TMOD的各个位的说明:
GATE位:门控位。GATE=1时,T0、T1是否计数要受 到外部引脚输入电平的控制,INT0引脚控制T0,INT1引 脚控制T1。可用于测量在INT0和INT1引脚出现的正脉冲 的宽度。若GATE=0,即不使能门控功能,定时计数器 的运行不受外部输入引脚INT0、INT1的控制。
M1 M0:四种工作方式的选择位 表 6.1 工作方式选择表
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 时停止工作
定时器初值的确定:
6.1 定时器/计数器的结构及工作原理
定时器/计数器: Timer/Counter
本质上都是加法计数器,当对固定周期的脉冲信号 计数时是定时器,对脉冲长度不确定的信号计数时是计 数器。
每接收到一个计数脉冲,加法计数器的值就加一, 当计满时发生溢出,并从0开始继续计数。
加法计数器的计满溢出信号就是定时/计数器的输出, 该信号使TCON的某位(TF0或TF1位)置一,作为定时 器/计数器的溢出中断标志。
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放 来决定。
TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时 被清 0。
四、 方式 3 图 6.6 方式 3(两个 8 位独立计数器)
在工作方式3模式下,定时/计数器0被拆成两个独立 的8位计数器TL0和TH0。其中TL0既可以作计数器使用, 也可以作为定时器使用,定时/计数器0的各控制位和引脚 信号全归它使用。其功能和操作与方式0或方式1完全相同。 TH0就没有那么多“资源”可利用了,只能作为简单的定 时器使用,而且由于定时/计数器0的控制位已被TL0占用, 因此只能借用定时/计数器1的控制位TR1和TF1,也就是 以计数溢出去置位TF1,TR1则负责控制TH0定时的启动 和停止。
单片机定时器的使用
在工业检测、控制中,很多场合都要用到计数或者定 时功能。例如对外部脉冲进行计数、产生精确的定时时间、 作串行口的波特率发声器等。MCS-51单片机内部有两个 可编程的定时器/计数器,以满足这方面的需要。它们具 有 两种工作模数(计数器模式、 定时器模式)和四种工 作方式( 方式0、方式1、方式2、方式3),其控制字均 在相应的特殊功能寄存器(SFR)中,通过对它的SFR的 编程,可以方便的选择工作模数和工作方式。
由于TL0既能作定时器也能作计数器使用,而 TH0只能作定时器使用而不能作计数器使用,因此在 方式3模式下,定时/计数器0可以构成二个定时器或 者一个定时器和一个计数器。
如果定时/计数器0工作于工作方式3,那么定时/ 计数器1的工作方式就不可避免受到一定的限制,因 为自己的一些控制位已被定时/计数器借用,只能工 作在方式0、方式1或方式2下,如果设置T1工作在方 式3,则T1停止工作,相当于其他方式时令TR1=0。
相关文档
最新文档