单片机教学(十七)
说明:本课部份图请打本单片机书,都有,抱歉,不及画。定时/计数器的方式控制字从上一节我们已经得知,单片机中的定时/计数器都可以有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。在单片机中有两个特殊功能寄存器与定时/计数有关,这就是 TMOD 和 TCON。顺便说一下,TMOD 和 TCON 是名称,我们在写程序时就可以直接用这个名称来指定它们,当然也可以直接用它们的地址 89H 和 88H 来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。
从图 1 中我们可以看出,TMOD 被分成两部份,每部份 4 位。分别用于控制 T1 和 T0,至于这里面是什么意思,我们下面介绍。从图 2 中我们可以看出,TCON 也被分成两部份,高 4 位用于定时/计数器,低 4 位则用于中断(我们暂不管)。而 TF1(0)我们上节课已提到了,当计数溢出后 TF1(0)就由 0 变为 1。原来 TF1(0)在这儿!那么 TR0、TR1 又是什么呢?看上节课的图。计数脉冲要进入计数器还真不容易,有层层关要通过,最起码,就是 TR0(1)要为 1,开关才能合上,脉冲才能过来。
因此,TR0(1)称之为运行控制位,可用指令 SETB 来置位以启动计数器/定时器运行,用指令 CLR 来的掌握中。定时/计数器的四种工作方式工作方式 0 定时器/计数器的工作方式 0 称之为 13 位定时/计数方式。它由 TL(1/0)的低 5 位和 TH(0/1)的 8 位构成 13 位的计数器,此时 TL(1/0)的高 3 位未用。我们用这个图来讨论几个问题:M1M0:定时/计数器一共有四种工作方式,就是用 M1M0 来控制的,2 位正好是四种组合。
C/T:前面我们说过,定时/计数器即可作定时用也可用计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在我们