世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

单片机定时器定时的时间怎么算?

[复制链接]
查看: 993 |回复: 3
1
飞起来的猪
  • 积分:304
  • |
  • 主题:6
  • |
  • 帖子:24
积分:304
LV4
初级工程师
  • 2023-3-22 10:47:12
比如我要定时20ms,这20ms是怎样算出来的?在程序上怎样写?
FIFA
  • FIFA
  • 离线
  • LV4
  • 初级工程师
  • 积分:390
  • |
  • 主题:2
  • |
  • 帖子:24
积分:390
LV4
初级工程师
  • 2023-3-23 13:20:08
  • 倒数3
 
单片机的定时时间的计算公式=计数值(定时值)* 机器周期= 计数值(定时值)* 12 / 晶振频率。
qlnveder164
  • 积分:570
  • |
  • 主题:19
  • |
  • 帖子:67
积分:570
LV6
高级工程师
  • 2023-3-24 11:23:44
  • 倒数2
 

单片机的定时时间的计算公式=计数值(定时值)* 机器周期= 计数值(定时值)* 12 / 晶振频率。

上面的两个等号是等价的,因为,单片机的机器周期=12秒/晶振频率,因此两个公式通用。

完成一个基本操作所需要的时间称为机器周期。一般,一个机器周期由 若干个S周期(状态周期)组成。80C51系列单片机一个机器周期由6个S周期组成。一个S周期(状态周期),由2个时钟周期组成。

若干个机器周期,组成了指令周期。根据指令不同,所需的机器周期数也不同。

扩展资料

几种典型指令;

1、单字节周期指令(比如 INC A)

2、双字节单周期指令(比如 ADD A,#data)

3、单字节双周期指令 (比如 INC DPTR)

4、单字节双周期指令 (比如MOVX A @DPTR)


t6665248
  • 积分:1001
  • |
  • 主题:25
  • |
  • 帖子:180
积分:1001
LV6
高级工程师
最新回复
  • 2023-3-29 13:54:25
  • 倒数1
 

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

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

方式1 13位定时器最大时间间隔 = 2^13 = 8.192ms

方式2 16位定时器最大时间间隔 = 2^16 = 65.536ms

方式3 8位定时器最大时间间隔 = 2^8 = 0.256ms =256 us

定时5ms,计算计时器初值 M = 2^K-X*Fosc/12 12MHz

方式1: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78

THx = 0CH,TLx = 78H,

方式2: 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,

方式3: 最大时间 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


热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号