- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二十九讲 定时器/计数器的结构原理 * 第六章 定时器/计数器 由于控制是单片机应用的基本定位,而在控制过程中,定时和计数是其基本要素,所以定时器/计数器是单片机配备的最常见的功能部件。定时器/计数器不仅能用于定时和计数,而且它还具有很多衍生功能。 * 定时和计数 1.定时方式:产生精确的定时信号。通过对内部信号进行计数来实现。由于内部信号的频率/周期是已知的,所以就可以根据计下的信号数求出时间。 2.计数方式:对外部信号进行计数。 定时器/计数器的简称叫CTC,即Counter and Timer Circuit。它的两大基本功能就是定时和计数。 * 6.1 定时器/计数器的结构和工作原理 98C52单片机内部有3个定时器/计数器T0、T1和T2,T0和T1功能结构比较简单,而T2的功能结构比较复杂。 6.1.1 定时器/计数器T0和T1 图6-1 * 定时器/计数器T0和T1 定时器/计数器T0和T1的内部结构如图所示,其中核心部件是计数器。 K1是计数器开始计数的启动开关,K1合上,计数器开始计数;K1断开,计数器则停止计数。 K2是计数信号选择开关,计数器可以选择对内部计数信号或对外部计数信号计数。 计数器的输入端来一个脉冲信号,计数器就加1计数,当计数器计满回零时,计数满标志就为1。 * 一、定时器/计数器T0的内部结构和工作模式 定时器/计数器T0的内部结构与前图基本上是一致,只是用了两个8位的特殊功能寄存器TH0和TL0来组成计数器。TH0和TL0组成的方式不同,就形成了定时器/计数器T0不同的工作模式。定时器/计数器T0共有四种工作模式。 * 1、工作模式0 定时器/计数器T0工作模式0的结构原理如图6-2所示。 图6-2 * 工作模式0续 计数器由特殊功能寄存器TL0和TH0组成,其中TL0只用了它的低5位,即TL04~0。计数器二进制数的排列序列为TH07~TH00TL04~TL00,组成了一个13位的计数器。计数时,先进行TL0的低5位计数,计满向TH0进位。 内部计数信号由“系统时钟信号/12”提供。“系统时钟信号/12”是指将系统时钟信号的频率降低12倍形成的信号作为内部计数信号。外部计数信号端由T0引脚(P3.4)引入外部计数信号。 K2由控制位 控制, =0,T0工作在定时器方式; =1,T0工作在计数器方式。 计数满标志位由特殊功能寄存器TCON内标志位TF0充当。 * 工作模式0启动方式 内部启动信号端由特殊功能寄存器TCON内控制位TR0控制。 外部启动信号端由一个简单的逻辑电路(一个“或门”、一个反相器组成)控制。 如果采用内部启动,则预先将控制位GATE置0,使“或门”的输出端为1,然后通过程序将控制位TR0置1,即可启动计数器工作。 如果采用外部启动,预先将控制位GATE置1,使“或门”的输出由外部启动信号端INT0控制。控制位TR0也预先被置1,这样“与门”的输出由“或门”的输出端控制,也就是由外部启动信号端INT0控制。这时外部启动信号端INT0只要输入一个高电平,就会启动计数器工作。 * 工作模式0定时的计算 由T0结构原理可知,计数器是13位,则计数器的模是213。设定时器的定时时间为T,计数器预置的初值为a,系统时钟频率为fosc,那么计算T的公式如下: (6-1) 式(7-1)中12/fosc是内部计数信号的周期。(213-a)是计数器从初值a开始计数,一直到计数器计满回零时计数器需要计入的计数信号的个数。 * 例6-1 若某单片机的系统时钟频率为12Mhz,要求T0采用模式0进行5ms的定时,求计数器的初值a,并对它进行编程。 解:根据题意,变换公式(6-1),得: 将已知条件代入上式,得: 上式计算时需注意时间和频率的单位,时间用秒,频率用赫兹。 * 工作模式0计数器初值的设置 根据模式0的计数器结构,初值a的低5位(11000B)作为特殊功能寄存器TL0的初值,a的高8位)作为TH0的初值。注意TL0和TH0的取值,先取a的最低五位作为TL0的值,a剩下的其余位作为TH0的值。于是设置计数器初值的编程如下: MOV TH0, #63H MOV TL0, #18H * 63H18H2、工作模式1 定时器/计数器T0工作模式1的结构原理如下图6-3所示。 图6-3 * 工作模式1定时的计算 图6-3与图6-2相比,只有一个地方不同,即计数器是16位的,由TH0和TL0组成。计数器二进制数的排列序列为TH07~TH00TL07~TL00,这样计算定时的公式就变成: (6-2) 计数器的位数增加了,当系统时钟频率一定时,它的定时器的定时时间就可以延长。 * 例6-2 若某单片机的系统时钟频率为
文档评论(0)