Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Asm Derleme Sorunu

Başlatan hkkbrs, 04 Nisan 2013, 20:56:00

hkkbrs

Merhaba arkadaşlar. Ben dönem ödevi olarak PIC16F84A ile dijital / analog çevirici devresi yapmak istiyorum.
Ama asm kodlarını derleyemedim. Mplab hata veriyor. Kodlar aşağıdaki gibi. Size zahmet nerede hata yaptığımı söyleyebilir misiniz.

LIST P=16F84
INCULUDE "P16F84.INC"
ARTIR    EQU H'0C'
SAYAC1   EQU H'0D'
SAYAC2   EQU H'0E'

BASLA     ;------------------------------------------
      CLRF   PORTB      
      BSF    STATUS,5
      CLRF   TRISB
      MOVLW  H'FF'
      MOVWF  TRISA
      CLRF   ARTIR
      BCF    STATUS,5

TEST   ;-------------------------------------------
      BTFSC   PORTA,1
      GOTO    TEST
      CALL    GECİKME
      INCF    ARTIR,F
      MOVF    ARTIR,W

      CALL    CEV_TAB
      MOVWF   PORTB

      GOTO    TEST

GECIKME   ;--------------------------------------------
      MOVLW   H'8F'
      MOVWF   SAYAC1
DONGU1
      MOVLW   H'FF'
      MOVWF   SAYAC2
DONGU2
      DECFSZ   SAYAC2,F
      GOTO     DONGU2
      DECFSZ   SAYAC1,F
      GOTO     DONGU1
      RETURN

CEV_TAB   ;----------------------------------------------
      ADDWF PCL,F
      RETLW H'00' ; 0.00 V
      RETLW H'01' ; 0.33 V
      RETLW H'02' ; 0.67 V
      RETLW H'03' ; 1.00 V
      RETLW H'04' ; 1.33 V
      RETLW H'05' ; 1.67 V
      RETLW H'06' ; 2.00 V
      RETLW H'07' ; 2.33 V
      RETLW H'08' ; 2.67 V
      RETLW H'09' ; 3.00 V
      RETLW H'0A' ; 3.33 V
      RETLW H'0B' ; 3.67 V
      RETLW H'0C' ; 4.00 V
      RETLW H'0D' ; 4.33 V
      RETLW H'0E' ; 4.67 V
      RETLW H'0F' ; 5.00 V

      END

kudretuzuner

#1
Merhaba,
Bu şekilde derlendi.
LIST P=18F452
INCLUDE "P18F452.INC"
ARTIR    EQU H'0C'
SAYAC1   EQU H'0D'
SAYAC2   EQU H'0E'

BASLA     ;------------------------------------------
      CLRF   PORTB     
      BSF    STATUS,5
      CLRF   TRISB
      MOVLW  H'FF'
      MOVWF  TRISA
      CLRF   ARTIR
      BCF    STATUS,5

TEST   ;-------------------------------------------
      BTFSC   PORTA,1
      GOTO    TEST
      CALL    GECIKME
      INCF    ARTIR,F
      MOVF    ARTIR,W

      CALL    CEV_TAB
      MOVWF   PORTB

      GOTO    TEST

GECIKME   ;--------------------------------------------
      MOVLW   H'8F'
      MOVWF   SAYAC1
DONGU1
      MOVLW   H'FF'
      MOVWF   SAYAC2
DONGU2
      DECFSZ   SAYAC2,F
      GOTO     DONGU2
      DECFSZ   SAYAC1,F
      GOTO     DONGU1
      RETURN

CEV_TAB   ;----------------------------------------------
      ADDWF PCL,F
      RETLW H'00' ; 0.00 V
      RETLW H'01' ; 0.33 V
      RETLW H'02' ; 0.67 V
      RETLW H'03' ; 1.00 V
      RETLW H'04' ; 1.33 V
      RETLW H'05' ; 1.67 V
      RETLW H'06' ; 2.00 V
      RETLW H'07' ; 2.33 V
      RETLW H'08' ; 2.67 V
      RETLW H'09' ; 3.00 V
      RETLW H'0A' ; 3.33 V
      RETLW H'0B' ; 3.67 V
      RETLW H'0C' ; 4.00 V
      RETLW H'0D' ; 4.33 V
      RETLW H'0E' ; 4.67 V
      RETLW H'0F' ; 5.00 V

      END


https://www.dropbox.com/s/oza2c10qa34kcm5/Yeni%20Klas%C3%B6r.rar?m
not:nerelerin değiştirildiğini de siz bulun.
Amatör

ipek

INCULUDE P16F84.INC değil
böyle alıştır elini
#include <p16F84.inc>
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC

fuse satırında en baştaki bir boşluğa önem göster

ayrıca program ingilizce tabanlı olduğundan anadilimizde yazmaktan kaçınmalısınız ,
GECİKME değil ,gecikme gibi yada GECIKME..

Kudred abi hürmetler derlenmiş olabilir fakat bank'lar ve RAM bölgesi 18Fxx uyuşmayacaktır..



hkkbrs

Çok teşekkürler arkadaşlar. Sorunum çözüldü