当前位置:首页 > 单片机 > 单片机
[导读]定时器是MCS-51单片机非常重要的组成部分,由于其应用与单片机的其他硬件相关,存在着一定的复杂性[1]。而定时器是单片机应用中解决某类复杂问题的最有为效的方法,应用非常广泛。随着定时要求的提高,在定时处理过程

定时器是MCS-51单片机非常重要的组成部分,由于其应用与单片机的其他硬件相关,存在着一定的复杂性[1]。而定时器是单片机应用中解决某类复杂问题的最有为效的方法,应用非常广泛。随着定时要求的提高,在定时处理过程中所带来的误差需要校正[2],本文就MCS-51单片机的使用方法与误差校正方法进行了讨论,并给出通用算法与程序。

2 定时器工作方式与方式设置

MCS-51单片机有两路独立的定时器,每路定时器有4种工作方式(0~3),方式0是13位计数结构,计数器由TH全部8位与TL的低5位构成;方式1是16位计数结构,计数器由TH与TL全部8位共16位组成;方式2是8位计数结构方式,计数器由TL8位组成,与其他方式不同的是,当定时溢出时,硬件自动将TH的值装入TL中,有自动加载功能。前三种工作方式,两路定时器的设置与使用完全相同,但在工作方式3下,两路定时器有很大差别,只有0路定时器可以工作在方式3下,1路定时器只能工作在方式0~2下,在工作方式3下,0路定时器被拆分成两个独立的8位计数器TL0与TH1,其中0路定时器的各控制位和引脚信号全归TL0使用,因此TH0只能做简单的定时器使用,其控制位占用了1路定时器的控制位,如果0路定时器工作在方式3下,1路定时器由于让出了所属控制位,通常作为串行口波特率发生器[3]。

定时器的工作方式选择主要依靠设置TMOD寄存器的值,其各位定义如下: 位序 B7 B6 B5 B4 B3 B2 B1 B0

位符号 GATE C/T M1 M0 GATE C/T M1 M0

其中,B0~B3用来控制0路定时器,B4~B7用来控制1路定时器。

GATE位为门控位,主要确定定时器启动的方式,如果GATE=0,则用TR0(TR1)位启动/关闭定时器,如果GATE=1,则以外中断请求信号(INT0或INT1)启动定时器。

C/T位为定时与计数选择位,C/T=0为定时方式,C/T=1为计数方式。

M0、M1为工作方式选择位

M1M0=00方式0M1M0=10方式2

M1M0=01方式1M1M0=11方式3

选择定时器工作方式,应根据上述规定向寄存器TMOD中写入相应数,如设置0路定时器工作在定时方式0下,1路定时器工作在方式1下,则应用下列指令设置:

MOVTMOD,#10H

3 定时器的处理方式与计数初值的计算

MCS-51单片机的定时器采用增值计数法,在定时工作方式下,启动定时器后,每机器周期CPU硬件会自动给相应计数器加1,直至超出对应计数器所能表示的最大值,发生定时溢出,硬件自动将TF0(TF1)置位,用户可以通过查询TF0(TF1)位判断定时是否溢出,如果此时定时中断处于开放状态,将引发相应定时中断,MCS-51响应中断,根据相应中断地址(0路定时中断的中断入口地址为000B,1路为001B)执行中断处理程序。

定时编程有两种基本方式,一种方式为查询方式,在启动定时时关闭相应定时中断,然后循环检测TF0(TF1)进行相应处理;另一种方式为中断方式,启动定时时开放相应定时中断,并将定时溢出处理程序编写为中断处理程序形式通过在相应中断入口地址(000B,001B)放置跳转指令转入定时溢出处理程序。

定时器工作方式选定后,定时溢出时间唯一取决于计数器的初值,如何根据应用需要确定计数器初值,也是定时器应用的一个重要问题。假定单片机机器周期为K0,所选定的定时方式计数器为n位,所实现的定时时间长度为T,则有:

(2n-x)K0=T(1)

其中x为计数器的初值,根据式1可以求出初值x为:

x=2n-(T/K0)(2)

4 定时器的编程步聚和各步聚的通用程序

定时器应用编程主要分为以下几个步聚。

4.1步骤1根据定时要求求计数初值x

首先根据单片机时钟频率f确定单片机机器周期k0,即:

k0=12/f(3)

在实际应用中,单片机时钟频率f一般为6mHz或12mHz,所以单片机机器周期k0=2μs或1μs,然后根据选定的工作方式确定计数器位数n,将所得k0与n代入式2,求出计数初值x,并根据所选择的计数方式将x的值分入TH0(TH1)与TL0(TL1)。

4.2步骤2编写初始化程序

初始化程序与定时编程方式有关,中断方式初始化程序如下(以0路定时器为例):

movTMOD,#n(规定定时工作方式)

movTH0,#n1(设置计数器低位)

movTL1,#n2(设置计数器高位)

setBEA(开放中断)

setBET0(开放定时中断0)

setBTR0(启动定时)

查询方式初始化程序如下:

movTMOD,#n(规定定时工作方式)

movTH0,#n1(设置计数器低位)

movTL1,#n2(设置计数器高位)

clrET0(开放定时中断0)

setBTR0(启动定时)

其中#n1和#n2与计数初值x有关,如果采用方式2,有#n1=#n2,所有初始化程序都以0路定时器为例,如果用1路定时器,则将程序中的寄存器和控制位的下标1改为0。

4.3步骤3编制定时处理程序

中断方式处理程序如下:

org000B

1jmpb1

b1:clrEA

movTH0,#n1

movTH1,#n2

定时处理语句段

reti

其中,0路定时器为000B,如果为1路定时器为001B,如果定时器工作在方式2,则不需要给TH0、TH1重新赋值。

查询方式处理程序如下:

L1:jbcTF0,LO1

sjmpL1

LO1:movTH0,#n1

movTH1,#n2

定时处理语句段

sjmpL1

5 定时的误差校准

由于单片机的机器周期为1μs~2μs,定时误差一般应在0μs~20μs之内,对于一般应用,此误差可以忽略,但是对于精确度要求比较高的应用场合,此误差必须进行校正。定时误差是定时溢出后转入执行定时处理语句段之间所耗费的时间,此时间主要由定时溢出转入定时处理语句段所必须执行的指令或硬件过程产生。

定时误差校准的简单原理是:在定时溢出响应后,停止定时器计数,读出当时计数值(它反映了定时响应的延迟时间),然后将完成这一任务的程序段执行时间考虑进去,作为修正因子校正定时初值,以下程序段以中断处理方式为例:

clrEA

clrTR1

clrc

movA,#n0

clrTR0

subbA,TL0

subbA,#08

movTL0,A

movA,#n1

subbA,TH0

movTH0,A

setbTR0

定时处理语句段

reti

由于执行从指令clrTR0(停止计数)到指令setbTR0(重新开启计数)之间的指令需8个机器周期,应将此消耗考虑进去。上述程序将定时误差缩小在1个机器周期内。

扩展阅读:从零开始学51单片机定时器

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭