【发布时间】:2018-08-25 07:31:17
【问题描述】:
我正在研究 si labs 的 8051 MCU。我想使用定时器产生精确的 1ms 延迟。为此,我想知道给定 MCU 的机器周期时间是多少。单片机完成一条机器指令所用的时间。然后我可以计算出完成1ms延迟需要多少个机器周期。
【问题讨论】:
-
您说您想使用计时器,即用于创建计时的特殊工作的外围设备。但是您询问有关不使用计时器的信息,即 MCU 的机器周期,即您只需要通过与 CPU 循环来进行计时。请解释更多。
-
要使用定时器,请阅读如何配置它、选择一个时间、启动它并在时间过去后使用它来触发代码。你应该有这方面的文件。我想你将不得不学习中断编程。另一种方法是轮询计时器,以检测时间已过。然而,这通常不是如何使用计时器。
-
您可能应该迁移到较新的 Silabs 部件,例如 EFM32 系列。 8051 已经死了几十年了。为它编写 C 代码几乎和使用 Simplicity Studio 一样痛苦。