Pic16F88 RA3 ile kendine reset atıyor.

Başlatan Mucit23, 05 Kasım 2011, 17:02:23

Mucit23

Merhaba arkadaşlar
Daha önce 16F628 ile yaptığım ayarlı termometre devresinde RA3,RA4 ve RA5 pinlerinde ayar için kullandığım butonlardan RA3 e bağlı olana bastığımda pic kendi kendine reset atıyor. Yanlız herzaman olmuyor. Bazen oluyor. Öyeki normal çalışma modunda bile bastığım zaman pic kendine reset atabiliyor.  Butonun bağlandığı pini pull-up yapmışım ve butona paralel 100nF kondansatör var.
Şimdi 16F88 ile yazılımı biraz geliştirip denedim aynı sorun 16F88 dede oluyor. 16F628 de pek fazla olmuyordu. ama 16F88 de dahada kendini belli etmeye başladı. Ayarları yapmakda zorlanıyorum

Sigorta ayarlarından kaynaklanabileceğini düşündüm.
16F88 için sigorta ayarlarım aşağıdaki gibi
@ DEVICE pic16F88                     'işlemci 16F88                             
@ DEVICE pic16F88, WDT_OFF              'Watch Dog timer Kapatıldı.
@ DEVICE pic16F88, PWRT_ON             'Power on timer açık
@ DEVICE pic16F88, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F88, MCLR_off            'MCLR pini kullanılmıyor.
@ DEVICE pic16F88, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak 

Sorun neden kaynaklanabilir acaba.  Bi fikri olan varmı

dnacikaya

merhaba @mucit kodun tamamını vermemişsin aşağıdaki komutlar varmı acaba.

CMCON=7
OPTION_REG.7=0
PortA=0
TrisA=%11111111

pinler giriş çıkış olarak ayarlayıp pull up yapmanızı sağlayacaktır bu komutlar. şayet varsa kodun tamamını verirseniz daha kesin birşeyler söylenebilir. kolaygelsin.

-Hasan-

Alıntı yapılan: nacikayapull up yapmanızı sağlayacaktır

16F88 de pull up PORTA da değil, PORTB ' dedir.




Mucit arkadşım ayarların falan doğru görünüyor; yaşadığın sorun çok tuhafıma gitti. acaba beslemeden kaynaklanabilir mi? yani beslemen o devre için yeterli mi? bazen olduğunu söylemiştin.

Mucit23

Söylediğin ayarlar var zaten. Ayrıca Hasan arkadaşında dediği gibi Dahili pull-up dirençleri Portb için geçerli. Benim butonlar porta da. Gerekli pinler zaten giriş. Butonlarda sorun yok. RA3 deki butonla eğer işlemci kendine reset atmazsa butona basıldığında yapması gereken işlemi pic yerine getiriyor. Benim aklımdaki soru işaretleri şunlar.

1-) RA3 ün Resetle ne alakası var
2-) Neden Sadece RA3 'e bağlı butonda bu sorunu görüyorum.
3-) Nasıl bu sorunu çözebilirim?

Belki bi ilgisi vardır diye Sigortaları daha ayrıntılı olarak inceledim.
Aşağıdaki gibi yaptım.

@ DEVICE pic16F88                      'işlemci 16F88                             
@ DEVICE pic16F88, WDT_OFF             'Watch Dog timer Kapatıldı.
@ DEVICE pic16F88, PWRT_ON             'Power on timer açık
@ DEVICE pic16F88, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F88, LVP_OFF             'Low Voltage Programming kapalı
@ DEVICE pic16F88, BOD_ON              'Brow Out Detect açık
@ DEVICE pic16F88, MCLR_off            'MCLR kullanılmıyor
@ DEVICE pic16F88, FCMEN_OFF           'Fail Safe Clok Monitör kapalı
@ DEVICE pic16F88, IESO_OFF            'Internal/External Swıtch Over kapatıldı
@ DEVICE pic16F88, CCPMX_OFF           'CCPMX kapalı
@ DEVICE pic16F88, DEBUG_OFF           'Debug kapalı
@ DEVICE pic16F88, WRT_OFF             'Flash Write Protect kapalı
@ DEVICE pic16F88, CPD_OFF             'Data code Protection kapalı
@ DEVICE pic16F88, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak

Sonuç olarak yine değişen birşey olmadı.

-Hasan-

Çok tuhaf yaa; RA3 butonu ile reset. :o Hadi RA5 olsa MCLR ile ortak olduğu için, belki PIC ' de bir sorun vardır derdik ama RA3 ' ün RESET ile hiçbir alakası yok ki.

Mucit23

Bende anlam veremiyorum. İsiste böyle bir sorun yok yani pic resetlenmiyor.  :(

Mucit23

Arkadaşlar sorunu çözdüm. Sorun butona paralel kondansatördeymiş.  Sorunun yazılımsal olup olmadığını anlamak için RA3 e başka bir buton tanımlayınca sorunun yazılımsal olmadığını anladım. Sonra kondansatörü sökünce sorun düzeldi.
İlgilenen Herkese Teşekkürler.