16F628A için bir program yazdım ve programı Proteus ta çalıştırıyorum.
Fakat Programı karta yükleyip çalıştıramadım.
Program RA.0 portundaki ledi yakıp söndürüyor. Programlacıyla daha önce program attım ve başka bir projedeki kartı çalıştırdım.
Emin olamadıklarım;
ISP portları bağlantısı doğru mu?
16F628A dahili osilatörü için bir hata mı yaptım? RA6-RA7 harici malzeme şemada görüldüğü gibi yoktur.
Amacım 16F628A nın dahili OSC sini kullanmak.
Şema
(https://i.ibb.co/ZB3HMJZ/628.png) (https://ibb.co/ZB3HMJZ)
Programlayıcım
(https://i.ibb.co/mhx12JY/xgecu.png) (https://ibb.co/mhx12JY)
Konfigirasyon
(https://i.ibb.co/zr4xn3N/conf.png) (https://ibb.co/zr4xn3N)
OSC seçimi "INTOSC" olanlardan birisi olmalı. Resimde "XT" seçilmiş.
Ekran alıntısı yaparken "TX" de kalmış. Bütün seçenekleri denediğim gibi INT için iki seçeneği de denedim.
INTOSC I/O function on RA6/RA7 seçmeniz lazım
Alıntı yapılan: sadogan - 03 Şubat 2023, 21:15:43INTOSC I/O function on RA6/RA7 seçmeniz lazım
Tekrar tekrar seçerek yaptım fakat yine olmadı.
03 Şubat 2023, 21:22:56Programlayıcı cihazdan şüphelendim, fakat pin test OK çıktı.
(https://i.ibb.co/GcMk8ZG/pintest.png) (https://ibb.co/GcMk8ZG)
RA5 10K ile 5 volta bağlı olmalı şemada bu yok.
Alıntı yapılan: sadogan - 03 Şubat 2023, 21:24:48RA5 10K ile 5 volta bağlı olmalı şemada bu yok.
:'( Evet.
Yine olmadı.
LVP ON iken veya (INT OSC) de sorun çıkıyordu. PGM pini 10K ile VCCye bağlayalım. Olmazsa 10K ile GNDye bağlayalım.
Başka bir durum:
16f628a programlanamadığı durumda Pickit2 kullanarak "VPP before VDD" özelliğiyle sorun giderilebiliyordu.
Bu programlayıcıda varsa onu ayarlamak işe yarayabilir
Besleme verildiğinde pic çalışmaya başlamasın, programlanabilsin diye önce besleme değil programlama gerilimi uygulanıyor.
Sorunu buldum. "Brown Out Reset" seçeneğinin "Disable" olması gerekiyor muş. "Enable" dan "Disable" yapınca program çalıştı.
Destekleriniz için Teşekkür Ederim.
Bor acik iken resette kalıyor ise program kısmında bir sorun var demektir. Bence önce uygulamayı bir kontrol edin. Mesela bor açıkken şunu yapamazsınız;
Basla:
Goto basla
Bunu yaparsanız reset atar.
Başka bir yerde taşma meydana da geliyor olabilir.
@ilyas KAYA, O dediğiniz wdt olabilir mi?
Wdt açıksa
Basla:
goto basla
bir süre sonra reset olur
Araya clrwdt yazılırsa reset olmaz
Borun manası belli.
Besleme düşerse reset atacak. Döngüyle alakası yok gibi.
Alıntı yapılan: COM1 - 04 Şubat 2023, 13:33:10@ilyas KAYA, O dediğiniz wdt olabilir mi?
Wdt açıksa
Basla:
goto basla
bir süre sonra reset olur
Araya clrwdt yazılırsa reset olmaz
Borun manası belli.
Besleme düşerse reset atacak. Döngüyle alakası yok gibi.
Evet haklısın. Karıştırdım sanırım. Öyle ise beslemede sorun vardır :)
@COM1 hocam, wdt konusunu bir komut çevriminde herhangi bir sebeple gecikme olması halinde resetleme olacağı şeklinde biliyordum.. söylediğiniz kuralı ilk kez duydum doğrusu... halen çalışan bir alarm programında resetleme olmadığını sanıyorum.. çünkü goto basla arasında 15 dk. sayıp bir işlem yapıyor.. resetleme olsa bu işlemi yapamaz.. bu kuralın kaynağı nedir?
Wdt açıksa sayaç sürekli çalışır.
1.8ms gibi bir süresi var süre dolmadan araya bir yere clrwdt eklenir sıfırlanır.
1.8ms yanlış hatırlamış olabilirim bazı piclerde farklı ayarlanıyor
Wdt açıksa program 15dk çalışmış fakat resetlenmemiş diyorsanız mutlaka uygun yerde clrwdt vardır. Siz kullanmasanız da derleyici eklemiştir. Örneğin proton'da delayms(200) yazılmışsa bunun içine kendisi ekler. Tab program içinde i wdt açık olduğunu belirtmeli ve gerçekten açmış olmalısınız
Sizin alarm programında wdt kapalı olsa gerek. Açık olsaydı bilirsiniz
Sigorta ayarlarını program içinde değil, yükleme programında yüklerken yapıyorum, wdt açık olarak yükledim.