如何计算8051微控制器中的延迟

时间:2018-07-15 08:48:43

标签: assembly microcontroller 8051

我正在为8051单片机课程的决赛做准备,我听不懂什么,需要您的帮助来解决。

我知道8051可以有一个内部振荡器和一个外部振荡器。

根据我的阅读,内部振荡器(默认情况下)设置为2 MHz,外部振荡器可以有4种类型:晶体,电容器,电阻-电容器(RC)和CMOS时钟。

我的问题是关于初始化系统时钟(到外部晶体振荡器)以及如何计算1 ms的延迟(让晶体振荡器settel)。

当我阅读以下代码(用于初始化系统时钟)时,我不明白DJNZ ACC, $行如何给我512μs。

我想我知道如何使用公式计算延迟时间:

但是我得到了278μs的延迟,而不是513μs的延迟。

我的延迟公式计算-22.1184 MHz

My delay formula calculation - with the 22.1184 MHz

我的延迟公式计算-使用12 MHz

my delay formula calculation - with the 12 MHz

但是当我将F_SysClk更改为12 MHz时。一切正常,我得到了513μs。但是我不明白为什么我需要使用12 MHz而不是22.1184 MHz。

能否请您向我解释为什么我使用12 MHz?

这是我教科书遇到的问题

this is the image from my textbook that I having trouble with

0 个答案:

没有答案