ピグとかピコとかいろいろ -2ページ目


日本版でほしかったコートがガチャガチャで当たった
$ガチャビンのブログ

ほとんどおんなじ
$ガチャビンのブログ

自由の女神
$ガチャビンのブログ

TABスケート部員としてNYでミニマムすべりをやった
$ガチャビンのブログ



78K0/KE2 ACコンバータ(シュミレータ)

78K0シリーズのターゲットボードを使わないシュミレータを説明しますが、
詳しい説明は
NECエレクトロニクス様サイト をご参照ください

Applet2を起動し、プロジェクトを作成します
名前とフォルダ名は適当に。
とりあえずマイコンとかいろいろ

アセンブラを選択します。後は完了までそのまま進んでください。
とりあえずマイコンとかいろいろ

 マイクリコンピュータ名 78K0KE2 
 デバイス名  uPD78F9537_84
 メインシステムクリック  高速内蔵発振機クロック
 サブクロック  使用しない
 高速内蔵発振器クロック  8MHZ
 低速内蔵発振器クロック  240KHz
 CPUクロック  8MHz
 オンチップデバッグ  使用する
 ウォッチドッグタイマ  使用しない


とりあえずマイコンとかいろいろ
システム設定を上記のように設定します。

ADコンバータの設定です。
とりあえずマイコンとかいろいろ


出力ポートの設定です。ポート7を出力にします
とりあえずマイコンとかいろいろ



設定が終わりましたら「ファイル」→「コード生成」でスケルトンコードを生成します。

PM+でスケルトンプログラムソース一式を開き、
main関数を以下のように変更する

 start:
  DI ;disable interrupt
  MOVW SP,  #_@STBEG 
  ; MOV IMS, #MEMORY_IMS_SET
  MOV A, #MEMORY_IMS_SET
  MOV IMS, A
  ;  MOV IXS, #MEMORY_IXS_SET
  MOV A, #MEMORY_IXS_SET
  MOV IXS, A

CALL !SystemInit
EI ;enable interrupt

  MOV A, #MEMORY_IMS_SET ; 内部拡張RAMサイズ切り替えレジスタ
  MOV IMS, A           ; AレジスタをIMXレジスタへ
  MOV A, #MEMORY_IXS_SET ; メモリサイズ切り替えレジスタ
  MOV IXS, A            ; AレジスタをIXSレジスタへ

  MOV P7, #00H ; ポート7に0をセット
  CLR1 ADIF    ; ADIFビットクリア
  CALL !AD_Start ; !AD_Startサブルーチンコール




main_userサブルーチンに以下を使い記述する。
 cvwait:
  BF ADIF, $cvwait ; ADIF 0なら分岐 1なら通過
  CLR1 ADIF ; ADIFクリア
  MOV A, ADCRH ; ADCRH(8-bit)デジタル分解能データをAレジスタへ

  CMP A, #00H ; Aレジスタが0か比較
  BZ $LED_CLR ; 0の場合クリアへ分岐

  CMP A, #20H ; Aレジスタ0以上0x20以下か比較
  BC $LED_1 ; LED_1をコール

  CMP A, #40H
  BC $LED_2

  CMP A, #60H
  BC $LED_3

  CMP A, #80H
  BC $LED_4

  CMP A, #0A0H
  BC $LED_5

  CMP A, #0C0H
  BC $LED_6

  CMP A, #0E0H
  BC $LED_7
  BR $LED_8

LED_CLR:
  MOV P7, #00H ; P7全てクリア(LED全消灯)
  BR main_user
LED_1:
  MOV P7, #01H ; P7に1をセット(LED_1点灯)
  BR main_user
LED_2:
  MOV P7, #03H ; P7 011
  BR main_user
LED_3:
  MOV P7, #07H ; P7 111
  BR main_user
LED_4:
  MOV P7, #0FH ; P7 1111
  BR main_user
LED_5:
  MOV P7, #1FH ;
  BR main_user
LED_6:
  MOV P7, #3FH
  BR main_user
LED_7:
  MOV P7, #7FH
  BR main_user
LED_8:
  MOV P7, #0FFH
  BR main_user
  BR main_user

「ビルド」→「ビルド」でビルドする。

ビルドが正常終了したのを確認して、「SM+」ボタンをクリックします。
「Configurration」画面では「Cscilltaion Frequency」の「Main(MHz)」を
「6」にします。そうしますとこの画面が出てきます。
とりあえずマイコンとかいろいろ

「シュミレータ」→「入出力パネル」を選択しパネル画面を出します。

とりあえずマイコンとかいろいろ



「部品」→「LED」を8つ、「部品」→「ジョグダイヤル」を貼り付けます。

それぞれLEDとジョグダイヤルを右クリックしてプロパティで設定します。

LED:ラベル「LED0~LED7」、接続端子「P70~P77」
ジョグダイヤル:ラベル「ANI7」、接続端子「P27」

とりあえずマイコンとかいろいろ

実行ボタンをクリックして実行します。
手動設定ボタンでジョグを操作できるようにします。

とりあえずマイコンとかいろいろ


ジョグをまわすと電圧が上昇します
それに伴いLEDが点灯します。


とりあえずマイコンとかいろいろ

シュミレータのジョグなので0~5Vまでです。
分解能8ビットなので625mVごとにLEDが上昇するように点灯します。

滑り方です。


1.まず下図のスタート位置に立ちます

2.移動先をクリック(これで走ります)

3.アクションをするです(これで滑ります)


とりあえずマイコンとかいろいろ

(3.のアクションボタンは左下にあります 踊りやチャンバラは買う必要があります


また、コマンドアクションは入力する必要があります単語登録

しておくと便利です)

コマンド:

/suwaru 座るアクションです

/pita 止まるアクションです(Tabキー)

/nem 寝るアクションです


とりあえずマイコンとかいろいろ

ちょっと見にくいですがこんな感じです


とりあえずマイコンとかいろいろ



三角ベンチの下図の赤ラインで練習するといいです

とりあえずマイコンとかいろいろ



3.の色々なアクションです


走っている間に踊って滑ってます

とりあえずマイコンとかいろいろ-未設定


走ってる間に挨拶して滑ってます



とりあえずマイコンとかいろいろ-未設定



走ってる間に座って滑ってます



これはアクションボタンではなく「/suwaru」と入力する必要があります


単語登録するかコピー&ペーストなどしておくと便利です。



とりあえずマイコンとかいろいろ-未設定



走ってる間にジャンプ(チャンバラアクション)しながら滑ってます(飛んでます)


これは「/pita」コマンドを入力してジャンプした瞬間Enterキーです


あらかじめ「/pita」コマンドを入力しておくと便利です


(タイミングが難しいです)


(/pitaコマンド == Tabキー)

とりあえずマイコンとかいろいろ-未設定



ミニマム滑り


まず走ってから「/min」を入力、走りながらミニマムになるので


ミニマムになった瞬間「/pita」コマンド(Tabキー)実行


とりあえずマイコンとかいろいろ-未設定



Tabキー(停止アクション)は押しながら移動する事が出来ます


上記の三角ベンチのスタート位置と移動クリック先で滑ると人をよけてくれます


逆に下から上にやると人にぶつかった時点で滑りから普通の走り(歩き)に戻ってしまいます