プロが教えるわが家の防犯対策術!

↓のコードで
8つのLEDを右から左に一つずつ順番に点灯したあと左から右に順番に点灯させるプログラムをつくりたい
そして下のコードに
~~~~ここに1行~~~~と書いているところがあります。
そこになにか一行書くとできるらしいのです。
でもどうやってもできません。
loop1:btfsc PORT_A,1
goto loop1
多分、↑に書いたコードの箇所がずっと無限に回ってるからだとおもいます。
この↓のコードで~~~~ここに1行~~~~の場所に本当になにか一つつけくわえるだけでできるのであれば教えてほしいです。

また、この問題が間違ってるというのであればどこが間違っているかを教えてほしいです。
少しだけならコードをかきかえても大丈夫だそうです。
わかるかたもしいましたら、おねがいします。




INDFEQU0x00
TMR0EQU0x01
PCLEQU0x02
STATUSEQU0x03
FSREQU0x04
TRIS_AEQU0x05
TRIS_BEQU0x06
TRIS_CEQU0x07
PORT_AEQU0x08
PORT_BEQU0x09
PORT_CEQU0x0A
org0x00

;ここから↓
MOVLW0x3F
MOVWFTRIS_A
CLRW
MOVWFTRIS_B
MOVWFTRIS_C
MOVWFPORT_B
MOVWFPORT_C

loop1:btfsc PORT_A,1
goto loop1
~~~~ここに1行~~~~
loop2:btfssPORT_A,0
goto  loop2
gotoloop1
-----------------------------------------

A 回答 (1件)

>8つのLEDを右から左に一つずつ順番に点灯したあと左から右に順番に点灯させるプログラムをつくりたい



消灯させないで点灯させるのは無理なのでは?

loop1: btfsc PORT_A,1
goto loop1

PORT_Aの1ビット目がON(1)のままなら無限ループになるし、OFF(0)に
なれば、ループから抜けます。

loop2: btfss PORT_A,0
goto  loop2

PORT_Aの0ビット目がOFF(0)のままなら無限ループになるし、ON(1)に
なれば、ループから抜けます。

あとは自分で考えてみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!