18f4550 konfigrasyon ayarları

Başlatan EMKE, 15 Şubat 2015, 11:12:12

EMKE

Arkadaşlar herkese hayırlı pazarlar,ben 18f4550 ile ufak ufak proje geliştiriyorum anlayamadğım nokta ise konfigürasyon ayarları aşağıda benim yaptığım ayarlar var ama tamda anlayamadım doğruluğunu benim istediğim 20mhz kristal olacak mikroda ve sistem saatinin 4 e bölünmesi pll aktif olmayacak yüksek hızla bir işim yok bu ayarları conf1l ve conf1h registerlerinda ayarlıyoruz bana hazır bir ayar kodundan ziyade kodu açıklayarak bu şundan olur şu bundan olur gibi olursa memnun olurum öğrenmem gerekli bu ayarları teşekkür ederim şimdiden.

EMKE

Benim yapmış olduğum konfg bu şekilde.

__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

ete

Bu işlemci için bu tür config ayarları kaynağı MPASM klasöründe yer alan P18F4550.INC dosyasıdır.
Dosyayı şimdi açtım ve baktım.
Bütün ayarların yanına açıklamalarını yazmışlar. Çok faydalı sende bakıver istersen.

PLL enable olursa mevcut Kristal frekansı 4 ile çarpılır. Ama kristal bu durumda 16Mhzden fazla olmamalı.
PLL disable olursa Kristal frekansını direk kullanabilir yada dahili OSC yi de direk kullanabilirsin demektir.
Açıklamaları buna göre oku bakalım. Şidmi diyeceksinki İngilizce anlamıyorum. Bende anlamıyorum ama Google yada bir başka yere tercüme ettiriyorum o zaman anlıyorum. Bütün sayfayı değil her satırdaki açıklamayı tercüme ettirirsen daha anlayışlı olacaktır.

Ete

EMKE

Sağolun cevap için teşşekürler.

EMKE

Ete hocam mpsam klasöründeki dosyayı inceledim ve 20 mhz kristal için pll kapalı olacak ve  osc frekansı 4 bölünecek yaptığım ayarlar aşağıdaki ayarlardır ben doğru yaptığımı sanıyorum ama incelemeniz mümkünse kontrol edermisiniz?.
__CONFIG _CONFIG1L, _PLLDIV_5_1L &_CPUDIV_OSC4_PLL6_1L                           
__CONFIG _CONFIG1H, _FOSC_HS_1H &_FCMEN_OFF_1H &_IESO_OFF_1H

ete

1. satıra yalnızca;
__CONFIG _CONFIG1L,_PLLDIV_1_1L yazman yeterli
2. satır doğru.

Ete

EMKE

Hocam şimdi  ayarlara göre benim interrupt ile 4'lü 7 segment displayi taramam lazım  yaptığım conf ayarları ve interrupt ayarları aşağıda yalnız isis'te programı çalıştırdığımda displaylerde bir titreşim söz konusu ayarlardamı bir sıkıntım var anlayamadım bunlarıda kontrol etmeniz ve varsa hatalarım nerede yazılımsal yada donanımsal olarak bunları göstermeniz mümkünmüdür.Teşekkür ederim şimdiden cevabınız için .

20/4= 5 MHz
1/5=0.2 mikro sn
0,2*256*(256-226)     226 değeri tmr0l için belirlediğim ön değer.
51,2*30 = 1536=1,536 msn bir kesmeye girilip displaylerin taranması amaçlandı.

T0CON=%11010111=     TMR0 prescaler 1/256 seçili
INTCON=%11100000 = ayarlandı
TMR0L=226 ön değeri yüklendi



ete

Titreme simulasyonda ise kafanı takma gerçekte titremez.
Tarama frekansı yada aralığı 500us ile 2000us arasında olabilir Yeterki programda kesmeyi çağırmayı zorlaştıran ekstra bir komut olmasın. Mesela ana programda Pause x gibi bir komut kullanılmış ise programın kesmeye girmesi gecikir buda titreme yaratır. Dosyaya bakamıyorum şu anda.

Ete

EMKE

Ete hocam cevabınız için teşekürler sorunu çözdüm, sizin daha önce yapmış olduğunuz çoklu display panosunun devresini incelerken displayleri sürmek için IRF530 fet kullanıdğınızı gördüm ben ise taramada BC237 transistör kullanmıştım .Devrede BC237 leri IRF530'lar ile değiştirince titremeden eser kalmadı teşekkür ederim.

Powered by EzPortal