• 締切済み

PIC 初心者で行き詰まりました(汗、、、)

PIC初心者です。よろしくお願いします。 PIC16F84Aを使って 「ポートA 0bIt 」 に入力があったとき(1になったとき) ラベルの「OPEN」に飛びポートBのLEDが一秒点灯。 「ポートA 1bit 」に入力があったとき ラベルの「CLOSE」に飛びポートBのLEDが一秒点灯。 これだけのプログラムなのですが MPLAB IDE v8.63で Debug all すると ;の記述のところで表記のエラーが出ます。 プログラムはこちらです。 list P=pic16f84a include "p16f84a.inc" __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF CNT1     EQU   0CH CNT2    EQU   0DH CNT3     EQU  0EH       ORG    0      GOTO    MAIN           MAIN      BSF    STATUS,RP0      MOVWF    TRISA      CLRF    TRISB      BCF    STATUS,RP0      CLRF    PORTB      CLRW LOOP      BTFSC    PORTA,0      GOTO   OPEN      BTFSC   PORTA,1      GOTO    CLOSE     ;ここで「Symbol not previously defined (CLOSE)」 のエラー                        GOTO    LOOP OPEN      MOVLW    010H      MOVWF    PORTB      CALL   TIMER3    ;ここでSymbol not previously defined (TIMER3)エラー                             CLRF    PORTB      END CLOSE   MOVLW    020H      MOVWF    PORTB      CALL   TIMER3      CLRF   PORTB      END TIMER1     MOVLW    D'62'       MOVWF    CNT1 LOOP1     NOP       DECFSZ    CNT1,1       LOOP1       RETURN TIMER2     MOVLW    D'100'       MOVWF    CNT2 LOOP2     NOP       CALL    TIMER1       DECFSZ    CNT2,1       goto     LOOP2       RETURN TIMER3     MOVLW    D'100'       MOVWF    CNT3 LOOP3     NOP       CALL    TIMER2       DECFSZ    CNT3,1       goto     LOOP3       RETURN      END 何日も堂々巡りをしてまして埒があかないので質問させていただきました。 どこが間違えているのでしょうか???? よろしくお願いいたします。

みんなの回答

  • naw_ok
  • ベストアンサー率100% (1/1)
回答No.2

ENDは"プログラムの終了”ですが、プログラム実行の終了ではなくアッセンブラ(ここではMPLAB)に対してアッセンブラプログラムの記述が終了しましたので機械語への翻訳を開始して下さいと言う指示だと思います。 プログラム実行の終了は、RETURN (EXIT? HALT?)だったと思います。 あなたのプログラムでは、MAINはGOTO LOOPとなり、電源を切るまで終了しないのが正解です。 OPENやCLOSEの最後のENDは、TIMERnの様にRETURNとする。 最終行だけがENDで良いと思います。 途中にENDが見付かると、それ以降が無効となり、飛び先(OPEN、CLOSE、TIMER3等)が解決出来ないのでしょう。  間違ったらごめんなさい。

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.1

 ものすごく、冗談みたいですけど、ひとつ確認してください。  数字の「0」とアルファベット大文字の「O」      それから、  数字の「1」とアルファベット大文字の「I」  間違ってませんね。  必要なら、カット&ペーストで、メモ帳にコピーして確認してください。  このMPLABのエディタ・・・確か、この二つの確認は至難の技だった記憶が・・・・