16F1827 CONFİG AYARLARI

Başlatan Analog, 11 Ağustos 2016, 11:48:51

Analog

Merhaba arkadaşlar.
16F628A nın belleği yeterli olmadığı için, 16F1827 kullanmaya karar verdim. Pic Basic Pro da Config ayarlarını yaptığımda MCS hata mesajı veriyor. Hata mesajını ve yaptığım config ayarlarını ekteki dosyada verdim. Nerede hata yapıyorum?
Bu arada aklıma takılan diğer soruları da sormak istiyorum.
1-Çift hızlı start işleminin "IESO_OFF" bize ne gibi faydası var?
2-MCS de yazdığımız programı kaydederken "*.pbp "ve "*.bas" uzantılı kaydetmenin derleme yaparken  derlemeye bir etkisi varmı?
Yardımlarınız bekliyorum arkadaşlar.
Saygılarımla.

Burak

Bu işlemcininde hafızası yetmediği görülüyor hata mesajlarından .

Burak
Ω Gens Una Sumus Ω

Analog

#2
Sayın Burak Hocam, daha hiç bir program yazmadım sadece config ve register ayarları var.
config ayarlarını silince hata mesajı vermiyor.
Ete Hocamın saatine 12/24 ayar modu koymak istemiştim, o yüzden belleğe ihtiyacım oldu.
Şu anki kodların tamamını veriyorum.
Saygılarımla.

ASM
__config _CONFIG1, _FOSC_INTOSC & _WDTE_ON & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF

__config _CONFIG2, _WRT_OFF & _PLLEN_ON & _STVREN_ON & _BORV_19 & _LVP_OFF

ENDASM


DEFINE OSC 16

OSCCON      =%11111000      '16MHz internal osilatör frekansı seçildi
OSCSTAT     =%11111101      'Timer1 Osilatör kullanıma hazır,4xPLL hazır
OSCTUNE     =0              'Osilatör modülü fabrika ayarlarında çalışacak
OPTION_REG  =%00000101      'Pull-up enabled,Yükselen kenat kesmesi kapalı,Tmr0 clock kaynağı içsel Fosc/4,Prescaler(Bölücüler) açık Tmr0 için,Bölme oranı 1/64
'WPUA.5      =1              'MCLR için bit5 Pull-up enabled.Eğer MCLR ON yapılmışsa herzaman enabled.
WPUB        =%11100000      'PortB.7-6-5 nolu pinlerin Pull-upları aktif edildi.
INTCON      =%10100000      'Tüm kesmelere izin verildi.Tüm Çevresel Kesmeler Kapalı.Timer0 taşma kesmesi aktif edildi.
   
ADCON0.0    =0              'ADC ölçümleri iptal edildi.
ANSELA      =0              'PortA nın <4:0> arası analog-dijital olabilen pinlerini dijital yaptık.Pinler Dijital I/0 oldu.
ANSELB      =0              'PortB nin <7:1> arası analog-dijital olabilen pinlerini dijital yaptık.Pinler Dijital I/0 oldu.

CM1CON0.7   =0              'Comparatör disable-kapalı.
CM2CON0.7   =0
'CMxCON0.5   =0
FVRCON      =0              'Referans sabit voltaj çıkışları (COMPARATOR,DAC ve ADC) kapalı-disable.
DACCON0.7   =0              'DAC referans voltaj çıkışı kapalı.
CPSCON0.7   =0              'Capasitive sensing modulu disable yapıldı.
MDCON.7     =0              'Modülasyon modülü iptal edildi.DSM (Dijital Sinyal Modülü) iptal. Modüleli yani karışık sinyal çıkış kapalı.
MDSRC.7     =1              'Çevresel sinyallerin sürücü çıkış pinleri iptal.Modüleli sinyal çıkışı pinleri kapalı.
CLKRCON.7   =0              'Referasn clock modülü kapalı.

PIE1        =0              'TÜM ÇEVRESEL KESMELER KAPALI.
PIE2        =0              'Tüm Çeveresel Kesmeler Kapalı.
PIE3        =0
PIE4        =0              'Tüm çevresel kesmeler kapalı.

CCP1CON      =0
CCP2CON      =0

TMR0        =0              'TMR sayacımız sıfırdan başlayarak sayacak.

Burak

#config
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_ON & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
#ENDCONFIG


Bunlar benim assembler versiyonum için istediğin işlemcinin CONGIG ayarları .. Sen gerekirse denemek baabında #config - #endconfig satırlarını asm - endasm olarak değiştirip deneyebilirsin ...

Neden böyle bir hata verdiğini biraz daha düşüneyim , aklıma birşey gelirse tekrar yazarım ..

Burak
Ω Gens Una Sumus Ω

İlyas KAYA

Sorunu ASM çıktısında veriyor. ASM / ENDASM  komutları arasında derleme hatası veriyor.
Burak beyin konfigrasyon ayarlarını da ASM ENDASM arasına alırsanız yine hata veriyor.
Adresleme de sorun görünüyor. Sanırım derleyicinin bir sıkıntısı bu.

Ancak ;

#config
#ENDCONFIG

de iki yapılandırma da sorunsuz derleniyor.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

ete

Bu işte hangi derleyicinin (PBP2.60 veya PBP3.0) kullanıldığı önemli.
Burak 3.0 için config ayarları vermiş.
Ben 2,60 için aşağıakileri kullanıyorum.
ASM
  __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON
  __config _CONFIG2, _WRT_ALL & _PLLEN_ON & _STVREN_ON & _LVP_OFF & _BORV_19 & _LVP_OFF
ENDASM

Ete

Analog

Sayın Ete Hocam;
Bende PBP 2,60 kullanıyorum. Sizin verdiğiniz config ayarlarını da denedim. Başka bir bilgisayarda da denedim aynı hataları veriyor. Bu mikro-kontrolcüyü çözmek için, data sheet anlayabilmek içinde baya zaman ve çaba sarf ettim hocam. Yardımcı olurmusunuz bu sorunu çözmemde. Sizin verdiğiniz config ayarlarında verdiği hataları ilişikte veriyorum hocam.
Saygılarımla.

ete

Bunlar hata değil ikaz. Program hafızası birkaç bloktan oluşuyor. Şu anda toplam kaç blok vardı unuttum ancak yazdığın program 4 adet bloğu aşmış durumda bunu ikaz ediyor.  Neden dersen program içinde asm de yazılmış ek program var ise veya Koşullu Branch komutu kullanmışsanız program bloklarına dikkat etmek gerekir. Etmezseniz ğrogram gideceği adresi bulamaz. Geri kısmını Basic halleder.
Blok meselesini birden fazla hafıza entegresi gibi düşünebilirsin. Sistem programın hangi blokta olduğunu takip edip sorunsuz çalışmasını sağlar.
Hatırladığım her 2048 byte lık hafızanın bir blok teşkil ettiği idi toplam hafızayı bu sayıya bölersen daha ne kadar hafızan olduğunu bulabilirsin.
Mcs seçeneklerinde bu aldığın ikazı gösterme diye ayrıca seçenek var.
View menüsünde editor options seçip oradan Genral seçip açılan pencerede en altta,
Disable 'code crosses boundary' seçeneğini seçili hale getir.
Ete

Analog

Hocam söylediğinizi yaptığım halde yine ikaz veriyor. Söylediğinizden anladığım bu ikazlar olsada programda sorun yoksa config ayarları çalışır.

ete

Sorun olsa altta succesfull diye yazmaz ve hata verir. Sende program derlenmiş gözüküyor.
Ete

Analog

Çok Teşekkür ederim Hocam.

ete

Şu programı merak ettim. Hata ekranında altta 44 byte diyor ama diğer yandan 2 hafıza bloğu geçildi diyor. Bir terslik olduğu kesin. Programı koyarsan yada mail ile yollarsan bende derleyip bakmak isterim.
Ete

Analog

Hocam config ve register ayarlarından ileri gidemedim daha. Size mail attım size ulaşıp ulaşmadığını bilmiyorum.

Analog

Ustalarım sorunu çözdüm. Artık uyarı almıyorum. Proteus'da bulunana MPASM klasörünü tanıttım sorun çözüldü. Önceden MPLAB 8.92'ı kullanıyordum. Size ilettiğim uyarıları aldım. MPLAB 8.15a'yı denedim onda farklı iletiler aldım. Ayrıca MPLAB 8.15a kurulduktan sonra pbp a yaması kurulmuyor.

blueboard

Sakıncası yoksa programın son halini yükler misiniz.Teşekkürler.

Powered by EzPortal