タイマ50を使用して割り込みデバッグポートでLEDを点滅させる
8000000 ÷ 2^13(8192) = 976hz
1 ÷ 976 = 0.001(1secごとにカウント)
0.001 * 96 =100msec
| Applilet設定 メイン・システム・クロック サブクロック 高速内蔵発振器クロック 低速内蔵発振器クロック CPUクロック オンチップデバッグ ウォッチドックタイマ |
高速内蔵発振器 使用しない 8Mhz 240Khz 8000Khz(fxp) 使用する 使用しない |
| タイマ設定 | TM50 | 方形波出力 | 100msec |
ソースコードの変更
void main (void)
{
// 追加
PM1 = 0b00000000;
P1 = 0b00000000;.
TM50_Start();
while (1);
}
__interrupt void MD_INTTM50( void )
{
// 以下追加
static unsigned char cnt;
if (P1.0) {
P1.0 = 0;
} else {
P1.0 = 1;
}
if (cnt ++ >= 10) {
if (P1.1) {
P1.1 = 0;
} else {
P1.1 = 1;
}
cnt = 0;
}
}
ビルド&デバッガ(シュミレータ)の起動
OKをクリック
「はい」をクリック
「シュミレータ」→「入出力パネル」を選択
「部品」→「LED」で入出力パネルに貼り付ける
実行ボタンで実行しP10のLEDが点滅しおよそ10回でP11が点滅する ブレークポイントを設定する
編集→時間→ミリ秒と設定
右クリックで端子をP10とP11を選択する
マーカAを配置しP10のFailling Edgeの一番最初を検索する
マーカBを配置しP10のRising Edgeの一番最初を検索する
図を見るとAとBのマーカ間が99.ミリ秒と設定した約100msecであることが分かる
「オプション」→「トレーサオン」を選択
「ブラウズ」→「トレース」で「TraceView」が表示される
アセンブルしたコードやアドレス、データ値など確認できる




