HCS12の命令サイクル数と遅延サイクル数を計算してみました。HCS12についての情報があります
HCS12 はバスクロック (E クロック) をタイミング基準として使用します。
- E クロックの周波数は、オンボード クロック発振器 (クロック、48 MHz、E-クロック、24 MHz) の半分です。
- 命令の実行時間も E クロック サイクルで測定されます。
24Mhzはクリスタル周波数なのかな?その場合、CPU の命令時間には水晶振動子の発振周波数の半分しか使用されません。では、半分にするべきでしょうか?
バス クロックが 24 MHz のデモ ボードで 100 ミリ秒の時間遅延を作成するにはどうすればよいですか?
100 ミリ秒の時間遅延を作成するには、前の命令シーケンスを 60,000 回繰り返す必要があります [100 ミリ秒 ÷ (40 ÷ 24,000,000) μs = 60,000]。次の命令シーケンスは、必要な遅延を作成します:例はありますが、値の計算方法60000
と値が
わかりません。40
ldx #60000
loop psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
psha ; 2 E cycles
pula ; 3 E cycles
nop ; 2 E cycles
nop ; 3 E cycles
dbne x,loop