12F508 Programlama hatası

Başlatan gogoce, 19 Temmuz 2013, 23:47:02

gogoce

Merhaba arkadaşlar
12f508 e basit program yazdım . Brener 8 programlayıcım var . 12f508 i destekliyor  . Ama ne hikmetse içerisindeki programı silip kendi programımı yükleyemedim hata veriyor . Bu konuda yardımcı olabilir misiniz acaba ?


saygılar
gogoce

Program;
Device 12F508
@__INTRC_OSC_NOCLKOUT
SET_OSCCAL
Declare XTAL 4
TRISIO = 0
GPIO.0=0   ;röle
GPIO.1=1   ;led 1
GPIO.2=0   ; led2

DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
DelayMS 1000
GPIO.0=1
GPIO.1=0
GPIO.2=1
DelayMS 250
GPIO.0=0
GPIO.1=1
GPIO.2=0
kal:
DelayMS 50
GoTo kal

End


devreye enerji verilince 10 saniye sonra röle çekip 250 ms sonra bırakacak ve bu konumda kalacak
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

est32

#1
fotoğrafta işaretlediğim yerlere bak ve oradaki pin seçiminde 8/14/20 pins kısmını işaretle. Sanırım oradaki 10fxxx seçeneği de 12fxxx olarak değişmeli(hatırlayamadım)
ayrıca 18 adet delayms 1000 nedir? bunun yerine delayms 18000 de 65535'e kadar aynı işi görür ama kesme için uygun değildir ki bu şekilde de boşu boşuna fazla bellek kullanımı olur.
Hep bu kötü kullanımı görüyorum, bunu şu şekillerde de yapabilirsin;


basla:
gosub bekle'bekle isimli alt programa git.
goto basla

bekle:'bunu programın herhangi bir yerine ekle,örneğin en sonlara bir yerlere
delayms 1000
return' her zaman nerden gelindiyse oraya gider.

bu durumda nerede 1 saniye gecikme yapılacaksa sadece GOSUB BEKLE yazmak yeterlidir ve bu gidişlerde sadece 1 kelimelik bellek kullanır, diğer türlü her seferinde onlarca kelimelik bellek harcar ki büyük programlarda büyük bellek sorunları doğurur.
veya

basla:
for i=1 to 18' döngü ile 18 defa bekleme tekrar edilir.
delayms 1000
next i
goto basla

hatta bu şekilde de yapılabilir.

basla:
for i=1 to 18' döngü ile 18 defa bekleme tekrar edilir.
gosub bekle'bekle isimli alt programa git.
next i
goto basla

bekle:'bunu programın herhangi bir yerine ekle,örneğin en sonlara bir yerlere
delayms 1000
return' her zaman nerden gelindiyse oraya gider.

gogoce

8/14/20 pins seçeneği pic family den pic10fxxx seçildiği anda otomatik olarak 18pin/ıcsp ye dönüyor
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

kılıckaya

Aynı sorunu ben de yaşıyorum. Bugüne kadar bir türlü 12F508'i programlayamadım. Çözümü bulursan bana da bildirirsen sevinirim.

gogoce

işim acildi mecburen 16f628 e geçmek zorunda kaldım . Projem bitti ama hala 12f508 i programlamanın peşindeyim
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

pwm.c

12F508 i sadece ICSP ile progmlıyor olabilir. bunu zif sokete bağladıysanız belki desteklememiştir. elimde 12f508 olmadığı için deneyemiyorum kusura bakmayın. sadece 10F200 kullanmıştım ama bunun pinleri farklı idi.
Bu arada, programlanmamış bir entegre ile denediniz mi? yoksa sadece yazılmış entegrelerimi görmüyor?
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

kılıckaya

Ben hiç yazılmamış PIC denemiştim,yine de olmamıştı.

gogoce

Yazılmış olan pice denedim ilk fırsatta icsp dener sonucu bildiririm
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

kılıckaya

#8
Sayın Gogoce, Brenner 8 'de ICSP bağlantısını nasıl yapacaksınız? Bildiğim kadarıyla bu bağlantı PIC Kit2 'de var.

gogoce

Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

kılıckaya

Bendeki versiyonda ICSP konnektörü yok. Sadece ZIF soket var.Yine de program atma işini çözerseniz bildirmenizi rica edeceğim.

Powered by EzPortal