51单片机定时器初值为0x00,计数时0x00计算在内吗

发布日期:2022-11-27
51单片机定时器初值为0x00,计数时0x00计算在内吗

电工优优今天要和大家分享的51单片机定时器初值为0x00,计数时0x00计算在内吗相关信息,接下来我将从51单片机定时器工作方式,51单片机定时器,51单片机定时器初值怎样计算这几个方面来介绍。

单片机中0x00作为定时器的初值,在计数时0x00不计算在内,但参与了计数。为何这样说,从以下分析便可清楚。

1:51单片机的定时器/计数器是加计数器。工作时该单片机有0至3四种工作方式,每种方式的定时/计数最大值都不一样;

2:设定某种方式后,都是定时/计数到该方式最大值后才会溢出,产生中断信号给单片机中CPU。溢出启动中断后须对中断位清零,重新对定时器高低赋值。

3:假设设定定时工作方式为0方式,此时单片机定时/计数最大值为8192,若设定初值为0x00,启动定时器后,定时器便会以0x00为基数开始加1,直至数满溢出,产生中断。具体过程参看下图便明白。

从上面波形图可以看出:

①:定时初值赋为0x00时,定时从0到1每加一次,都由一个由高(低)到低(高)的高低两个电平组成;

②赋初值为零(0x00)时,定时启动后,无论0x00处是高或低电平开始,都竖到1(0x01)才为加1。

故而讲,0x00计数时不计算在内,但参与了计数!

定时器从0开始,计时一次为1,计时2次为2,依次累加,工作方式2的8位定时器计到2∧8=256,工作方式1的16位定时器计到65536,假设单片机晶振为12MHz,则一个机器周期为1us,所以8位定时器最大定时为256us,16位定时器最大定时为65ms。当单片机到达最大定时时间时就会产生定时中断,在中断程序中需要清除中断标志位,并对定时器重新赋值才能再次进行定时。

12兆晶振每隔一微秒计数器加一,也就是从0x00变成0x01需要一微秒。经过65536个脉冲当计数器溢出时的总时间为65.536ms毫秒。如果0x00看成是一个时间单位,那么,第65536个脉冲可以视为0,我这样说你明白了吗?就像零点和二十四点是一个意思,看你怎么理解了。两个数字才能构成时间跨度,单纯一个数字无论是几都和时间没有半毛钱关系。

以上就是"电工优优"为大家介绍的51单片机定时器工作方式的相关信息,想了解更多"51单片机定时器初值为0x00,计数时0x00计算在内吗,51单片机定时器工作方式,51单片机定时器,51单片机定时器初值怎样计算"相关知识,请收藏电工无忧吧。