前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发定时器数一次要多久

C51 单片机开发定时器数一次要多久

作者头像
码农UP2U
发布2024-05-10 19:33:39
880
发布2024-05-10 19:33:39
举报
文章被收录于专栏:码农UP2U码农UP2U

前面的文章整理了关于定时器、晶振之类的相关概念,其中有三个概念是需要掌握的,分别是晶振的频率、时钟周期和机器周期。它们三个是相关联的,如何相关联在上篇文章中也整理过了,本篇文章来进行一次计算。

0x01:机器周期与时钟周期的关系

上篇文章中整理到机器周期与时钟周期的关系,机器周期是若干个时钟周期,那么机器周期到底是多少个时钟周期,这个由手册给出。

在 STC89C51RC 手册的 188 页中是这样写的:

STC89C51RC/TD+ 系列单片机的定时器有两种技术速率:一种是 12T 模式,每 12 个时钟加 1,与传统 8051 单片机相同;另外一种是 6T 模式,每 6 个时钟加 1,速度是传统 8051 单片机的 2 倍。

现在已经知道了晶振的频率、时钟周期、机器周期,以及机器周期和时钟频率之间的关系,那么我们就来计算一下,一个机器周期是多少个时钟周期。

0x02:时钟周期与机器周期的换算

我们晶振的频率是 11.0592 MHz,那么相当于是 11059200 Hz。

时钟周期是晶振频率的倒数,那么就是 1/11059200

机器周期是 12 * (1/11059200) = 1.085 微秒

如果我们要延时 1 秒,那么就是 (1 * 1000 * 1000) / 1.085 = 921658 个机器周期,也就是它要数 921658 次。

0x03:用某 chat 进行计算

我们使用某 chat 进行相应的提问,让它计算一次给我们看,提问如下:

晶振频率是11.0592MHz,机器周期是时钟周期的12倍,那么一个机器周期是多少微秒,要延时1秒,要经过多少个机器周期

它给出的解释如下:

晶振频率是11.0592MHz,机器周期是时钟周期的12倍。我们需要计算一个机器周期是多少微秒,以及要延时1秒需要经过多少个机器周期。 首先,我们定义晶振频率为 F_osc = 11.0592MHz,即 F_osc = 11059200 Hz。 机器周期是时钟周期的12倍,所以机器周期 T_machine = 12 × T_clock。 时钟周期 T_clock 是晶振频率的倒数,即 T_clock = 1 / F_osc。 因此,机器周期 T_machine = 12 × (1 / F_osc)。 要延时1秒,即延时时间为1000000微秒,我们需要计算经过多少个机器周期才能达到这个延时。 所需的机器周期数 N = 延时时间(微秒) / T_machine(微秒)。 计算结果为:一个机器周期是 1.0850694444444444 微秒。 要延时1秒,需要经过 921600 个机器周期。

从它给出的结果来看,和我们的结果是相近的。只是取的近似值不同,但是大差不差吧!

好了,本篇整理的内容就到这里了,本篇文章依然枯燥,不过,学习就是这样!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01:机器周期与时钟周期的关系
  • 0x02:时钟周期与机器周期的换算
  • 0x03:用某 chat 进行计算
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档