avatar_BİDİL

18F4550 Config Ayarları

Başlatan BİDİL, 14 Şubat 2013, 11:47:27

BİDİL

Arkadaşlar merhaba;
16f877a ile yazdığım programın sigorta ayarları şu şekilde sorunsuz çalışıyor.

'************************SİGORTA AYARLARI***********************************
@ DEVICE PIC16f877A
@ DEVICE PIC16f877A, WDT_OFF
@ DEVICE PIC16f877A, BOD_ON
@ DEVICE PIC16f877A, PWRT_ON
@ DEVICE PIC16f877A, PROTECT_OFF
@ DEVICE PIC16f877A, HS_OSC
'*******************************OSC AYARLARI************************************
DEFINE OSC 4
ADCON1=7
OPTION_REG.7=0


Ancak Program kapasitesi yetmediği için hem pinlerinin aynı olması hemde elimin altında bulunması nedeni ile programı 18f4550 yüklemek istedim. 18F4550 nin .ınc sinden alınan sigorta ayarları şu şekilde;
DEFINE OSC 4
asm
    __CONFIG _CONFIG1H, _FOSC_XT_XT_1H &_FCMEN_OFF_1H &_IESO_OFF_1H
    __CONFIG _CONFIG2L, _PWRT_ON_2L & _BOR_OFF_2L &  _VREGEN_OFF_2L
    __CONFIG _CONFIG2H, _WDT_OFF_2H   
    __CONFIG _CONFIG3H, _MCLRE_OFF_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_OFF_3H   
    __CONFIG _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L &_XINST_OFF_4L  & _DEBUG_OFF_4L   
    __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L 
    __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
    __CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H  & _WRTD_OFF_6H
    __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
endasm


devrede 4MHZ osc kullanıyorum ve MCLR pini 10k lık direnç ile + ya bağladım fakat entegre çalışmadı hatam nerede gören varmı acaba.

aRci

merhaba arkadaşlar konu eski fakat yinede yaşadığım sorunda aynı olmasından dolayı buraya yazmak istedim.
18f ile ilk çalışmam olacak bu sebeple calışan 16f877 li bir devrem ile deneme yapmaya başladım devrede ki lcd de yazı yazmaya çalışıyorum. proteusda devre çalışıyor ama uygulamada çalışmadı pbp klasorundeki 18f4550.ınc dosyasında config satırlarını kapattım ve nette bulduğum tum configleri deneem rağmen sonuca varamadım yardımcı olurmusunuz.

lcd portb ye bağlı
devre 4mhz kristal var


asm                                                                 
__CONFIG _CONFIG1L, _CPUDIV_OSC1_PLL2_1L                             
__CONFIG _CONFIG1H, _FOSC_HS_1H &_FCMEN_OFF_1H &_IESO_OFF_1H
__CONFIG _CONFIG2L, _PWRT_ON_2L & _BOR_OFF_2L & _VREGEN_OFF_2L
__CONFIG _CONFIG2H, _WDT_OFF_2H
__CONFIG _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_OFF_3H
__CONFIG _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L &_XINST_OFF_4L  & _DEBUG_OFF_4L
__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
__CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H  & _WRTD_OFF_6H
__CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
__CONFIG _CONFIG7H, _EBTRB_OFF_7H
endasm

ete

Yapılacak iş şu,
Proteus klasörü altında yer alan Tools klasörü içinde MPASM klasörü vardır. Oraya MCS içinde file yükler gibi gir ve arama kısmına, yada yüklenecek program adı kısmına P18F4550.INC yaz ve  o dosyayı yükle.
Dosyanın altına doğru in. En aşağılarda bütün olası sigorta ayarlarını göreceksin.
Diikkat edilecek husus şu,
CONFIG1L Options  altında yer alan guruplardan yalnızca birini seçeceksin. Örnekle devam edelim,
sen 4 Mhz de çalışacaksın. Dahili osc kullanabilme imkanın var.
_PLLDIV_1_1L         EQU  H'F8'    ; No prescale (4 MHz oscillator input drives PLL directly) şeklind eilk seçenek sana uyuyor.
O halde ilk sigorta ayarın,
__CONFIG _CONFIG1L, _PLLDIV_1_1L şeklinde olacak.
Optionslar devama ediyor. İkinci gurupta, ve üçüncü guruta yer alanlar seninle alakalı değiller o halde onları yazmıyoruz.

Gelelim ;----- CONFIG1H Options seçeneğine,
_FOSC_INTOSCIO_EC_1H EQU  H'F8'    ; Internal oscillator, port function on RA6, EC used by USB seçeneği sana uyuyor.
O halde ikinci sigorta ayarın;
__CONFIG _CONFIG1H,_FOSC_INTOSCIO_EC_1H     ; şeklinde olacak.
Sonraki gurup _FCMEN_OFF_1H  ile fail safe monitör ile alakalı off yapacağız. İkinci sigorta ayarın uzayarak devam edecek.

__CONFIG _CONFIG1H,_FOSC_INTOSCIO_EC_1H  & __FCMEN_OFF_1H  şeklini almış oldu.
Sonraki gurup  _IESO_OFF_1H         EQU  H'7F'    ; Oscillator Switchover mode disabled olacak o halde devam ediyoruz.
__CONFIG _CONFIG1H,_FOSC_INTOSCIO_EC_1H  & __FCMEN_OFF_1H & _IESO_OFF_1H şeklini aldı ve bitti.

Gelelim, ;----- CONFIG2L Options seçeneklerine,
-_PWRT_ON_2L  power on timer enable olacak. o halde üçüncü sigorta ayarımız;
__CONFIG2L _CONFIG2L, _PWRT_ON_2L oldu.
bu şekilde devam ederek bütün sigorta ayarlarını yazman gerekiyor. Seçimleri yanlarındaki açıklamaya göre yapman gerekir.
Bilemediğini yazma default değerini kullanmış olursun.  İlk bir kaç ayar önemli idi onları yazmış oldum. Diğerleri artık senin kendi seçeneklerine bağlı olacak.
Unutmayın 64 bit sigorta ayarları kaynağı MPASM klasöründe yer alan Pişlemci.INC dosyasıdır.

Ete



Powered by EzPortal