新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机定时/计数器的方式控制字

51单片机定时/计数器的方式控制字

作者:时间:2013-01-14来源:网络收藏

我们已经得知,单片机中的/都可以有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过/的方式控制字来设置。

在单片机中有两个特殊功能寄存器与/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就可以直接用这个名称来指定它们,当然也可以直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。

51单片机定时/计数器的方式控制字

从图1中我们可以看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。

51单片机定时/计数器的方式控制字

从图2中我们可以看出,TCON也被分成两部份,高4位用于定时/,低4位则用于中断(我们暂不管)。而TF1(0)我们上节课已提到了,当计数溢出后TF1(0)就由0变为1。原来TF1(0)在这儿!那么TR0、TR1又是什么呢?看上节课的图。

要进入计数器还真不容易,有层层关要通过,最起码,就是TR0(1)要为1,开关才能合上,脉冲才能过来。因此,TR0(1)称之为运行控制位,可用指令SETB来置位以启动计数器/定时器运行,用指令CLR来

51单片机定时/计数器的方式控制字

关闭定时/计数器的工作,一切尽在自已的掌握中。

定时/计数器的四种工作方式

工作方式0

定时器/计数器的工作方式0称之为13位定时/计数方式。它由TL(1/0)的低5位和TH(0/1)的8位构成13位的计数器,此时TL(1/0)的高3位未用。

我们用这个图来讨论几个问题:

M1M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。

C/T:前面我们说过,定时/计数器即可作定时用也可用计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在我们#0;#0;编程者。如果C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。顺便提一下:一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用的,这是个极普通的常识,几乎没有教材会提这一点,但很多初学者却会有此困惑。

GATE:看图,当我们选择了定时或计数工作方式后,定时/却不一定能到达计数器端,中间还有一个开关,显然这个开关不合上,就没法过去,那么开关什么时候过去呢?有两种情况

GATE=0,分析一下逻辑,GATE非后是1,进入或门,或门总是输出1,和或门的另一个输入端INT1无关,在这种情况下,开关的打开、合上只取决于TR1,只要TR1是1,开关就合上,计数脉冲得以畅通无阻,而如果TR1等于0则开关打开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR1。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭