初めに、カテゴリー間違ってたら、ごめんなさい。
大学の授業でライントレースロボットのアセンブラプログラムをやっています。
「以下のプログラムをセンサ入力をPORTA、モータドライブをPORTBとしプログラムを完成させよ(本講義で用いる装置はそのような回路になっていないので実行できない)。」
という問題なんですが分かる方居ますでしょうか?
;改造するプログラム
ーーーーLIST P=PIC16F628A
ーーーーinclude "P16F628A.inc"
ーーーー__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _CP_OFF
STATUS EQU3
RP0EQU5
PORTA EQUH'05'
PORTBEQUH'06'
TRISA EQUH'85'
TRISBEQUH'86'
LREQUD'7'
LLEQUD'0'
FRONTEQUB'00011000'
RIGHTEQUB'00001000'
LEFTEQUB'00010000'
ーーBSFSTATUS,RP0
ーーCLRFTRISA
ーーMOVLWB'11000011'
ーーMOVWFTRISB
ーーBCFSTATUS,RP0
ーーCLRFPORTA
ーーCLRFPORTB
LINEBTFSCPORTB,LL
ーーGOTOMIGI
ーーBTFSCPORTB,LR
ーーGOTOHIDARI
ーーGOTOMAE
MAEMOVLWFRONT
ーーIORWFPORTB,1
ーーMOVLWB'11011011'
ーーANDWFPORTB,1
ーーGOTOLINE
MIGIMOVLWRIGHT
ーーIORWFPORTB,1
ーーMOVLWB'11001011'
ーーANDWFPORTB,1
ーーGOTOLINE
HIDARIMOVLWLEFT
ーーIORWFPORTB,1
ーーMOVLWB'11010011'
ーーANDWFPORTB,1
ーーGOTOLINE
ーーEND
私が今、予想しているのは
MOVLWB'11111111'
MOVWFTRISA
CLRFTRISB
とするのではないかな、くらいです。(合ってるか分かりませんが)
この問題を解ける方、いましたらお願いします。
(注)プログラムがスペースが分かりにくくなっていますが、本当のプログラムはちゃんとスペースが空いて、列も揃っています。行の先頭に付いているーは強制的に左寄せになるのを、すこしでも見やすくするための物で、意味はありません。
No.3ベストアンサー
- 回答日時:
M_STOP EQU B'11000011'
ORG 0
GOTO MAIN
ORG 4
RETFIE
MAIN
BANKSEL PORTB
MOVLW M_STOP
ANDWF PORTB,F
BANKSEL TRISA
MOVLW B'11111111'
MOVWF TRISA
MOVLW B'11000011'
MOVWF TRISB
BANKSEL PORTA
LINE
BTFSC PORTA,LL
GOTO MIGI
BTFSC PORTA,LR
GOTO HIDARI
MAE
MOVF PORTB,W
ANDLW M_STOP
IORLW FRONT
MOVWF PORTB
GOTO LINE
MIGI
MOVF PORTB,W
ANDLW M_STOP
IORLW RIGHT
MOVWF PORTB
GOTO LINE
HIDARI
MOVF PORTB,W
ANDLW M_SIOP
IORLW LEFT
MOVWF PORTB
GOTO LINE
END
動くかわかりませんが、参考にして下さい。
No.1
- 回答日時:
センサー構成ビット モーター制御ビット がわかりません
ORG文が無く RP1の初期設定は?
STATUS - TRISB までは、P16F628A.inc ファイルで設定されています
IORW PORTB,1 の意味が不明です ビット0に何の意味がありますか?
この回答への補足
回答ありがとうございます。少し補足させていただきます。 0(左),7(右)ビット目がラインセンサで、1(左),6(右)ビット目がフォトセンサです。残りの2(左),3(左),4(右),5(右)ビットがモーターの制御となっています。
;改造するプログラム
ーーーLIST P=PIC16F628A
ーーーinclude "P16F628A.inc"
ーーー__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _CP_OFF
; 各ステータスの宣言
STATUS ーEQUー3; ステータスレジスタのアドレス
RP0 ー EQUー5; ページ(Bank)設定のアドレス
PORTA ーEQUーH'05'; ポートAのアドレス(05H)
PORTBーEQUーH'06'; ポートBのアドレス(06H)
TRISA ー EQUーH'85' ; ポートAの入出力設定のアドレス(85H)
TRISBーEQUーH'86'; ポートBの入出力設定のアドレス(86H)
LRーEQUーD'7'; LRの値
LLーEQUーD'0'; LLの値
FRONTーEQUーB'00011000'; FORNTの値
RIGHTーEQUーB'00001000'; RIGHTの値
LEFTーEQUーB'00010000'; LEFTの値
; ポートの設定
ーーBSFーSTATUS,RP0; STATUSレジスタのPR0ビットを1にして、
; ページ1(Bank1)を選択
ーーCLRFーTRISA; ポートAの設定を全て00H(出力)にする
ーーMOVLWーB'11000011'; ワーキングレジスタの値を書き込む
; 入力:0,1,6,7ビット目、出力:2,3,4,5ビット目
ーーMOVWFーTRISB; TRISBレジスタに値を書き込む
ーーBCFーSTATUS,RP0; STATUSレジスタのRP0ビットを0にして
; ページ0(Bank0)を選択
ーーCLRFーPORTA; PORTAのデータを全てクリア(00H)する
ーーCLRFーPORTB; PORTBのデータを全てクリア(00H)する
LINEーBTFSCーPORTB,LL
ーーGOTOーMIGI
ーーBTFSCーPORTB,LR
ーーGOTOーHIDARI
ーーGOTOーMAE
MAEーMOVLWーFRONT
ーーIORWFーPORTB,1
ーーMOVLWーB'11011011'
ーーANDWFーPORTB,1
ーーGOTOーLINE
MIGIーMOVLWーRIGHT
ーーIORWFPORTB,1
ーーMOVLWB'11001011'
ーーANDWFPORTB,1
ーーGOTOLINE
HIDARIーMOVLWーLEFT
ーーIORWFーPORTB,1
ーーMOVLWーB'11010011'
ーーANDWFーPORTB,1
ーーGOTOーLINE
ーーEND
見やすくなったか分かりませんが、ー増やしました。コメントも少し入れて分かりやすくしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校受験 数学 2 2 2 2 ーー + ーー + ーー+ーー 3×5 5×7 7×9 9×11 ーーは1本の 2 2022/04/08 20:40
- 洋楽 たーたーたーー、たたたーーたたーーたたー。 みたいな音楽から始まってクラブ(マルタのしか分からないの 3 2022/05/23 06:02
- クラシック クラシックの曲の名前を教えてください 3 2022/07/01 21:19
- セックスレス 台湾の女性とsexをしたのですが 最初から最後まで あーー はぁーー あああー という 言葉?みたい 2 2022/06/20 11:05
- Java Java、配列の問題を教えて欲しいです。 ・日、月、火、水、木、金、土 ・各曜日の英語 を2次元配列 2 2023/07/10 19:14
- オーケストラ・合唱 曲名がわかりません。 鼻歌検索しても出てこないし、街で聞いたのか映画で聞いたのかもなにもわからないで 1 2022/05/29 23:28
- 子供 息子が、教師から専業投資になったんですが、キャリアになる仕事に就かず、人が来ない夜勤のコンビニバイト 1 2023/05/12 21:06
- 掃除機・クリーナー・空気清浄機 ダイソンで大損 6 2022/05/07 10:56
- 友達・仲間 最近、友達やママ友って必要ないよなーーと感じています 前もって会う約束しても前日に高確率でキャンセル 4 2022/06/23 19:18
- 飲食店・レストラン マッチングアプリって会えないねーー やる意味あんのか? 退会するか?あぁ? そのかわり飲食店とかコン 1 2022/07/23 10:15
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
【選手権お題その3】この画像で一言【大喜利】
とあるワンシーンを切り取った画像。この画像で一言、お願いします!
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
バス衝突で素子が破損する理由について質問です。
その他(コンピューター・テクノロジー)
-
PIC(16F628A)が壊れる理由
その他(パソコン・スマホ・電化製品)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
四次方程式をC言語を用い解きた...
-
Excelで4096点以上のFFTの方法
-
ドロップダウンリストの文字を...
-
XnViewにwebpを「いつも開く」...
-
WinAPIのLogonUserの仕組み。
-
binファイルってiphone専用です...
-
PICマイコンのコピー(クローン...
-
discordbotについて
-
「Outlookが他のプログラムによ...
-
めんどくさがり屋はプログラマ...
-
Excelに埋め込んだVBAのプログ...
-
表計算プログラムの作り方
-
ゲーミングPCに入っているAlris...
-
WORD印刷できるがEXCE...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
クロック周波数
-
2次関数の最小値をC言語と遺...
-
Vba UserFormを前面に出す方法...
-
ポケコンSHARP PC-G801 の使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
Vba UserFormを前面に出す方法...
-
「Outlookが他のプログラムによ...
-
XnViewにwebpを「いつも開く」...
-
excelのexe化について
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
exeファイルしかないプログラム...
-
ドロップダウンリストの文字を...
-
モジュール、アプリケーション...
-
UWSCで指定のフォルダを開きたい。
-
javaで特定の文字のカウントを...
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
WORD印刷できるがEXCE...
-
画像を読み込むのと取り込むの...
おすすめ情報