-1

PORTA( RA0, )から最初の 2 ビットを読み取って、それらを操作するにはどうすればよいRA1ですか? 私はそれらのそれぞれにスイッチを接続しており、両方がのとき1に onを出力したいと考えています。RB1RA0RA11

PORTA入力およびPORTB出力として構成しました

MOVLW 0xF 
MOVWF TRISA,0 ;PORTA IN

そして、ループでPORTA値を連続して読み取り、最下位 2 ビットが にあるかどうかを確認したいと考えてい1ます。そのために、WREGに移動した後の値PORTAと比較します。0x03PORTA

MOVF PORTA, 0, 0 ;W<--PORTA
CPFSLT 0x20, 0
MOVWF PORTB,0 ;PORTB<--W

アドレス0x02には、以前に値を保存しました0x03

しかし、うまくいきません。理由はわかりません。

どうもありがとう

4

1 に答える 1

0

PORTA ビット 0..3 は入力として構成されていますが、PORTB ピンを出力として構成することは示されていません。I/O ピンは電源投入時に入力であるため、明示的に出力にする必要があります。継続的にループしていると言いますが、W を PORTB に移動してループバックして PORTA を読み取った後、分岐命令は表示されません。CPFSLT は 0x20 にあるものと比較すると、0x02 に 3 が格納されています。

于 2014-10-16T17:18:26.953 に答える