デバイス設定

プロセッサーエキスパート(PE)を使って設定します。
下図のBeansフォルダがPEで設定した結果です。プロジェクト名はN_TIMERです。
 ・Byte1    :7セグメントLED出力ポート設定
 ・FC1     :時間タイマー設定
 ・IV1      :割込みベクタ設定
 ・Bit1     :スイッチ入力設定
 ・TO1     :圧電スピーカ出力設定

CodeWarriorで作成したプロジェクトフォルダをダウンロードできます。CODEフォルダに全てのソースがあります。
N_TIMER.lzh へのリンク←クリックしてダウンロードしてください。

【7セグメントLED出力ポート設定】

ポートBは全て7セグメントLEDに接続されます。下図のようにLEDはアノードコモンなので、アノードは3Vに接続されます。ポートBをHiにするとLEDのアノードとカソードは同じ電圧になるため電流は流れず、消灯します。ポートBをLowにするとLEDに電流が流れ、点灯します。従ってPTBは”1”で消灯、”0”で点灯となります。

【時間タイマー設定】

8ビットモジュロタイマを利用して、1秒を作ります。Period/offsetを1secに設定します。0.999秒となりますが、最大5分のタイマーですからそれ程厳密にする必要はないでしょう。

【割込みベクタ設定】

時間タイマーで生成した1秒で割込みを発生させますので、割込み処理関数を指定します。Interrupt vectorをVmtimに設定するとモジュロタイマーで割込みを受けます。発生した割込みの処理先をISR nameでSECに設定します。メインプログラムにISR(SEC)関数を記述して、割込み処理を行います。

【スイッチ入力設定】

スイッチの入力ポートを設定します。Pin for I/OをPTA1に設定し、Pull resistorをpull upに設定します。Init. directionをInputに設定してスイッチを受け付けます。プッシュスイッチですから、PTA1を読み込んだ時、OFFで”1”、ONは”0”となります。

【圧電スピーカ出力設定】

16ビットタイマー出力を設定します。CompareはTPM0、Output pinはTPMCH0に設定します。Pulse widthはクリック音の周期318.9μSに設定します。

【CPU設定】MC9S08QG8CPB

CPUの設定は特に変更していません。バスクロックは8Mhzです。MethodsでDelay100USをダブルクリックしてチェックを入れてください。
全ての設定が終わったら左上のコマンドProsessor ExpertのGenerate Code’プロジェクト名’をクリックしてコードを生成します。

TOP BACK NEXT