单片机机器周期怎么计算公式_【单片机】单片机的定时时间是怎么样计算?

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

对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,读出以后清零 。

取消

评论

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值