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