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

码农UP2U

共 2309字,需浏览 5分钟

 ·

2024-05-10 07:30

公众号文章同步阅读网址:www.netor0x86.com
闲话:据说手机的语言设置成英文以后广告会少很多,不知道是不是真的,反正我是设置了,还没啥感觉!

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

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 个机器周期。

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


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


往期文章列表

  1. C51 单片机开发环境的安装

  2. C51 单片机开发用 Keil 创建工程

  3. C51 单片机开发将 Keil 生成的文件写入单片机

  4. C51 单片机开发的理解

  5. C51 单片机开发 SFR 及 SBIT 的作用

  6. C51 单片机开发 I/O 口输入输出

  7. C51 单片机开发点亮一个 LED

  8. C51单片机开发让 LED 闪起来

  9. C51 单片机开发按键让灯亮起来

  10. C51 单片机开发两个按键控制 LED 的灯亮和灯灭

  11. C51 单片机开发按键软件消除的抖动

  12. C51 单片机开发一个按键控制 LED 的亮与灭

  13. C51 单片机开发记录状态位控制 LED 的亮与灭

  14. C51 单片机开发震动传感器介绍

  15. C51 单片机开发振动传感器控制继电器

  16. C51 单片机开发震动让喇叭响起来

  17. C51 单片机开发 433M 控制继电器

  18. C51 单片机开发震动提示的功能

  19. C51 单片机开发定时器/计数器的初识

  20. C51 单片机开发晶振与相关概念


我是一个程序员,了解 C、PHP、Java、ASM、Python,有 信安、CISP 证书,写小白也能看得懂的文章,感谢关注!!!

我的网站:https://www.netor0x86.com


我录制的视频课程:

1. 入门级栈溢出分析

2. WEB端获取MAC地址真实项目案例

3. PHP扩展模块开发之DLL编写与调用

4. C语言零基础入门教程

5. PE 文件结构初识与二进制手写可执行程序


浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报