program hatası ve pic arızalası

Başlatan styx75, 02 Nisan 2013, 11:13:39

styx75

selam arkadaşlar,,pic programlamaya yeni başladım ve pbp dilinde ilerliyorum
benim sorunumu kısaca özetlemek istiyorum..şimdi kullandıgım sistemler şöyle deka v5 programlama ve deneme kartı, microcode derleyici..başıma gelenler ise şöyle,,yazdıgım bir proramı birkaç defa denedikten sonra ilaveler yaparak tekrar pic yazdırmak istedim pic e yazdırma sonunda hata mesajı aldım (derleyicide hata görünmemişti) ve  picin hafızasını silmek için deneme yaptıgım zaman pic e ulaşılamadıgına dair hep hata aldım ,3 tane 16f628a yı heba ettinden sonra buraya yazmaya karar verdim:)...deneyimli arkadaşlardan yardım bekliyorum..ve pic programlama işinde bu tip arızalara sebep vermemek için nelere dikkat edilmeli ,,bu konuda yol gösterirseniz çok sevinirim..

saygılar....

ferit06

yardım almak için öncelikle sizin bir şeyleri ortaya koymanız gerekir. yüklemek istediğniz program gibi. hiç değilse sigorta ayarlarını verin ki bir şeyler denebilsin.

dahili osc, mclr_off....

Maxim

ekranda çıkan hatada böylemi yazıyor?
Program hatası

styx75

program şu şekilde
TrisA=255
Trisb=0
'------------------------------------------------------------------------------------------------------------
@ DEVICE pic16F628A                      'işlemci 16F628                               
@ DEVICE pic16F628A, WDT_ON              'Watch Dog timer açık
@ DEVICE pic16F628A, PWRT_ON             'Power on timer açık
@ DEVICE pic16F628A, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F628A, MCLR_ON             'MCLR pini kullanılıyor.
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak
'---------------------------------------------------------------------------------------------------------------
CMCON=7    '16F628 de komparatör pinleri iptal hepsi giriş çıkış
'-------------------------------------------------------------------
USTD1 VAR WORD
ALTD1 VAR WORD
USTD2 VAR WORD
ALTD2 VAR WORD
USTD3 VAR WORD
ALTD3 VAR WORD
GECIKME VAR WORD
SEC VAR BYTE
GECIKME=10
SYMBOL SECTUS=PORTA.0
SYMBOL ASAGI=PORTA.1
SYMBOL YUKARI=PORTA.2
PORTB=0
SEC=0
'----ANA DÖNGÜ----
BASLA:
   IF SECTUS=0 THEN
   SEC=1
   GOSUB PROG1
   WHILE SECTUS=0
   WEND
   ENDIF
   END
'-----ALTPR---
PROG1:
  R:
  PAUSE 200
  USTD1=2500
  ALTD1=2
  HIGH PORTB.0
  PAUSE GECIKME   
  GOTO KADEME1
  KADEME1:
  HIGH PORTB.0
  PAUSEUS USTD1   
  LOW PORTB.0
  PAUSEUS ALTD1
  USTD1=USTD1-2
  ALTD1=ALTD1+2
  IF USTD1<2 THEN
  USTD1=2
  ENDIF
  IF ALTD1>2500 THEN
  ALTD1=2500
  ENDIF
  IF ALTD1=2500 THEN G1
  GOTO KADEME1
  G1:
  PAUSE 200
  PORTB.0=0
  USTD2=2
  ALTD2=2500
  LOW PORTB.1
  PAUSE GECIKME
  GOTO KADEME2
  KADEME2:
  LOW PORTB.1
  PAUSEUS ALTD2   
  HIGH PORTB.1
  PAUSEUS USTD2
  USTD2=USTD2+2
  ALTD2=ALTD2-2
  IF USTD2>2500 THEN
  USTD2=2500
  ENDIF
  IF ALTD2<2 THEN
  ALTD2=2
  IF ALTD2=2 THEN G2
  ENDIF
  GOTO KADEME2
  G2:
  PAUSE 200
  USTD1=2500
  ALTD1=2
  HIGH PORTB.1
  PAUSE GECIKME   
  GOTO KADEME3
  KADEME3:
  HIGH PORTB.1
  PAUSEUS USTD1   
  LOW PORTB.1
  PAUSEUS ALTD1
  USTD1=USTD1-2
  ALTD1=ALTD1+2
  IF USTD1<2 THEN
  USTD1=2
  ENDIF
  IF ALTD1>2500 THEN
  ALTD1=2500
  IF ALTD1=2500 THEN B1
  ENDIF
  GOTO KADEME3
  B1:
   PAUSE 200
   PORTB.1=0
  USTD2=2
  ALTD2=2500
  LOW PORTB.1
  PAUSE GECIKME
  GOTO KADEME4
  KADEME4:
  LOW PORTB.2
  PAUSEUS ALTD2   
  HIGH PORTB.2
  PAUSEUS USTD2
  USTD2=USTD2+2
  ALTD2=ALTD2-2
  IF USTD2>2500 THEN
  USTD2=2500
  ENDIF
  IF ALTD2<2 THEN
  ALTD2=2
  IF ALTD2=2 THEN B2
  ENDIF
  GOTO KADEME4   
  B2:
  PAUSE 200
  USTD1=2500
  ALTD1=2
  HIGH PORTB.2
  PAUSE GECIKME   
  GOTO KADEME5
  KADEME5:
  HIGH PORTB.2
  PAUSEUS USTD1   
  LOW PORTB.2
  PAUSEUS ALTD1
  USTD1=USTD1-2
  ALTD1=ALTD1+2
  IF USTD1<2 THEN
  USTD1=2
  ENDIF
  IF ALTD1>2500 THEN
  ALTD1=2500
  IF ALTD1=2500 THEN F
  ENDIF
  GOTO KADEME5
  F:
  PAUSE 200
  PORTB.2=0
  USTD2=2
  ALTD2=2500
  LOW PORTB.2
  PAUSE GECIKME
  GOTO KADEME6
  KADEME6:
  LOW PORTB.0
  PAUSEUS ALTD2   
  HIGH PORTB.0
  PAUSEUS USTD2
  USTD2=USTD2+2
  ALTD2=ALTD2-2
  IF USTD2>2500 THEN
  USTD2=2500
  ENDIF
  IF ALTD2<2 THEN
  ALTD2=2
  IF ALTD2=2 THEN R
  ENDIF
  GOTO KADEME6
  IF SEC=1 THEN PROG1
  RETURN   

ferit06

deka v5 programlama ve deneme kartının özellikleini bilmiyorum. Programlama voltajını ölçme imkanınız varmı?

Programda benim için önemli olan sigortalardı, Eğer programlayıcınız programa uyuyor ise( kendisi sigortaları verip sizin bunun üzerinde değişklik yapmanızı istemiyorsa)  dahili osilator kullanılırken MCLR_ON olduğuna göre  burada bir problem yok...

Eğer elinizde varsa bir JDM programlayıcı ile Multipic5.2 gibi programlayıcı ile okuma ve silmeyi deneyin PICler ölmemiş olabilir.

styx75

evet arkadaşlar picler ölmemiş  başkabir prog kartı ile silip kullanılır duruma geldi
ama sorun neydi anlamadım:) hepinize çok teşekkürler