定时器/计数器的初始化值的计算与计数程序举例

发布者:极地征服者最新更新时间:2017-10-12 来源: eefocus关键字:定时器  计数器  初始化值 手机看文章 扫描二维码
随时随地手机看文章

由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下:

1、确定工作方式(即对TMOD赋值);
2、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);
3、根据需要开放定时器/计数器的中断(直接对IE位赋值);
4、启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。 

下面介绍一下确定时时/计数器初值的具体方法。
因为在不同工作方式下计数器位数不同,因而最大计数值也不同。


现假设最大计数值为M,那么各方式下的最大值M值如下:
方式0:M=213=8 192


方式1:M=216=65 536
方式2:M=28=256 
方式3:定时器0分成两个8位计数器,所以两个M均为256。 


因为定时器/计数器是作“加1”计数,并在计数满溢出时产生中断,因此初值X可以这样计算:
X=M-计数值


下面举例说明初值的确定方法。
例1、选择T1方式0用于定时,在P1.1输出周期为1ms方波,晶振fosc=6MHz。
解:根据题意,只要使P1.1每隔500us取反一次即可得到1ms的方波,因而T1的定时时间为500us,因定时时间不长,取方式0即可。则M1 M0=0;因是定时器方式,所以C/T=0;在此用软件启动T1,所以GATE=0。T0不用,方式字可任意设置,只要不使其进入方式3即可,一般取0,故TMOD=00H。系统复位后TMOD为0,可不对TMOD重新清0。内容来自单片机之家www.dpj100.com 
下面计算500us定时T1初始值:
机器周期T=12/fosc=12/(6×106)Hz=2μs



设初值为X,则:
(1013-X)×2×10-6s=500×10-6s 
X=7942D=1111100000110B=1F06H

因为在作13位计数器用时,TL1的高3位未用,应填写0,TH1占用高8位,所以X的实际填写应为: 

X=111100000000110B=F806H


结果:TH1=F8H,TL1=06H 

源程序如下: 

ORG    2000H    

MOV    TL1,#06H   ;给TL1置初值

MOV    TH1,#0F8H  ;给TH1置初值 

SETB    TR1        ;启动T1

LP1:JBC    TF1,LP2      ;查询计数溢出否?


AJMP   LP1


LP2:MOV   TL1,#06H     ;重新设置计数初值 

MOV   TH1,#0F8H


CPL    P1.1          ;输出取反 

AJMP   LP1          ;重复循环


关键字:定时器  计数器  初始化值 引用地址:定时器/计数器的初始化值的计算与计数程序举例

上一篇:定时计数器的原理 计数周期的计算
下一篇:mcs51单片机计数器工作方式0 定时时间的计算与编程举例

推荐阅读最新更新时间:2024-03-16 15:40

STM32定时器学习---基本定时器
STM32F1系列的产品,除了互联型产品外,工位8个定时器 TIM6、TIM7:基本定时器 TIM2/3/4/5:通用定时器 TIM1、TIM8:高级定时器 三种定时器的区别: 基本定时器: 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。这2个定时器是互相独立的,不共享任何资源。 基本定时器框图: 1、定时器时钟源 TIM6 TIM7挂载在APB1上,由预分频系数控制。1:36M 2:72M 2、计数器时钟 定时器时钟经过 PSC 预分频
[单片机]
STM32定时器中断实验-TIM3
1、参考资料 《STM32F1开发指南-库函数版本》-第13章 定时器中断时实验 《STM32中文参考手册V10》-第14章 通用定时器 2、时钟选择 计数器时钟可以由下列时钟源提供: ①内部时钟(CK_INT) ②外部时钟模式1:外部输入脚(TIx) ③外部时钟模式2:外部触发输入(ETR) ④内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器, 如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。 3、内部时钟选择 4、时钟计算方法 除非APB1的分频系数是1,否则通用定
[单片机]
STM32<font color='red'>定时器</font>中断实验-TIM3
51单片机定时器初值的计算
什么是时钟周期?什么是机器周期?什么是指令周期? 时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250ns。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所
[单片机]
一种快速位同步时钟提取方案及实现
   摘 要 :本文比较了两种常用位同步提取电路的优缺点,在此基础上提出了一种基于CPLD/FPGA、用于数字通信系统的新型快速位同步方案。此方案借助Altera的设计工具设计了位同步提取电路,并利用FPGA予以实现,同时给出了该电路的仿真试验波形图。    引言   在数字通信系统中,同步技术是非常重要的,而位同步是最基本的同步。位同步时钟信号不仅用于监测输入码元信号,确保收发同步,而且在获取祯同步、群同步及对接收的数字码元进行各种处理的过程中,也为系统提供了一个基准的同步时钟。   随着可编程器件容量的增加,设计师倾向于把位同步电路设计在CPLD/FPGA芯片内部。因此,本文采用Quartus II软件设计了一种新型的位
[应用]
基于51单片机的红外计数器设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+光电开关+按键+小灯+蜂鸣器。 本设计采用51单片机为核心控制,使用LCD1602进行数值的显示,系统的光电开关控制数值的加减,当控制数值加的光电开关扫描到物体时,显示屏上的数值就会加1,当控制数值减的光电开关扫描到物体时,显示屏上的数值就会减1,系统内还能设置了报警阈值,按键控制阈值的大小,当数值达到阈值后就会进行报警。 二.仿真概述 1.使用LCD1602显示实时阈值和数值变换。 2.控制数值增加的光电开关扫描到物体数值增加。 3.控制数值减少的光电开关扫描到物体数值减少。 4.通过按键设定阈值,点击设置按键后按下加减按键进行阈值的设
[单片机]
基于51单片机的红外<font color='red'>计数器</font>设计
计数器输入的计数脉冲源结构与工作方式详解
定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 定时器/计数器的工作原理 计数器输入的计数脉冲源 系统的时钟振荡器输出脉冲经12分频后产生; T0或T1引脚输入的外部脉冲源。 计数过程 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示
[模拟电子]
51单片机定时器T1的使用2-查询法
注意:要知道,查询法是占用CPU时间的,帮不是一种好方法。 /********************************************** 方法1:延时法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:T1用于定时,方式1,定时时间50ms,查询方式,定时时间到,TF1=1,利用模拟串口发送字符0x68 **********************************************/ #include reg52.h #define uchar unsigned char sbit P1_0 = 0x90; sbit P1_1
[单片机]
51单片机<font color='red'>定时器</font>T1的使用2-查询法
c51中定时器工作时如何使用T0脚输入脉冲信号?
嵌入式系统中,定时器是一种常用的设备,可以实现各种时间控制功能,如计时、计数、产生中断等。8051单片机中有两个定时器:T0和T1,其中T0定时器主要用于计时和计数操作,可以通过T0脚输入脉冲信号来控制定时器的工作。 T0脚是单片机的P3.4口,既可以作为普通的输入输出口,也可以作为T0定时器的外部输入引脚。当T0脚作为定时器的外部输入引脚时,可以通过输入的脉冲信号来控制定时器的计数。在使用T0脚输入脉冲信号时,需要采取一些措施来确保信号的稳定性和正确性。 首先,需要确定输入脉冲信号的频率。在使用T0脚输入脉冲信号时,需要将信号的频率与定时器的工作频率相匹配。具体来说,当定时器使用外部时钟源时,其工作频率为外部时钟源频率的一半,因
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved