M

16F877 için illegal opcode hatası ve found label after column1. ( device ) uyarı

Başlatan meakdogan, 20 Mayıs 2013, 20:19:11

meakdogan

merhaba
windows 7 64 bıt BİGİSAYARIMA  pro basıc (PBP) 2.60 , mikro code studio ve MPLAB IDE 8.15 pragramlarını yukledım.

codumu PBP DA derleyeceğim. MCS de ana ekranda , View menüsünde "Compile & Program Options" kısımındakı düzenlemeleri yaptım. ete3 ve ete4 teki ektedir.

16F877 için pbp dekı ınc dosyasındakı config önüne ; virgül koyup kayıt ettım . resim ete2 de mevcuttur. sonra config satırını ana ekranada yerleştirdirdim oda ete1 resmindekı ektedır. ama bunları yapmama rağmen ete hocamın forum sıtelerındekı önerılerını de yaptım ama hala
illegal opcode hatası  alıyorum.  başka bir pc dede kurdum windows 7 64 bıtlı pc gıne aynı hataları  verdi .

bunların dışında ne eksık yapmışım bu konuda bilgilendirirseniz sevınırım. şimdiden teşekurler

ete

Sigorta satırlarıı en sondaki hariç kapat. Öyle derle. Bu hata hala sigorta satırlarının pm.assembler formatında verildiğini gösteriyor. Bu konu ile ilgili yazıları yeniden oku. Özellikle mpasm de sigorta formatı ne olmalı onu yeniden keşfetmelisin. Hepsi yazılarda mevcut.
Ete

elektromanyaq

@ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _LVP_OFF & _CP_OFF
sadece bunu dene dıgerlerını sıl

meakdogan

teşekurler ete hocam ve elektro hocam sigortaları silip derleyınce sadece @ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _LVP_OFF & _CP_OFF  yazınca haloluyor ve hex dosyasını elde ettım. gözumden kaçmış ayrıntı bilgi için teşekurler :)


umiter

Alıntı yapılan: meakdogan - 21 Mayıs 2013, 00:32:01
teşekurler ete hocam ve elektro hocam sigortaları silip derleyınce sadece @ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _LVP_OFF & _CP_OFF  yazınca haloluyor ve hex dosyasını elde ettım. gözumden kaçmış ayrıntı bilgi için teşekurler :)

Merhaba,

HEX yaptıktan sonra simulasyonda yada kendi devresinde denediniz mi ? Bazen derlemiş olmasına rağmen kod çalışmıyor, sonra hata nerde diye döndürüp duruyor :)

Bilginiz olsun, kolay gelsin.

Saygılarımla.

Bilgi elde edilmesi zor,  tüketilmesi kolay bir bulamaçtır.

meakdogan

evet hocam  derledım proteus ta simule ettım çalışıyor. kendı devreme daha aktaramadım inş problem çıkmaz :)

bide sevgili hocalarım projem için mg995 servo motor kullanıyorum. motorun puls aralığını bulmaya çalışıyorum codumu yazdım simule ederken sıkıntı var.

servo motorun puls aralığını bulmak için ilk etepta 500 mıkrosonıye verdım ve her seferınde 50 mıkro sanıye artmasını istiyorum artırdıktan sonra led yanıp sönmesini istiyorum kı motor  çalışmaya başladıktan sonra kaç kere yanıp sönerse 50 ile çarpıp puls aralığını bulmayı hedeflıyorum .

ama simule ederken ıstediğimi alamıyorum led bır kez yanıyor motorda -90 derece yanıp duruyor. acaba nerde hata yapıorum yardımcı olabılırmısınız ? pıc basıc pro kodum aşağıda kı gibidir. 16F877A kullanıyorum .


PORTB=0:TRISB=%00000000         
'-----------------------------------------------------------------
@ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _LVP_OFF & _CP_OFF
'-----------------------------------------------------------------

A VAR BYTE
Y VAR BYTE
A= 500

PAUSEUS 200
'-----------------------------------------------------------------
BASLA:
For Y=0 To 39     
       
HIGH PORTB.1

Pauseus a

LOW PORTB.1

Pauseus 20000 - A 

PortB.0 = 1

Pauseus 500   

A = A + 50
Next
goto BASLA




umiter

meakdogan;

Picbasic te puls işine bakan pulsin ve count komutları vardır. Bu komutlar sanırım sizin işinizi görecektir.

Devrenize bir LCD ekleyerek bu komutlar yardımı ile lede gerek duymadan akışı izleyebilirsiniz.

Saygılarımla.

Bilgi elde edilmesi zor,  tüketilmesi kolay bir bulamaçtır.

ibocakir06

Hocalarım arkadaşlarım ben de 16F877A kullanıyorum. Yardımınıza ihtiyacım var. Ne program yazarsam yazıyım error105 ve error113 alıyorum. Ancak derlerken 16F877 seçersem öyle bir hata vermiyor. Yukarıda yazanları uyguladım fakat ben mcs'de 16F877A.ınc dosyasını açtığım zaman aşşağıda confg satırı zaten yok. İstesem de kaldıramıyorum. PBP2.60 yüklü bilgisayar win7 64 bit. Şimdiden teşekkürler

ete

O zaman aşağıdaki satırları al ve 16F877A.INC olarak kayıt et.
Doğrusu budur. İlgili config satırıda kapaı durumdadır.

        NOLIST
    ifdef PM_USED
        LIST
        include 'M16F87xA.INC'  ; PM header
        device  pic16F877A, xt_osc, wdt_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F877A, r = dec, w = -302
        INCLUDE "P16F877A.INC"  ; MPASM  Header
;       __config _XT_OSC & _WDT_ON & _LVP_OFF & _CP_OFF
        NOLIST
    endif
        LIST


Ete

Powered by EzPortal