人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

picマイコンのプログラムについて質問です。

LED EQU 0CH
CLRF LED

省略、、、
SUB

MOVF LED,W
ADDWF PCL,F
?RETW B'00000000'
?RETW B'00000001'
?RETW B'00000011'
?RETW B'00000111'
?RETW B'00001111'
?RETW B'00011111'
?RETW B'00111111'
?RETW B'01111111'
?RETW B'11111111'

となっていた場合、
一回目の命令では、
MOVF LED,W ;b'00000000'がWレジスタに挿入され、
ADDWF PCL,F でFレジスタにb'00000000'が代入され
ますと、いったいどこに行くのでしょうか?
?のアドレスに行くのでしょうか?
それとも、
仮にLEDレジスタがb0000001'だとしたら、?の場所に行くのでしょうか?

初心者です。
どうぞ、よろしくおねがいします。


●質問者: demati
●カテゴリ:ゲーム 家電・AV機器
✍キーワード:LED PICマイコン sub アドレス プログラム
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kuakua
●60ポイント

Fの内容が0だった場合は?の命令に行って、

Wレジスタに'00000000'を入れてサブルーチンの読み出し元のリターンします。

ADDWF PCL,Fの命令実行時の、Fに入っている数値の0,1,2,3,4,5,6,7,8 に対応して

?,?,?,?,?,?,?,?,?にジャンプしRETW命令で各々違う値を呼び出し元に戻す、

いわゆるテープル引きの動作を行います。

この例ではLEDのバーの長さを数字に対応させるような動作ですね。

電子工作の実験室

http://www.picfun.com/arch10.html

【サブルーチンの例】

には、数値0?9から7セグメントLEDのパターンに変換するルーチンが載っています。

◎質問者からの返答

とても有り難うございます。どうぞまたよろしく御願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ