龙空技术网

「硬件小百科」单片机定时器/计数器的方式控制字

硬见 266

前言:

此时你们对“定时器计数汇编语言”都比较关心,朋友们都想要剖析一些“定时器计数汇编语言”的相关内容。那么小编同时在网摘上收集了一些关于“定时器计数汇编语言””的相关资讯,希望看官们能喜欢,咱们一起来学习一下吧!

与定时/计数有关两个特殊功能寄存器

在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。

顺便说一下,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。

<TMOD结构>

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

<TCON结构>

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

计数脉冲要进入计数器还真不不难,有层层关要通过,最起码,就是TR0(1)要为1,开关才能合上,脉冲才能过来。因此,TR0(1)称之为运行控制位,可用指令SETB来置位以启动计数器/定时器运行,用指令CLR来关闭定时/计数器的工作,一切尽在自已的掌握中。

<单片机定时器/计数器结构>

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

工作方式0

当TMOD中的M1,M2设置成0,0时,定时器/计数器就工作在方式0,工作方式0是一种13位定时器/计数器方式。

工作方式1

工作方式1为16位定时器/计数其结构和操作与工作方式0基本相同,唯一的区别是工作方式1的计数器由TL0的8位和TH0的8位共同组成16位的计数器,其定时时间为:

t=(216-T0初值)×时钟周期×12

工作方式2

方式2为8位自动装入时间常数方式,方式0和方式1若用于循环重复定时/计数时(如产生连续脉冲信号),每次计数满后溢出时,寄存器TL0和TH0全部为0,所以第二次计数还得重新装入时间初值。这样不仅麻烦而且影响精度。方式2避免了上述缺陷它的定时时间为:

t=(28-T0初值)×时钟周期×12

工作方式3

方式3:特殊工作方式只适用于T0,除了是用8位寄存器TL0外,其功能和操作与方式0和方式1完全相同,但是,另一个计数器TH0只可以工作在内部定时器模式下。工作方式3为T0增加了一个8位的定时器。

定时器/计数器的定时/计数范围

工作方式0:13位定时/计数方式,因此,最多能计到2的13次方,也就是8192次。

工作方式1:16位定时/计数方式,因此,最多能计到2的16次方,也就是65536次。

工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多能计到2的8次方,也说是256次。

预置值计算:用最大计数量减去需要的计数次数即可。

例:流水线上一个包装是12盒,要求每到12盒就产生一个动作,用单片机的工作方式0来控制,应当预置多大的值呢?对了,就是8192-12=8180。

以上是计数,明白了这个道理,定时也是一样。

以上所有信息仅作为学习交流使用,不作为任何学习和商业标准。若您对文中任何信息有异议,欢迎随时提出,谢谢!

关于云创硬见

云创硬见是国内最具特色的电子工程师社区,融合了行业资讯、社群互动、培训学习、活动交流、设计与制造分包等服务,以开放式硬件创新技术交流和培训服务为核心,连接了超过30万工程师和产业链上下游企业,聚焦电子行业的科技创新,聚合最值得关注的产业链资源, 致力于为百万工程师和创新创业型企业打造一站式公共设计与制造服务平台。

标签: #定时器计数汇编语言