定时器计数器
- 格式:doc
- 大小:34.00 KB
- 文档页数:5
定时器计数器的工作原理
定时器计数器是一种用来计量时间间隔的设备,它的工作原理是通过内部的振荡器或外部的时钟源来提供时间基准。
在每个时间单位(如毫秒、微秒等)经过时,计数器会自动加1。
当
计数器的值达到设定的阈值时,会触发一个中断信号或者产生一个输出信号,用于控制其他设备或执行特定的操作。
计数器通常由一个或多个寄存器组成。
其中一个寄存器用于存储当前的计数值,而其他的寄存器用于存储计数器的控制信息,如计数模式、计数方向、计数起始值等。
计数器可以根据需要进行初始化,即将计数值设定为初始值。
然后,在开始计数后,计数器会按照设定的模式和方向进行自动计数。
定时器计数器可以应用于各种领域,如计时、测量、脉冲生成等。
例如,在微处理器中,定时器计数器可以用来控制程序的执行速度,生成定时中断请求。
在工业控制系统中,定时器计数器可以用于监测过程的时间延迟,控制机器的工作周期。
在电子钟表或计时器中,定时器计数器用于显示时间,并触发相应的操作。
总而言之,定时器计数器能够通过内部振荡器或外部时钟源提供的时间基准,实现精确计量时间间隔的功能。
通过定义计数的起始值、模式和方向等参数,可以灵活地应用于不同的场景中,实现定时、测量和控制等功能。
定时器计数器原理及应用一、知识点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,与定时器/计数器的控制无关。
第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所示。
定时器计数器的工作原理
定时器和计数器是电子设备中常见的两种功能模块。
它们可以分别完成精确计时和计数的任务。
定时器的工作原理是基于一个稳定的时钟源,通常是晶体振荡器。
时钟源会产生一个固定频率的周期性信号,这个信号频率可以根据系统需求进行调节。
定时器的主要组成部分是一个计数器和一些辅助逻辑电路。
计数器用于记录时钟脉冲的数量,根据计数值和时钟频率可以确定经过的时间。
辅助逻辑电路用于控制计数器的工作方式,例如开始计数、计数暂停、计数清零等。
当定时器启动后,时钟信号会连续地输入计数器。
每个时钟脉冲都会使计数器的计数值加1。
当计数器的计数值达到某个预先设置的目标值时,辅助逻辑电路会触发一个中断信号,以通知系统达到了设定的时间。
计数器的工作原理与定时器相似,但它主要用于计数任务,而不是计时。
计数器通常用于记录输入信号的脉冲数量,可以用来测量运动物体的速度、计算输入信号的频率等。
计数器也是由一个计数器和辅助逻辑电路组成。
计数器记录输入脉冲的数量,辅助逻辑电路用于控制计数器的工作方式,例如开始计数、计数暂停、计数清零等。
当计数器启动后,每个输入脉冲都会使计数器的计数值加1。
当计数器的计数值达到预先设置的目标值时,辅助逻辑电路会触发一个中断信号,通知系统完成了预定的计数任务。
总结起来,定时器和计数器都是基于时钟脉冲的工作,通过计数器记录时钟脉冲的数量来实现计时或计数的功能。
它们在很多电子设备中都有广泛的应用。
定时器计数器的工作原理
定时器计数器的工作原理是通过使用一个稳定的时钟源来驱动计数器进行计数。
计数器有一个初始值,每次时钟源产生一个时钟脉冲,计数器就会递增一次。
当计数器达到设定的值时,会触发一个中断或产生某种特定的事件。
定时器计数器通常用于实现定时功能,如延时、定时触发等。
通过设置计数器的初始值和设定的计数器值,可以实现不同的定时时间。
当计数器达到设定的值时,可以触发中断或执行一段特定的代码,从而实现相应的定时功能。
定时器计数器的工作原理是基于时钟脉冲的递增计数。
时钟脉冲可以来自外部的时钟源,也可以来自内部的时钟发生器。
计数器的工作频率由时钟源决定,计数器每次加1所需的脉冲数取决于时钟源频率与计数器选择的分频系数。
通过调整时钟源频率和计数器的分频系数,可以实现不同的计数速率,进而实现定时器的不同计时范围。
例如,当时钟源频率为1MHz,计数器分频系数为1000时,计数器每计数1000个时钟脉冲就会触发中断,从而实现1秒的定时功能。
定时器计数器的工作原理基于时钟的周期性和计数器的递增计数,通过合理的设置和调整,可以实现各种不同的定时功能。
单片机定时器计数器工作原理单片机定时器计数器是单片机中非常重要的一个模块,它通常用于实现各种定时和计数功能。
通过定时器计数器,单片机能够精准地进行定时操作,实现定时中断、计数、脉冲生成等功能。
本文将详细介绍单片机定时器计数器的工作原理。
1. 定时器计数器的功能单片机定时器计数器通常由若干寄存器和控制逻辑组成,可以实现以下几种功能:- 定时功能:通过设置计数器的初始值和工作模式,可以实现一定时间的定时功能,单片机能够在计时结束时触发中断或产生输出信号。
- 计数功能:可以实现对外部信号的计数功能,用于测量脉冲个数、频率等。
也可以用于实现脉冲输出、PWM等功能。
- 脉冲发生功能:可以在一定条件下控制定时器输出脉冲,用于控制外部器件的工作。
2. 定时器计数器的工作原理定时器计数器的工作原理可以分为初始化、计数及中断处理几个基本环节。
(1)初始化:在使用定时器前,需要对定时器计数器进行初始化设置。
主要包括选择工作模式、设置计数器的初始值、开启中断等。
不同的单片机厂商提供了不同的定时器初始化方式和寄存器设置方式,通常需要查阅相关的单片机手册来进行设置。
(2)计数:初始化完成后,定时器开始进行计数工作。
根据不同的工作模式,定时器可以以不同的频率进行计数。
通常采用的计数源是内部时钟频率,也可以选择外部时钟源。
通过对计数器的频率设置和初始值的设定,可以实现不同的定时功能。
(3)中断处理:在定时器计数完成后,可以触发中断来通知单片机进行相应的处理。
通过中断服务程序,可以定时执行一些任务,或者控制一些外部设备。
中断服务程序的编写需要根据具体的单片机和编程语言来进行相应的设置。
3. 定时器计数器的应用定时器计数器广泛应用于各种嵌入式系统中,最常见的应用包括定时中断、PWM输出、脉冲计数、定时控制等。
可以利用定时器计数器实现LED呼吸灯效果、马达控制、红外遥控编码等功能。
在工业自动化、通信设备、电子仪器等领域也有着广泛的应用。
定时器计数器工作原理
定时器计数器是一种用于计算时间间隔的电子设备。
它通过内部的晶振、分频器和计数器等组件实现精确的计时功能。
工作原理如下:
1. 晶振:定时器计数器内部搭载了一个晶振,晶振的频率非常稳定,一般为固定的几十千赫兹。
2. 分频器:晶振的频率可能非常高,但计数器需要较低的频率进行计数,所以需要一个分频器将晶振的频率降低,得到一个更低的频率作为计数器的输入。
3. 计数器:分频器将得到的较低频率信号送入计数器,计数器会根据信号的脉冲个数来进行计数。
4. 触发器:计数器会将计数结果保存在一个触发器中,可以通过读取这个触发器来获取时间间隔的计数值。
5. 重置:当计数器达到设定的计数值后,会自动重置为初始状态,重新开始计数。
通过以上几个步骤的组合,定时器计数器可以实现精确的时间间隔计算。
可以根据不同的需求设置不同的晶振频率、分频器的分频倍数和触发器的位数,以实现不同精度的计数功能。
定时器计数器广泛应用于各种电子设备中,如计时器、时钟、
定时开关等。
它们都依赖于定时器计数器的准确计时功能,来实现精确的时间控制。
定时器计数器的定时实验简介本文将介绍定时器计数器的定时实验,主要涉及定时器计数器的原理、使用方法以及实验步骤。
定时器计数器是一种常用的计时设备,广泛应用于各种计时场景。
定时器计数器的原理定时器计数器是一种能够精确计时的设备,它通常由一个可编程的时钟和一个计数器组成。
计数器根据时钟的脉冲信号进行计数,从而实现计时的功能。
定时器计数器的工作原理如下:1.初始化计数器:将计数器的初始值设置为0。
2.启动计数器:通过控制信号将时钟输入到计数器中,开始计数。
3.计数过程:计数器根据时钟的脉冲信号进行计数,每接收到一个时钟脉冲,计数器的值加1。
4.判断定时完成:当计数器的值等于设定的定时值时,表示定时完成。
5.停止计数器:定时完成后,停止时钟信号的输入,计数器停止计数。
定时器计数器的使用方法定时器计数器通常由软件通过编程的方式进行使用,具体方法如下:1.初始化定时器计数器:首先,需要将计数器的初始值设置为0,并且设定定时的时间。
2.启动计数器:通过控制信号将时钟输入到计数器中,开始计数。
3.监测计数器的值:在计数的过程中,可以通过查询计数器的值来获取当前的计时结果。
4.判断定时完成:当计数器的值等于设定的定时值时,表示定时完成。
5.停止计数器:定时完成后,停止时钟信号的输入,计数器停止计数。
实验步骤以下是一个简单的实验步骤,用于演示定时器计数器的定时功能:1.准备硬件:–打开开发板,并确保定时器计数器的引脚与外部设备连接正常。
–连接调试器,以便在实验过程中监测计数器的值。
2.编写代码:–在开发环境中,编写一段代码,完成实验的需求,包括初始化计数器、设定定时值等。
3.烧录程序:–将编写好的程序烧录到开发板中。
4.启动实验:–启动开发板,开始实验。
5.监测计数器的值:–在实验过程中,通过调试器监测计数器的值,以便实时了解计时结果。
6.判断定时完成:–当计数器的值等于设定的定时值时,表示定时完成,可以进行相关操作,如触发其他事件、输出提示信息等。
单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。
其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。
本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。
一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。
定时器一般由一个计数器和一组控制寄存器组成。
具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。
在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。
2. 设置定时器的阈值:即需要计时的时间间隔。
3. 启动定时器:通过控制寄存器来启动定时器的运行。
4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。
二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。
计数器一般由一个计数寄存器和一组控制寄存器组成。
计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。
在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。
2. 设置计数器的初始值:即计数器开始计数的初始值。
3. 启动计数器:通过控制寄存器来启动计数器的运行。
4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。
三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。
2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。
电路中的计数器与定时器数字电路中的常用元件在数字电路中,计数器与定时器是常用的元件,主要起到计数和计时的作用,广泛应用于各种电子设备中。
本文将对计数器与定时器的原理、分类、应用以及在数字电路中的设计等方面进行介绍和探讨。
一、计数器计数器是一种数字电路元件,主要用于计数,常用于各种计数器件,如时钟、计时器、频率计和计数器等。
在数字电路中,计数器是一种二进制计数器,其功能是将二进制数字逐次加1,利用这种自然的计数方式可以实现直观的计数功能。
计数器的原理计数器是由触发器和组合逻辑门构成的,触发器用于存储计数器的状态,组合逻辑门用于控制触发器的状态,根据不同的控制方式可以实现不同类型的计数器。
计数器的分类常见的计数器有以下几种:1. 同步计数器:同步计数器是由同步触发器和组合逻辑门构成的,每次计数都是同步进行的,在时钟的作用下实现计数。
同步计数器适用于需要精确计数的场合。
2. 异步计数器:异步计数器是由异步触发器和组合逻辑门构成的,计数不是同步进行的,其计数速度比同步计数器快。
异步计数器适用于计数速度较快的场合。
3. 可编程计数器:可编程计数器可以通过编程实现不同的计数值,具有较高的灵活性和可编程性。
计数器的应用计数器广泛应用于各种电子设备中,其中一些应用包括:1. 时钟:时钟是一种常见的计时器,可以通过计数器实现对时间的计算和显示。
2. 计时器:计时器通常用于精确定时和计时,如计时器、秒表、定时器等。
3. 频率计:频率计可以通过计数器实现对波形频率的计算和显示。
二、定时器定时器是一种数字电路元件,主要用于计时,广泛应用于各种电子设备中。
定时器的原理定时器同样由触发器和组合逻辑门构成,其中触发器用于存储状态,组合逻辑门可以控制触发器的状态,实现不同类型的定时器。
定时器的分类常见的定时器有以下几种:1. 单稳态定时器:单稳态定时器是由触发器和组合逻辑门构成的,在触发脉冲的作用下,输出一次脉冲并保持一段时间,常用于需要延时一段时间后输出脉冲的场合。
定时器/计数器MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0(由TH0和TL0组成)和定时器T1(由TH1和TL1组成),它们既可用作定时器定时,又可用作计数器记录外部脉冲个数,其工作方式、定时时间、启动、停止等均用指令设定。
定时器/计数器的结构1.定时器/计数器的工作原理定时器/计数器T0和T1的工作方式通过八位寄存器TMOD设定,T0和T1 的启动、停止由八位寄存器TCON控制。
工作前需先装入初值,利用传送指令将初值装入加1计数器TH0和TL0或TH1和TL1,高位数装入TH0或TH1,低位数装入TL0或TL1。
当发出启动命令后,加1计数器开始加1计数,加到满值(各位全1)后,再加1就会产生溢出,系统将初值寄存器清0。
如果需要继续计数或定时,则需要重新赋计数初值。
2.定时器的方式寄存器TMOD特殊功能寄存器TMOD为定时器的方式控制寄存器。
TMOD是用来设定定时器的工作方式,其格式如下:各位功能如下:(1)GATE控制定时器的两种启动方式当GATE=0时,只要TR0或TR1置1,定时器启动。
当GATE=1时,除TR0或TR1置1外,还必须等待外部脉冲输入端(P3.3)或(P3.2)高电平到,定时器才能启动。
若外部输入低电平则定时器关闭,这样可实现由外部控制定时器的启动、停止,故该位被称为门控位。
定时器1类同。
(2)定时/计数方式选择位当该位为0时,T0或T1为定时方式;当该位为1时,T0或T1为计数方式。
(3)方式选择位M1、M0M1、M0两位可组合成4种状态,控制4种工作方式。
每种方式的功能如表5-1。
表5-1 M1、M0控制的工作方式M1 M0 工作方式说明0 00 11 01 1 0123 13位计数器16位计数器可再装入8位计数器T0分为两个8位计数器,T1停止计数3.控制及标志寄存器TCON特殊功能寄存器TCON控制定时器的启动、停止、溢出、中断等。
有些位是控制设置,有些是标志位,各位都有对应地址。
其格式如下:TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0各位功能如下:(1)TFl:定时器1溢出标志,T1溢出时由硬件置1,并申请中断,CPU响应中断后,又由硬件清0。
TF1也可由软件清0。
(2)TF0:定时器0溢出标志,功能与TFl相同。
(3)TRl:定时器1运行控制位,可由软件置1或清0来启动或停止T1。
(4)TR0:定时器0运行控制位,功能与TRl相同。
(5)IE1:外部中断l请求标志。
(6)IE0:外部中断0请求标志。
(7)IT1;外部中断1触发方式选择位。
(8)IT0:外部中断0触发方式选择位。
TCON中各位均是1有效,如利用程序把TR1或TR0置1则启动定时器,否则定时器处于关闭状态。
当T1或T0溢出时,由硬件把TF1或TF0置1,作为溢出标志。
TCON中的低4位IE1、IE0、IT1、IT0用于中断工作方式,这方面内容在讲述中断的章节中再详细讨论。
当整机复位后,TCON中的各位均为0。
工作方式MCS-51片内的定时器/计数器可以通过对TMOD寄存器中的控制位的设置来选择定时或计数方式,通过对M1、M0的设置来选择四种工作方式,下面以T0为例说明。
1. 方式0当M1、M0设置为00时,定时器选定为方式0工作。
T0在工作方式0的逻辑结构如图5-1所示。
在这种工作方式下,16位的计数器(TH0和TL0)只用了13位,构成13位定时器/计数器。
TL0的高3位未用,当TL0的低5位计满时,向TH0进位。
而TH0溢出后对中断标志位TF0置1,并申请中断,同时把计数器清零。
图5-1 T0在工作方式0的逻辑结构当GATE=0时,INT0被封锁,且仅由TR0便可控制T0的开启和关闭,即只要TCON 中的TR0为1,TL0及TH0组成的13位计数器就可以开始计数。
当GATE=1时,T0的开启与关闭取决于和TR0相与的结果,即只有当=1和TR0=1时,T0才开始工作。
这可以用来测量在端出现的脉冲宽度。
2.方式1方式1和方式0的工作方式相同,唯一的差别时TH0和TL0组成一个16位计数器。
如图5-2。
3.方式2T0在工作方式2的逻辑结构图如图5-3所示。
定时器/计数器构成一个能自动重复置初值的8位计数器。
在工作方式0、1,每次计满溢出后,计数值变为0,故还得重新装入初值。
而工作方式2可在计数器计满溢出时自动装入初值,实际是把16位的计数器拆成两个8位,TL0用作8位计数器,TH0用来保存初值。
每当TL0计满溢出时,可自动将TH0的值装入TL0中。
方式2还用作串行口波特率发生器。
4.方式3方式3对定时器T0和T1是不相同的。
若T1设置为方式3,则停止工作(其效果与TR1=0相同)。
所以方式3只适用于T0。
方式3使MCS-51具有三个定时器/计数器(增加了一个附加的8位定时器/计数器)。
当T0设置为方式3时,将使TL0和TH0成为两个相互独立的8位计数器,如图5-4。
其中,TL0使用原T0的各控制位、引脚和中断源;、GATE、TR0、和TF0;而TH0则只能作为定时器使用,但它占用T1的TR1和TFl,即T1的中断标志和运行控制位。
通常,当T1用作串行口波特率发生器时,T0才设置为工作方式3,此时,T1虽仍可定义为工作方式0、工作方式1和工作方式2,但只能用在不需中断控制的场合。
定时器初始化使用定时器时,必须先利用指令对其进行正确设置,这种设置过程称为初始化。
1.初始化主要内容(1)选择工作方式通过对方式寄存器TMOD进行设置,选择工作方式。
例如,欲设置T0为定时方式1,TMOD状态应置为:GATE M1 M0 GATE M1 M0TMOD 0 0 0 0 0 0 0 1其状态字为01H。
利用指令“MOV TMOD,#01H”,则可把TMOD设置成T0方式1状态。
同样,若设置T1为计数方式1,只需=1,M0=1,则用指令MOV TMOD,#50H 可达此目的。
注意:TMOD不能位寻址。
(2)给定时器赋初值赋初值即把初始常数装入TH0、TL0或TH1、TL1。
例 T0初值3CB0H,T1初值00FFH。
利用字节传送指令装入初值:MOV TH0,#3CHMOV TL0,#0B0HMOV TH1,#00HMOV TL1,#0FFH(3)根据需要设置中断控制字对中断允许寄存器IE和优先级寄存器IP设置,详细在中断一节介绍。
(4)启动定时器例 SETB TR0 ;启动T0SETB TR1 ;启动T1设定时器T1为方式1,初值3CB0H,若未用中断,初始化程序如下:MOV TMOD, #10HMOV TH1, #3CHMOV TL1, #0B0HSETB TR12.定时器初值设定方法定时时间和定时器工作方式、初值及时钟周期均有关系,欲设定准确时间,必须会计算定时器初值。
即使同样的时间,工作方式不同,初值则不同;时钟频率不同即使工作方式相同,初值也不同。
一般设定初值分几步考虑。
(1)根据时间长短,选择工作方式因为工作方式不同,溢出一次计数最大值不同。
设用M表示最大计数值,则各种方式计数最大值如下:方式0 M=213=8192方式1 M=216=65536方式2 M=28=256方式3 M=28=256原则上,定时时间长选用16位或13位计数器,即方式0或方式1。
若时间短选8位计数器即方式2和方式3,如果需要自动装入初值,只能选择方式2。
(2)定时初值计算设初值为X,最大计数值为M。
初值X与机器周期TM、定时时间T的关系如下:(M-X)TM=T其中,TM=12个时钟周期=12/ fosc,X=M-T/TM由以上可以看出,计数次数为(M-X),初值越大,达到满值所需计数次数越小,若时钟频率一定,定时越短。
而且时钟频率越大,时钟周期越短,机器周期越小,计数器加1一次时间越短。
因为 TM=12/fosc所以当fosc=6MHZ时, TM=2μs当fosc=12MHZ时, TM=1μs例:设采用定时器T1,方式1,定时50ms,计算定时初值。
已知晶振频率fosc =12MHZ解:fosc=12MHZ TM=1μs定时方式1时 M=216=65536所以 X=M-T/TM=65536-50000/1=15536=3CB0H这样只要把定时器T1装入初值3CB0H,定时器计满溢出一次的时间就是50ms。
若需要继续定时,应再装入初值。
溢出信号使TCON寄存器中的溢出标志位TF1置1,称硬件置位。
应用程序设计例编写用定时器延时50ms的子程序。
MOV TMOD, #01H ;T0为方式1,送方式字MOV TH0, #3CH ;送初值高字节MOV TL0, #0B0H ;送初值低字节SETB TR0 ;启动T0LP: JBC TF0 LP1 ;判断溢出标志TF0是否等于1,是就转LP1SJMP LP ;继续查询50ms到否LP1: MOV TH0, #3CH ;重新赋初值MOV TL0, #0B0HSJMP LP ;返回LP,继续查询下一次。