a02回
Wiz-Cを使ったシミュレーション
〜シミュレーション環境設定


・前回のあらすじ

取りあえず前回はPICを扱う上での前動作、ポートの初期設定を行いました。
Cで書くなら一瞬なのですけれどあんなに面倒な手順を踏まねばなりません。
しかし、あそこで設定して最後にあのボタンを押したなら、プログラムの方で勝手に処理して 初期設定を行ってくれるので入出力関係に関するミスはなくなる筈です。
まぁ熟練者には不要でしょうが・・・・

さて、前頁の処理を終え、デザイナーの窓を閉じたなら、以下の画面になる筈です。↓
画面左側に何やらプログラムを書く個所。右側には謎の窓が存在します。
因みにその右側がシミュレーションの設定に必要なのです。




取りあえずその右側の所を拡大してみましょうか。
そいでもっていかにもな感じの灰色の空間を右クリック
ランチャーが開かれるので「Add New External Device」を選択しましょう。

すると、↓の様に結構大きな画面が出現するはずです。



そいでもって設定!
まず、「External Device Type」でデバイスの種類を選択します。
取りあえず視覚的に分かりやすいLEDを選択します。
すると「Parameters」って所で「Colour」と「Shape」っていう選択肢がある筈です。取りあえず「Colour」を選択
すると「Value」って所で「Red」「Green」等のように色を選択することができるようになります。
まぁ、ここに関してはあまり重要な設定ではないです。
むしろ重要なのは次の設定。「Connections」の「Pins」で「Anode」を選択。つまりLEDのアノード側をどこに繋げるかっていう設定です。
先の設定でRBの6と7が出力にしたので「Connection」で「PORTB」を選択し「Bit」の「7」を選択。
これで、このLEDのアノード側がPORTBの7bit目。つまりRB7に接続されたことになります。




同様に、「Cathode」側の設定を行います。アノード側にPICの出力ピンが繋がってるのでGNDに落とせばOKですね
って事で「Low」を選択すればOKです。因みに抵抗のことは考えなくて良いです。




これでOKを押すと、先ほどの画面にLEDが表示されます。
先ほどの初期設定と同じようにもう一つLEDを作っておきましょう。










お次は入力、スイッチを作りましょう。
先ほどと同じ画面を開きます。
スイッチですから「PushButton」が妥当ですかね。「Parameters」はさして重要ではないので割愛。
面倒なのが「Connections」の設定。
「Pins」の「Contact」を「PORTD」の「0」に設定。んでもって「Parameter Value」を「Pull Down」に設定。

そして「Common」を「High」に設定。
この設定を行うことによって、スイッチを押す前は常に「High」、つまり電圧が掛かっており、
スイッチを押す「Contact」する事によって、抵抗を介してアースへ。つまり「PullDown」する。






押しボタンスイッチ完成〜〜













プログラム投下↓
「***_Main.c」と「***_User.c」っていうファイルが生成されているので、それを選択しましょう。
Main.cの方はPicの初期設定とかが自動記述されており、そちらのプログラムが通常動いています。
しかし、そのMain.c内部で***_User.cの「UserLoop()」に飛ぶように組まれているのでプログラムはこちらに書きます。
プログラムは見ての通り、解説は面倒なので割愛。
プログラムが完成したら、右上の赤丸で囲んだところをクリックしてコンパイルすればOKです。






コンパイル後は、次の画像のように「Run Simulation」をクリックすれば先ほど製作したLEDがスイッチのON-OFFにより変化します。






さて、シミュレーションすると分かると思うんですけど、シミュレーション速度が異常なほど遅いです。
↓の図のように、通常左端になってるUpdate Rateを右から1つめの位置まで持ってきましょう。
妥当な速度になります。






あ〜、他によく使う機能として「Wait(**)」ってのがあるんですけど、 これを使う際には「Application Designer」の「Timers」の「ms Zzz」をドラック&ドロップしてやる必要があります。
今までプログラムの頭でヘッダーの指定してた代わりですね。

取り合えず、ここまで出来るようになれば、後は練習しだいで何とかなるかと


[戻る]