[戻る]
一括表示

12F1571 投稿者:煩悩 投稿日:2017/03/07(Tue) 11:44:55 No.834

初心者です。教えてください。

MAIN
BCF INTCON,GIE
BANKSEL PORTA
CLRF PORTA
BANKSEL LATA
CLRF LATA
BANKSEL ANSELA
CLRF ANSELA
BANKSEL TRISA
MOVLW B'00000011'
MOVWF TRISA

MAIN_LOOP
BTFSC PORTA,0 ;SWの確認
GOTO MAIN_LOOP
NEXT

PIC12F1571のピックを使用しています。
RA0,RA1は入力。RA2は出力。
RA4,RA5は外部クロックに使用しています。
MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
無視されてMAIN_LOOPから抜けだせません。
どこが間違っているのでしょうか?よろしくお願いします。

Re: 12F1571 投稿者: 投稿日:2017/03/07(Tue) 13:35:11 No.835

初心者は今時、機械語は使わないでしょう・・・

> 初心者です。教えてください。
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
>
> PIC12F1571のピックを使用しています。
> RA0,RA1は入力。RA2は出力。
> RA4,RA5は外部クロックに使用しています。
> MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> 無視されてMAIN_LOOPから抜けだせません。
> どこが間違っているのでしょうか?よろしくお願いします。

Re^2: 12F1571 投稿者: 投稿日:2017/03/18(Sat) 12:25:05 No.841

> 初心者は今時、機械語は使わないでしょう・・・

何のための投稿じゃ
荒しと変わらんぞ !

Re: 12F1571 投稿者:n 投稿日:2017/03/09(Thu) 01:12:17 No.836

煩悩さん

はじめましてnです。

以下のコードが、PORTAではなくTRISAをテストしています。

BTFSC PORTA,0 ;SWの確認
(BTFSC TRTSA,0と同じコード)

TRISAを設定した後、MAIN_LOOPに入る前に、
BANKSEL PORTAが必要です。

#include <p12f1571.inc>

MAIN
BCF INTCON,GIE
BANKSEL PORTA
CLRF PORTA
BANKSEL LATA
CLRF LATA
BANKSEL ANSELA
CLRF ANSELA
BANKSEL TRISA
MOVLW B'00000011'
MOVWF TRISA
BANKSEL PORTA

MAIN_LOOP
BTFSC PORTA,0 ;SWの確認
GOTO MAIN_LOOP
NEXT
GOTO NEXT
END

> 初心者です。教えてください。
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
>
> PIC12F1571のピックを使用しています。
> RA0,RA1は入力。RA2は出力。
> RA4,RA5は外部クロックに使用しています。
> MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> 無視されてMAIN_LOOPから抜けだせません。
> どこが間違っているのでしょうか?よろしくお願いします。

Re^2: 12F1571 投稿者:煩悩 投稿日:2017/03/09(Thu) 20:03:42 No.837

はじめましてnさん。

nさんの言うとおりにしたら解決できました。
ありがとうございます。
助かりました。

> 煩悩さん
>
> はじめましてnです。
>
> 以下のコードが、PORTAではなくTRISAをテストしています。
>
> BTFSC PORTA,0 ;SWの確認
> (BTFSC TRTSA,0と同じコード)
>
> TRISAを設定した後、MAIN_LOOPに入る前に、
> BANKSEL PORTAが必要です。
>
> #include <p12f1571.inc>
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
> BANKSEL PORTA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
> GOTO NEXT
> END
>
> > 初心者です。教えてください。
> >
> > MAIN
> > BCF INTCON,GIE
> > BANKSEL PORTA
> > CLRF PORTA
> > BANKSEL LATA
> > CLRF LATA
> > BANKSEL ANSELA
> > CLRF ANSELA
> > BANKSEL TRISA
> > MOVLW B'00000011'
> > MOVWF TRISA
> >
> > MAIN_LOOP
> > BTFSC PORTA,0 ;SWの確認
> > GOTO MAIN_LOOP
> > NEXT
> >
> > PIC12F1571のピックを使用しています。
> > RA0,RA1は入力。RA2は出力。
> > RA4,RA5は外部クロックに使用しています。
> > MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> > 無視されてMAIN_LOOPから抜けだせません。
> > どこが間違っているのでしょうか?よろしくお願いします。

- WebForum -