
さすがダイバー正面で釣るのではなく横を向くらしい
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サイズ切り替えレジスタ |
| 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が点灯します。








