51定时器初值计算重装初始值需要关闭51定时器初值计算吗?

C51 如何使用定时器的TH1,TL1来计算时间差值?定时器初值计时时如何变化的?装入初值后自减直到初值为0比如说:我开启计时器1后马上就关闭计时器1,然后我油开、关时的TH1,TL1的值?如何计算我开关时的时间差?_百度作业帮
C51 如何使用定时器的TH1,TL1来计算时间差值?定时器初值计时时如何变化的?装入初值后自减直到初值为0比如说:我开启计时器1后马上就关闭计时器1,然后我油开、关时的TH1,TL1的值?如何计算我开关时的时间差?
不太明白你这样做有什么意义,另外C51的定时器似乎只能自增一直至超出数位产生溢出中断,另外你所述的关闭定时器1是指关闭中断的话,那么寄存器的值讲继续增加,只是溢出中断不响应,如果是关闭计数,那么寄存器的值讲不变化,也不会产生中断
您可能关注的推广&&&&&&& S3C2440A有5个16-bit的定时器 . 定时器0,1,2,3有PWM功能 , 定时器4只有一个内部定时没有关联上输出管脚 . 定时器0有一个dead-zone产生器 ,用于大电流设备 .
&&&&&&& 定时器 0 和 1 共享这一个8-bit的预分频器 , 定时器2,3,4共享另一个8-bit的预分频器 . 每一个定时器都有一个时钟分频器 ,&用于产生5个不同的分频信号(1/2 ,1/4& , 1/8& , 1/16 , TCLK) . 每一个定时器模块从时钟分频器(clock divider)(输入到时钟分配器的信号是来自于对应的8-bit预分频器)接收自己的时钟信号
. 这个8-bit的预分频器是可编程的并且分频PCLK根据设置的值(TCFG0和TCFG1寄存器里的值) .
&&&&&&& 定时计数缓冲寄存器(timer count buffer :TCNTBn):在定时器启动时 ,
TCNTBn里的值 会被加载到递减计数器(down-counter)里 . 而对于定时比较缓冲寄存器(timer compare buffer : TCMPBn)里的值会被加载到比较寄存器(compare register)来跟递减计数器进行比较.&
&&&&&&& 每一个定时器都有一个属于自己的16-bit的递减计数器,这个计数器的计数由定时器时钟驱动. 但递减计数器到达0时 , 定时器中断请求产生通知CPU定时器运行完成 .
&&&&&&& TCMPBn的值通常用于PWM . 定时器控制逻辑改变输出逻辑当递减计数器和比较寄存器相匹配时 , 所以比较寄存器决定了PWM输出的开启时间(或者说关闭时间)&.
------5个16-bit定时器
------两个8-bit预分频和两个4-bit分频器
------可编程PWM占空比
------重装载模式或者一次性脉冲模式
------dead-zone产生器
2.16-bit PWM 定时器模块框架图
3.PWM定时器的运行时序如下:
&&&&&&&&& 一个定时器(除了定时器通道5)都有TCNBn , TCNTn, TCMPBn 和 TCMPn . (TCNTn和TCMPn都为内部寄存器 . 其中TCNTn的值可以从TXCNTOn寄存器里读到) 当定时器到达 0 时 , TCNTBn和TCMPBn的内容被装载到TCNTn和TCMPn . 当TCNTn到达0时
, 一个中断请求将会出现& (假如中断使能)& .& 当TCNTn = TCMPn时 , TOUTn逻辑电平翻转.
4.自动重载(auto reload)和双重缓冲器
&&&&&&& S3C2440A的PWM定时器有一个双重缓冲功能 , 使能重载内容给下一个定时操作而不需要停止当前的定时操作 . 所以 , 尽管性的定时器值被设置 , 当前定时器操作都能正确完成 .
&&&&&&& 定时器的内容可以写入TCNTBn , 并且可以从TCNTOn寄存器里读取定时器的当前计数值 . 假如TCNTBn被读取 , 这个值是用于下次定时操作的重载值而不是当前计数器的值 .
&&&&&&& 一旦TCNTn到达 0 之后 , 自动重载操作拷贝TCNTBn的值到TCNTn . 写在TCNTBn里的值只有在TCNTn到达 0
并且使能自动重载才会被加载到TCNTn&. 假如TCNTn计数到0并且自动重载位被设置为 0 ,那么TCNTn不做任何操作& .
&&&&&& 以下是一个例子:
5.定时器初始化使用manual update 和 inverter bit(反相位)
&&&&&&& 一个定时器的自动重载操作会在递减计数器计数到 0 时发生& . 所以 , 一个TCNTn的初始值必须提前被定义 . 在这种情况下 , 初始值需要手动加载到进TCNTn通过manual update位. 具体步骤如下:
&&&&&&& 1)把初始值写入TCNTBn和TCMPBn
&&&&&&& 2)设置相应定时器的manual update位 .& (推荐也配置反相器开关位)
&&&&&&& 3)设置相应定时器的启动位来启动定时器(并且清除手动更新位)
如果定时器被迫停止 ,TCNTn保持计数值并且不从TCNTBn重载数据 . 如果希望设置一个新的计数值 , 则需要手动更新 .
&&&&&&& 一旦TOUT反相器开关位被改变了 , TOUTn逻辑值也被改变不管定时器有没有工作 , 所以 , 在设置手动配置位时也配置反相器开关位是合适的 .
&&&&&&& 1)输出电平控制
&&&&&&&&&&&&&&&& 如果反相器被关闭 ,
那么定时器的输出管脚初始值为高电平 ,&
在定时器启动后 , 在TCNTn&TCMPn期间 ,
输出为& ' 0 ' ,
在TCNTn & TCMPn期间 ,
输出为 '& 1 ' .&
如果反相器被打开 , 情况与上述相反 .
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:46320次
排名:千里之外
原创:38篇
转载:16篇
评论:15条
(1)(3)(2)(4)(5)(3)(12)(14)(16)(1)mcs51单片机计数器/定时器工作方式2 计数初值计算与编程举例
8 位自动装入时间常数方式。由 TLl 构成 8 位计数器, THl 仅用来存放时间常数。启动 T1 前, TLl 和 THl 装入相同的时间常数,当 TL1 计满后,除定时器回零标志 TFl 置位,具有向 CPU 请求中断的条件外, THl 中的时间常数还会自动地装入 TLl ,并重新开始
8位自动装入时间常数方式。由TLl构成8位计数器,THl仅用来存放时间常数。启动T1前,TLl和THl装入相同的时间常数,当TL1计满后,除定时器回零标志TFl置位,具有向CPU请求中断的条件外,THl中的时间常数还会自动地装入TLl,并重新开始定时或计数。所以,工作方式2是一种自动装入时间常数的8位计数器方式。由于这种方式不需要指令重装时间常数,因而操作方便,在允许的条件下,应尽量使用这种工作方式。当然,这种方式的定时/计数范围要小于方式0和方式1。工作方式2的结构见下图.
& 内容来自单片机之家
&&& 8TL0TH0TL0TF0
8 内容来自单片机之家
255 内容来自单片机之家
& 内容来自单片机之家
& 内容来自单片机之家
& 内容来自单片机之家
1 02100sP1.0200s
& 内容来自单片机之家
&&& 6MHz2sTH0TL08
X 内容来自单片机之家
&&& 28-X&2&10-6100&10-6
内容来自单片机之家
& 内容来自单片机之家
&&& X206DB0CEH
0CEHTH0TL0
& 内容来自单片机之家
&&& TH00CEHTL00CEH
& 内容来自单片机之家
& 内容来自单片机之家
&&& /02M1M010 C/T0/0 内容来自单片机之家
&&& TMOD02H
内容来自单片机之家
& 内容来自单片机之家
MOV&&&& IE00H&&&&&&
& 内容来自单片机之家
MOV&&&& TMOD02H&&&& 02 内容来自单片机之家
& 内容来自单片机之家
MOV&&&& TH00CEH&&&&
MOV&&&& TL00CEH&&&&
SETB&&&& TR0&&&&&&&&&&&
LOOP JBC&&&&&&& TF0LOOP1&&&&&&&&&&
AJMP&&&&LOOP 内容来自单片机之家
& 内容来自单片机之家
LOOP1&CPL&&&&&&& P1.0&&&&&&&&&&&&&&&
内容来自单片机之家
& 内容来自单片机之家
AJMP&&&& LOOP&&&&&&&&&&
& 内容来自单片机之家
内容来自单片机之家
内容来自单片机之家
MOV TMOD02H&&&&& 02 内容来自单片机之家
MOV&&&& TH00CEH&&&&
内容来自单片机之家
MOV&&&& TL00CEH&&&&
& 内容来自单片机之家
SETB&&&& EA&&&&&&&&&&&&&&&&
& 内容来自单片机之家
SETB&&&& ET0&&&&&&&&&&& 0
LOOP SETB&&&& TR0&&&&&&&&&&&&
内容来自单片机之家
HERE SJMP&&&& &&&&&&&&&&&&&&&&
CLP&&&&&&& TF0&&&&&&&&&&&&&&&&& 0
AJMP&& &LOOP 内容来自单片机之家
& 内容来自单片机之家
CPL&&&&&& & P1.0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& 内容来自单片机之家
RETI&&&&&&&&&&&&&&&&
内容来自单片机之家
&&&&&&& 28-100156D09CH&&&
&&&&&&& TH109CHTL109CH
&&&&&&& M1M010C/T1GATE0&&&
&&&&&&& TMOD60H 内容来自单片机之家
MOV&&& IE, 00H&&&&
内容来自单片机之家
& 内容来自单片机之家
MOV&&& TMOD, 60H&& 12
MOV&&& TH1, 9CH&&&
MOV&&&& TL1, 9CH&&&&&
SETB&&& TR1&&&&&&&&&
DEL& JBC&&&&&&& TF1, LOOP&&&&
AJMP&&& DEL
LOOP INC&&&&&&&& A&&&&&&&&&&& 1 内容来自单片机之家
& 内容来自单片机之家
AJMP&&& DEL&&&&&&&&& & 内容来自单片机之家
------分隔线----------------------------
设单片机采用 8051 ,未扩展片外 ROM ,片外 RAM 采用一片 6116 ,编程将其片内 ROM ...
在89C51单片机的P1.0端口上接有一个发光二极管,P1.0输出低电平时发光二极管点亮,输...
1.程序结构采用主程序和中断服务子程序结构. 2.定时中断程序 定时器 1 于方式 1,...
1.实验设计 定时器 1 于方式 1,16 位 ,10ms 中断一次 40H 10ms 计数单元 41H 秒计数...
2 个 8 位方式。工作方式 3 只适用于定时器 0 。如果使定时器 1 为工作方式 3 ,则定...
定 T0 或 T1 无论用作定时器或计数器都有 4 种工作方式:方式 0 、方式 1 、方式 2 和...【】【】【】【】
版权与免责声明:
①凡本网注明"来源:电气自动化技术网"的所有作品,版权均属于电气自动化技术网,转载请必须注明出处“电气自动化技术网.cn”。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
>> 相关文章
>> 热点图片
栏目导航:
ICP网站备案:渝ICP备号定时器初值为0,进入中断后还需要装入初值吗?_百度知道
定时器初值为0,进入中断后还需要装入初值吗?
是不是自动清零了51单片机定时器?定时器溢出生产中断后,中断后还需要重新装入初值0吗,定时常数选择0H
您可能关注的推广回答者:
定时器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 定时器初值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信