
初めに、カテゴリー間違ってたら、ごめんなさい。
大学の授業でライントレースロボットのアセンブラプログラムをやっています。
「以下のプログラムをセンサ入力を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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
画像を読み込むのと取り込むの...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
ドロップダウンリストの文字を...
-
未使用の変数を一括検索する方法
-
Vba UserFormを前面に出す方法...
-
exeファイルしかないプログラム...
-
自作のプログラムがウイルスと...
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
VB.NETで、プログラム上から新...
-
モジュール、アプリケーション...
-
PICアセンブラを出来る方、教え...
-
OS入ってる機器のソフト・アプ...
-
eepromについて
-
どうしてプログラマは沢山いる...
-
悪い、ダメなプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
Excelで4096点以上のFFTの方法
-
ドロップダウンリストの文字を...
-
PICマイコンのコピー(クローン...
-
Vba UserFormを前面に出す方法...
-
XnViewにwebpを「いつも開く」...
-
読み込み中にアクセス違反が発...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
画像を読み込むのと取り込むの...
-
「Outlookが他のプログラムによ...
-
WORD印刷できるがEXCE...
-
Excelに埋め込んだVBAのプログ...
-
UWSCで指定のフォルダを開きたい。
-
テキストボックスのエンターキ...
-
自動クエリとはどういうもので...
-
javaで特定の文字のカウントを...
-
AutoCADを用いて板金展開図を自...
-
powered byの表記について
おすすめ情報