工作方式0:13位定时/计数方式,因此,最多可以计到2的13次方,也就是8192次。
工作方式1:16位定时/计数方式,因此,最多可以计到2的16次方,也就是65536次。
工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多可以计到2的8次方,也说是256次。
预置值计算:用最大计数量减去需要的计数次数即可
单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。
提供定时器的计数源就是由单片机的晶振经过12分频后获得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?当然这很容易,就是12M/12等于1M,也就是1个微秒。
结论:计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。
计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。
但如果是一个空的盆要1万滴水滴进去才会满,我在开始滴水之前就先放入一勺水,还需要10000滴嘛?此时,我们可采用预置数的方法,如我要计100,那我就先放进65436,再来100个脉冲,就到了65536。
同样定时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒,但现在我只要10毫秒就可以了,怎么办?10个毫秒为10000个微秒,所以,只要在计数器里面放进55536就可以了。