一、计数概念的引进
从选票的计算谈起:画“正”。这便是计数,日子中计数的比如处处可见。例:录音机上的计数器、家里边用的电度表、轿车上的里程表等等,再举一个工业出产中的比如,线缆职业在电线出产出来之后要计米,也便是丈量长度,怎样测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎样办呢?职业中有很奇妙的办法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不便是线长1米嘛,所以只需记下轮转了多少圈,就能够知道走过的线有多长了。
二、计数器的容量
从一个日子中的比如看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时刻之后,水就会逐突变满。录音机上的计数器最多只计到999….那么单片机中的计数器有多大的容量呢?8031单片机中有两个计数器,别离称之为T0和T1,这两个计数器别离是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。
三、守时
8031中的计数器除了能够作为计数之用外,还能够用作时钟,时钟的用处当然很大,如打铃器,电视机守时关机,空调守时开关等等,那么计数器是怎么作为守时器来用的呢?
一个闹钟,我将它守时在1个小时后闹响,换言之,也能够说是秒针走了(3600)次,所以时刻就转化为秒针走的次数的,也便是计数的次数了,可见,计数的次数和时刻之间确实十分相关。那么它们的联系是什么呢?那便是秒针每一次走动的时刻正好是1秒。
图1
定论:只需计数脉冲的距离持平,则计数值就代表了时刻的消逝。
由此,单片机中的守时器和计数器是一个东西,只不过计数器是记载的外界发生的工作,而守时器则是由单片机供给一个十分安稳的计数源。
那么供给组守时器的是计数源是什么呢?看图1,本来便是由单片机的晶振通过12分频后取得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时刻距离也很准。问题:一个12M的晶振,它供给给计数器的脉冲时刻距离是多少呢?当然这很简单,便是12M/12等于1M,也便是1个微秒。
定论:计数脉冲的距离与晶振有关,12M的晶振,计数脉冲的距离是1微秒。
四、溢出
让咱们再来看水滴的比如,当水不断落下,盆中的水不断变满,终究有一滴水使得盆中的水满了。这时假如再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲便是“溢出”。
水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。至于TF0是什么咱们稍后再谈。一旦TF0由0变成1,便是发生了改变,发生了改变就会引发事情,就象守时的时刻一到,闹钟就会响相同。至于会引发什么事情,咱们下次课再介绍,现在咱们来研讨另一个问题:要有多少个计数脉冲才会使TF0由0变为1。
五、恣意守时及计数的办法
方才已研讨过,计数器的容量是16位,也便是最大的计数值到65536,因而计数计到65536就会发生溢出。这个没有问题,问题是咱们现实日子中,常常会有少于65536个计数值的要求,如包装线上,一打为12瓶,一瓶药片为100粒,怎样样来满意这个要求呢?
……
提示:假如是一个空的盆要1万滴水滴进去才会满,我在开端滴水之前就先放入一勺水,还需要10000滴嘛?
对了,咱们选用预置数的办法,我要计100,那我就先放进65436,再来100个脉冲,不就到了65536了吗。
守时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒,但现在我只需10毫秒就能够了,怎样办?
……
10个毫秒为10000个微秒,所以,只需在计数器里边放进55536就能够了。