続-ガイガカウンタ・簡易モニタリングポスト製作日記(4)

良く分かりませんが、とりあえずプロジェクトを作成します

良く分かりませんが、とりあえずプロジェクトを作成します

  • AVR Studio 5
  • プログラムを組みましたので、次の段階にはいります。使用方法も良く分かりませんが、AVR Studio5を起動します。最初に行わねばならない動作はきっとNew Projectを作る事でしょう。「File」-「New」-「Project」の順にすすみます。するとポップアップウインドウがでてきました。分からないことだらけですが、勘を働かせドンドンドンすすんでいきます。

    [Installed Templates] の項は “AVR GCC” ,”AVR Assembler”及び”AVR Studio Solutino”の選択肢がありますが、今回は”AVR Assembler”をクリックします。プロジェクトの名前欄に任意の名前を入力し[OK]をクリックます。続いて今回使用するマイクロコントローラの型番を入力しました。今回私は”ATmega168P”です。いよいよソースコードを打ち込む段取りになりました。間違えないように打ち込んでいきます。はい、打ち終わりました。

    さて、続いてどうすればよいのでしょうか?いろいろとメニューがあって迷ってしまいそうですね。画面上はカラフルなボタンがたくさんあって、結構にぎやかです。どうせ多少の事をやってもPCが壊れることはないでしょう。適当にボタンを押しまくりましょう。今ならちょうど誰も見ていませんし。

    とは言ったものの、「適当にボタンをクリックしていたら、いつの間にか出来あがっていた」では再現性が大きく欠けてしまいますね。危ない危ない。今回はぎりぎりのところで踏みとどまる事ができました。少し冷静になって作戦を立ててから先に進むことにしましょう。

    メニューの項目を見てみると左から「File」「Edit」「View」「VAssistX」「Project」「Build」「Debug」「Tools」「window」「Help」の順になっています。まぁ、次は「Build」「Debug」あたりが妥当な所でしょう。

    「Build」を見てみますとプルダウンメニューに[BuildSolution]という項目と[Buildプロジェクト名]という項目がありました。どちらを選べば良いか全くわかりません。でも、[BuildSolution]のほうはF7キーが割り当てられているので、きっとメインストリームでしょう。私は初心者ですから、無難なこちらを選びましょう。「寄らば大樹の陰」です。F7キーを押します。

    すると下の方の画面が変わり、Error Listが出てきてしまいました。良く見るとソースコードを打ち間違えていました。タイポでした。間違えた所を訂正して再びF7キーを押すと今度は、だらだらと表示が出て最後の行に

    Build succeeded.
    ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

    やりました。succeedっては、いい響きですね。どうやら出来た様です。でも、出来あがった物がどこにあるか分かりません。どこかに16進数で記述されたATmega168Pネーティブの機械語ファイル(hex)があるはずです。まぁ、後ほど検索をかけて見つけることにしましょう。

    それよりも私はメニューの項目に「Debug」の文字があったことが気になりました。以前どこかでデバッガという言葉を聞いたことがあります、プログラム中にブレークポイントを設定したり、1ステートメントずつ実行させたりする代物でした。

    シュミレーションです

    シュミレーションです

    ちょっと試してみましょう。新たな発見があるかもしれません。「Debug」のプルダウンメニューから[Start Debugging and Break] (Alt+F5)を実行します。すると[Select Debug Tool]というタイトルのポップアップウインドウが出てきました。”下からtoolを選べ”と書いてあり、「AVR Simulator」のみ選択可能な状態です。どうやらこのAVR Studioはマイクロコントローラをシュミレートして動作確認ができるみたいです。

    その後、いろいろと探索をして次の事柄を発見しました。

  • debugのスタート、ストップ、コンテニュー、シングルステップ(2種類)がある
  • debugがスタートしていない状態の時に、各ステートメントの左端の部分をクリックするとブレークポイントを作成できる。
  • debugをスタート、又はコンテニュー、シングルステップ動作をしたときにIO view とProcessor viewを出すことができる
  • IO Viewではポートの状態を見ることができる
  • proseccor viewでは 動作スピード(Frequency)を変えることができる,Stop Watchで経過時間を測ることができる、さらにレジスタの値も見ることができる
  • CPUの状態、経過時間がわかります

    CPUの状態、経過時間がわかります

    他にも多数の機能があるみたいですが、今回はこれ位で十分です。目的とするパルスのタイミングがわかりそうです。助かりました。早速ブレークポイントを設定してシュミレートしてみましょう。設定する場所はRCALL T62uS、RCALL T938uSの2か所のステートメントで良いでしょう。

    debugをスタートすると、[Processor View]中の”Frequency(動作速度)”が1.000 MHzになっていますので、ここをクリックして8.000MHzに書き換えました。

    スタート直後は.csegの次の一番最初のステートメントで実行が止まってます。[Processor View]の”Program Counter”は0、”Stop Watch”も0.00μSを表示しています。”Registers”の前の+をクリックするとR16の状態を見ることができます。[IO View]では”PORTB”をクリックして選択しておきました。

    さて続いてF5を押すか画面上の緑右矢印ボタンを押してコンテニューさせます。最初のブレークポイントまで進んできました。このプレークポイントの命令、サブルーチンコールはまだ実行されていません。Stop Watchを見てみると0.88μSという表示です。初期設定におおむね0.88μ秒かかりました。

    同様にして時間を測り、パルスのON時間62.75μS、OFF時間939.37μSを得ました、合計で1002.12μSですから周波数に直すと0.998KHzです。出力PORTに設定したPB3もちゃんとON、OFFしています。目標とした時間からは多少誤差がありますが、ガイガー管の動作電圧範囲は広いのできっと大丈夫でしょう。