16F628A Programlayamadım.

Başlatan Melih1802, 03 Şubat 2023, 20:59:07

Melih1802

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


Programlayıcım


Konfigirasyon




yas

OSC seçimi "INTOSC" olanlardan birisi olmalı. Resimde "XT" seçilmiş.

Melih1802

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.

sadogan

INTOSC  I/O function on RA6/RA7 seçmeniz lazım

Melih1802

#4
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:56
Programlayıcı cihazdan şüphelendim, fakat pin test OK çıktı.


sadogan

RA5 10K ile 5 volta bağlı olmalı şemada bu yok.

Melih1802


Melih1802


power20

#8
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.


Melih1802

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.

ilyas KAYA

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.

power20

#11
@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.

ilyas KAYA

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  :)

mg1980

@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?

power20

#14
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