Mplabx simulasyon hatası

Başlatan pea, 08 Kasım 2011, 00:46:42

pea

Mplabx'e yeni başladım , Mplabx ile Assembly öğrenmeye çalışıyorum.
Ancak programı kullanmayı tam beceremedim , hatalar alıyorum.
Şöyle ufak bir kodum var deneme amaçlı yazılmış :
list P=16F877A
include "P16F877A.INC"
__CONFIG H'13A6'            ;ICD etkin , reset'ler etkin , HS osilatör

org 0x000
;Register ayarlari
bsf STATUS,RP0                        ;Portlari , ADCON1 ve Option_Reg'i içerdigi için Bank1'e geç
movlw b'00000011'                    ;a0 ve a1 giris , gerisi çikis
movwf TRISA
movlw 0x00          ;B portu çikis
movwf TRISB
movlw b'00001000'    ;Option_Reg ile Pull-up etkin , 1:1 bölme orani
movwf OPTION_REG
movlw h'06'           ;Tüm girisler Dijital
movwf ADCON1
bcf STATUS,RP0                        ;Bank1'den çik
clrf PORTA          ;çikislar 0
clrf PORTB
;Register ayarlari

org 0x050
BASLA
    btfsc PORTA,0
    goto BASLA
    bsf PORTA,2
    goto BASLA
END


"Clean and Build"e tıklayınca Build Successful diyor ama bu benim bir işime yaramıyor sanırım , çünkü bir dosya üretmiyor gibi.
"Make and Program Device"a tıklayınca (Simulator seçili) , simulator sekmesi altında
Alıntı YapWARN001:  Failed to init toolTMR1 : Failed initialization
hatası alıyorum ve yine bir şey elde edemiyorum.
"Read Device Memory to File" seçeneği , yanlış olduğunu bilsem de , hex dosyası üretiyor , Proteus'a atınca da Retlw ile bağlantılı taşma ile WDT'ın devreye girdiğini gösteriyor.
Hatam nerede acaba?
Compiler olarak mpasm 5.42 seçili , Hardware tool ise Simulator.Device da 16f877a

ipek

x den anlamam senin dosya hex üretiyor hata yok watchdog da takılıyor config  satırını dururunca düzeliyor


  list P=16F877A
  include "P16F877A.INC"
;     __CONFIG H'13A6'            ;ICD etkin , reset'ler etkin , HS osilatör
    errorlevel,-302    ;error mesajlarını gösterme
   org 0x000
;Register ayarlari
   bsf STATUS,RP0                        ;Portlari , ADCON1 ve Option_Reg'i içerdigi için Bank1'e geç
   movlw b'00000011'                    ;a0 ve a1 giris , gerisi çikis
   movwf TRISA
   movlw 0x00          ;B portu çikis
   movwf TRISB
   movlw b'00001000'    ;Option_Reg ile Pull-up etkin , 1:1 bölme orani
   movwf OPTION_REG
   movlw h'06'           ;Tüm girisler Dijital
   movwf ADCON1
   bcf STATUS,RP0                        ;Bank1'den çik
   clrf PORTA          ;çikislar 0
   clrf PORTB
;Register ayarlari

   org 0x050

BASLA:
    btfsc PORTA,0
    goto BASLA
    bsf PORTA,2
    goto BASLA
   END

pea

#2
Mplabx'in .hex dosyasını nereye kaydettiğini görmemişim , ayarları karıştırınca gördüm.
WDT'ı devreden çıkarmak çözüm değil ama , sonuçta WDT'ın devreye girmesini gerektiren bir sorun var ortada.

Döngüde sorun varmış , biraz kurcalayınca WDT devreye girmez oldu.
Ancak bu sefer de PORTA'nın değeri değişmiyor nedense.

Devamını Assembly bölümüne sormalıyım sanırım , teşekkürler :)

Ekleme :
btfsc komutunu yanlış kullanmışım , bu yüzden sorun çıkıyormuş.