Bir istek üzerine yaptığım araştırma sonucunda 18F2550 sigorta ayarlarını tespit etmeye çalıştım. Öncelikle 18F2550 işlemcisinde hangi sigorta ayarları geçerlidir bunu görmek üzere aşağıdaki linkte evrdiğim Microchip pdf dosyasını incelemek gerekiyor. Dosyada pek çok 18F serisine ait Config ayarları verilmiştir.
Ama asıl kaynak MPASM klasörü içinde yer alan P18F2550.INC dosyasıdır. Bu dosyayı MCS de yada herhangi bir text editöründe (notepad) açabilir ve içine bakabilirsiniz. Bakınca sayfanın sonuna doğru bütün sigorta ayarlarının seçenekleri ile birlikte neler olabileceğini görebilirsiniz. Şimdi bu dosyaya bakarak ayarları gözden geçirelim. Gözden geçirmeden evvel yazdığımız programda 4 Mhz kristal kullanacağımızı ve normal ayarlar olacağını varsayıyoruz. Config seçenekleri sırası ile şöyle; ;----- CONFIG1L Options -------------------------------------------------- Burada PLL Bölücü seçenekleri ve CPU postscale ve USB clk kaynak seçimi yapılıyor. Bizi pek ilgilendirmediği için atlıyoruz.
;----- CONFIG1H Options -------------------------------------------------- Burada Osilatör seçenekleri mevcut. XY yi seçiyoruz. _FOSC_XT_XT_1H _FCMEN_OFF_1H 'fail safe monitor off seçiyoruz. _IESO_OFF_1H 'Osilatör switch over mode disabled seçiyoruz.
;----- CONFIG2L Options -------------------------------------------------- _PWRT_ON_2L 'Power on Timer enable seçtik _BOR_OFF_2L 'Brownout reset yazılm ve donanım olarak kapalı seçtik _VREGEN_OFF_2L 'USB voltaj regülator disable seçtik
;----- CONFIG2H Options -------------------------------------------------- _WDT_OFF_2H 'WDT kapalı seçtik isterseniz ON yapabilirsiniz. On yaparsanız ayrıca bölücüde da seçmeniz gerekir. Mesela _WDTPS_64_2H '(1/64 seçilmiş oluyor)
;----- CONFIG3H Options -------------------------------------------------- _MCLRE_OFF_3H 'MCLR pini iptal RE3 pini giriş pini olacak. veya _MCLRE_ON_3H şeklinde MCLR aktif seçilebilir. _LPT1OSC_OFF_3H 'Timer1 yüksek güç işlemleri için ayarlandı _PBADEN_OFF_3H 'PortB.4:0 pinleri Digital giriş / Çıkış olarak ayarlandı (ON yaparsanız Analog olurlar) _CCP2MX_OFF_3H ' CCP2 input/output is multiplexed with RB3
;----- CONFIG4L Options -------------------------------------------------- _STVREN_OFF_4L ' Stack full/underflow will not cause Reset _LVP_OFF_4L _XINST_OFF_4L _DEBUG_OFF_4L
;----- CONFIG5L Options -------------------------------------------------- _CP0_OFF_5L ' Block 0 (000800-001FFFh) not code-protected _CP1_OFF_5L 'Block 1 (002000-003FFFh) not code-protected _CP2_OFF_5L 'Block 2 (004000-005FFFh) not code-protected _CP3_OFF_5L 'Block 3 (006000-007FFFh) not code-protected
;----- CONFIG5H Options -------------------------------------------------- _CPB_OFF_5H 'Boot block (000000-0007FFh) not code-protected _CPD_OFF_5H ' Data EEPROM not code-protected
;----- CONFIG6L Options -------------------------------------------------- _WRT0_OFF_6L ' Block 0 (000800-001FFFh) not write-protected _WRT1_OFF_6L ' Block 1 (002000-003FFFh) not write-protected _WRT2_OFF_6L ' Block 2 (004000-005FFFh) not write-protected _WRT3_OFF_6L ' Block 3 (006000-007FFFh) not write-protected
;----- CONFIG6H Options -------------------------------------------------- _WRTB_OFF_6H ' Boot block (000000-0007FFh) not write-protected _WRTC_OFF_6H ' Configuration registers (300000-3000FFh) not write-protected _WRTD_OFF_6H ' Data EEPROM not write-protected
;----- CONFIG7L Options -------------------------------------------------- _EBTR0_OFF_7L 'Block 0 (000800-001FFFh) not protected from table reads executed in other blocks _EBTR1_OFF_7L 'Block 1 (002000-003FFFh) not protected from table reads executed in other blocks _EBTR2_OFF_7L 'Block 2 (004000-005FFFh) not protected from table reads executed in other blocks _EBTR3_OFF_7L 'Block 3 (006000-007FFFh) not protected from table reads executed in other blocks
;----- CONFIG7H Options -------------------------------------------------- _EBTRB_OFF_7H 'Boot block (000000-0007FFh) not protected from table reads executed in other blocks
Hepsi bu kadar. Şimdi bunları PBP formatına göre vermek gerekiyor;
gece ben bu config ayarları ile epey uğraştım ama 18f serisinde config ayarlarının bu kadar önemli olduğunu bilmiyordum.Yanlış birşey yapınca çalışmıyor.İnternetten örnek bularak ve protonun dosyalarını karıştırıp tek tek deneye deneye gece 2 civarında devremi proteusta iyi kötü çalıştırmayı başardım.Proteus ve proton gece vakti ikisi birlikte hakkaten burnumdan getirdiler.
ICSP programlama için lvp bitini açıyorum fakat proteus hata veriyor,arka arkaya binlerce hata verip kilitlenme derecesine geliyor.Nedense proteus dahili osilatör kabul etmiyor...daha bir sürü sorun çıkardı.
Proton için yazım şeklini şu siteden buldum; http://www.sonsivri.com/forum/index.php?topic=5144.0 (http://www.sonsivri.com/forum/index.php?topic=5144.0) Proton altında da P18F2550.PPI dosyasının içinde config ayarları ve açıklamalarını buldum Dün gece ki uğraşlarım sonucu da şu şekilde config ayarlarına ulaştım;
DEVICE=18F2550 XTAL=4 @CONFIG_REQ @PLL_REQ '@__config CONFIG1L, PLLDIV_1_1 '@__config config1h, FOSC_INTOSC_XT_1 [b]DAHİLİ OSİLATÖR SEÇENEĞİYMİŞ AMA PROTEUS BUNU AÇINCA HATA VERİYOR HİÇ ÇALIŞMIYOR[/b] @__config CONFIG2L, PWRT_ON_2 & BOR_OFF_2 @WATCHDOG_REQ @__config CONFIG2H, WDT_OFF_2 @__config CONFIG3H, MCLRE_ON_3 & LPT1OSC_ON_3 & PBADEN_OFF_3 '@DEBUG_REQ '@__config config4l, LVP_ON_4 [b]BUNU AÇINCA DAHA DA KÖTÜ OLUYOR PROTEUS BİNLERCE HATA VERİP KİLİTLENİYOR[/b]
Aşağıda resmini verdiğim hatalar var ve hataların proteus dilindeki anlamını bilmiyorum
bu hata sürekli var ama devre çalışıyor,çalışmasında sorun yok; (https://etepic.com/proxy.php?request=http%3A%2F%2Fs4.postimage.org%2F1nj0lch5w%2FAds_z.jpg&hash=274571d72801012f529033a4bcaddbc1ce945537) (http://postimage.org/image/1nj0lch5w/)
Bu hatayı ise dahili osilatör seçeneği açılınca yapıyor ve proteus hiç çalışmıyor,hata verip bırakıyor; (https://etepic.com/proxy.php?request=http%3A%2F%2Fs4.postimage.org%2F1nj3wf65g%2FAds_z2.jpg&hash=43c9d47f60b148086c03f55dd3dfcac7f74d201b) (http://postimage.org/image/1nj3wf65g/)
Bu ise LVP'nin açılması ile oluyor ve proteus'da binlerce hata verip kilitlenmeye doğru gidiyor; (https://etepic.com/proxy.php?request=http%3A%2F%2Fs4.postimage.org%2F1njaikk4k%2FAds_z3.jpg&hash=22f713138628608a8e358619990f8659ddd845ac) (http://postimage.org/image/1njaikk4k/) ete hocama da çok teşekkürler...
Teşekkür ederim hocam ama nedense ilk verdiğim fotoğrafdaki uyarı yine devam ediyor ancak devrenin çalışmasında sorun yok,gerçek ortamda sorunsuz çalışacağını umuyorum.
PROTON+ kullananlar için değişik bir pic18f2550 CONFIG örneği vereyim. bunu P18F2550.PPI dosyasından taslak olarak hazırladım. ihtiyaca göre bu dosya içeriğine bakılarak değiştirebilirsiniz.
Device 18F2550 Config_Start PLLDIV = 1 CPUDIV = OSC1_PLL2 USBDIV = 2 FOSC = HSPLL_HS FCMEN = OFF IESO = OFF PWRT = On BOR = OFF BORV = 0 VREGEN = On WDT = OFF WDTPS = 1 MCLRE = OFF LPT1OSC = OFF PBADEN = On CCP2MX = OFF STVREN = OFF LVP = On XINST = OFF Debug = OFF CP0 = OFF CP1 = OFF CP2 = OFF CP3 = OFF CPB = OFF CPD = OFF WRT0 = OFF WRT1 = OFF WRT2 = OFF WRT3 = OFF WRTB = OFF WRTC = OFF WRTD = OFF EBTR0 = OFF EBTR1 = OFF EBTR2 = OFF EBTR3 = OFF EBTRB = OFF Config_End