Merhaba arkadaşlar. Ben dönem ödevi olarak PIC16F84A ile dijital / analog çevirici devresi yapmak istiyorum.
(http://"C:%5CUsers%5Cpc%5CDesktop%5Cdac%20p%C4%B1c.BMP") 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
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 (https://www.dropbox.com/s/oza2c10qa34kcm5/Yeni%20Klas%C3%B6r.rar?m)
not:nerelerin değiştirildiğini de siz bulun.
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..
Çok teşekkürler arkadaşlar. Sorunum çözüldü