您的位置 首页 IOT

单片机守时器守时计算方法

对12MHz1个机器周期1us12/fosc=1us方式013位定时器最大时间间隔=2^13=8.192ms方式116位定时器最大时间间隔=2^16…

对12MHz 1个机器周期 1us 12/fosc = 1us

方法0 13位守时器最大时刻距离 = 2^13 = 8.192ms
方法1 16位守时器最大时刻距离 = 2^16 = 65.536ms
方法2 8位守时器最大时刻距离 = 2^8 = 0.256ms =256 us

守时5ms,核算计时器初值 M = 2^K-X*Fosc/12 12MHz
方法0: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 – 5*10^(-3)*12*10^6/12= 3192 = 0x0C78
THx = 0CH,TLx = 78H,
方法1: K=16,X=5ms,Fosc=12MHz 则 M = 2^16 – 5*10^(-3)*12*10^6/12= 60536 = 0xEC78
THx = ECH,TLx = 78H,

50ms 12MHz THx = 3CH,TLx = B0H,
10ms THx = D8H,TLx = F0H,
方法2: 最大时刻 2^8Fosc/12 = 0.256ms

十进制数是怎样来的?
6MHz 一个机器周期 12/6 = 2us
守时1ms 计数初值x
(2^16-x)*2us = 1000us
x = 2^16 – 500 ,TH,TL 可置 -500

12MHz 一个机器周期 12/12 = 1us
12MHz 一个机器周期 12/12 = 1us
守时50ms 计数初值x
(2^16-x)*1us = 50000us
x = 2^16 – 50000 ,TH,TL 可置 -500

守时器 计内部晶振频率
计数器 计外部输入CPU脚上的脉冲个数 P3.4(T0) P3.5(T1) 负跳变加一
当晶振为6MHz时,最高计数频率500KHz

寄存器
1 TH TL
2 TCON
TR0 TR1 其他位是中止操控位

TMOD
GATE C/T1 M1 M0 GATE C/T0 M1 M0

C8051F00X
守时器:每个时钟加1 时钟可为体系时钟或体系时钟的1/12
CKCON

当引脚上呈现电平常发动T0 当不满足时,中止T0,读出今后清零 。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/268147.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部