PIC kararsız çalışıyor. Butonlara basılmış gibi...

Başlatan bilgehansahin84, 01 Haziran 2009, 08:57:54

bilgehansahin84

Arkadaşlar yazdığım programda butonlara basılmış gibi if döngüleri bir bir çalışıyor. Devremde sanırım bir sorun var?
Lütfen yardımcı olurmusunuz ?

Teşekkür ederim.

Device = 16F877
XTAL = 4
LCD_DTPIN = PORTB.0
LCD_RSPIN = PORTB.4
LCD_ENPIN = PORTB.5
LCD_INTERFACE = 4
LCD_LINES = 2
LCD_TYPE = 0
DelayMS 200
...
...
...
BASLA:

if PORTD.2=1 then 'if PORTD.2==1 then
   DelayMs 100
   goto AYARLAR
endif
...
...
...
AYARLAR:
   Cls
   Print At 1,1,"CAPI :"
   DelayMS 10
   Print At 2,1,"= ",dec2 capi+0.001, " M"
   DelayMS 100
   
   if PORTD.0=1 then 'if PORTD.0==1 then
   		capi = capi + 0.05;
		if capi <= 0 then
			capi = 0
...
...
...



Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Maxim

ama pin uçları açık ?
kararsız olması normal,
bknz:"havadan nem kapma"

pull-up veya pull-down direnci kullanın

ibrsel

Öncelikle programında buton bağlayacağın uçları giriş olarak tanımla ve portları sıfırla..
Trisd=%00001111
Portd=0

gibi..
Devrende butona basılmadığında şase alması için pulldown yap. Yani 4,7K gibi bir direnç ile şaseye çek.

bilgehansahin84

Açık olması havadan nem kapmaya bu kadar mı müsait.
2 yıldır hiç uğraşmamıştım. Şimdi ise bu sorun. Daha önceden karşılaşıp karşılaşmadığımıda unuttum.

Teşekkür ederim arkadaşlar.
Portları tanımlayıp Buton uçlarını doldurucam.

Sonucu yazarım akşama.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Murat Mert

S.A.
Şimdi devrende pull-up yada pul-down direnç kullanmazsan pic budurumda kararsız kalır. Sende proramını pull-down' göre yazmışsın

if PORTD.0=1 then


Yani giriş ucunu direnç ile gnd ye çekmen lazım. GND olmadığı içinde pic sanki butona basıyormuş gibi işlem yapar.
mert07

Maxim

Alıntı yapılan: "bilgehansahin84"Açık olması havadan nem kapmaya bu kadar mı müsait.
2 yıldır hiç uğraşmamıştım. Şimdi ise bu sorun. Daha önceden karşılaşıp karşılaşmadığımıda unuttum.

Teşekkür ederim arkadaşlar.
Portları tanımlayıp Buton uçlarını doldurucam.

Sonucu yazarım akşama.

bu bir sorun değil aslında normal bir durum ,
giriş olarak tanımlı ve hassas bir giriş ucumuz var ,
resmen havadan nep kapar ,
yani olay pic ürünlerine haiz birşey değil

devreyi kurarsın ,çalıştırısın ,
uzaktan normal çalışıyordur ,
elini devreye yaklaştırırsın giriş uçları (eğer pullup veya pulldown yapılmadıysa) değişmeye başlar .

Maxim

şunuda yapabilirsin istersen ,
lcd çıkışlarını C portuna veya D portuna al ,

buton girişleri için B portunu kullan ve yazılımından picin içindeki port b pull up dirençlerini aç , o zaman harici direnç mirenç takmana gerekte kalmaz .

proton için kodun başına ,
PORTB_PULLUPS=1

yazıyorsun .

bilgehansahin84

Arkadaşlar çok teşekkür ederim. bunları akşam deneyebileceğim ancak. Ama sonuç alacağımdan eminim. Elimi PIC e dokundurduğum zaman en fazla saçmaladığı andı zaten.


Ama bilmediğim şey ise 'pull-up yada pul-down' açılımları. Tam olarak neyi kastediyorsunuz?

Birde Plaketi çıkartıldı. Yani LCD yi değiştiremem. PORT tanımlamalarım buna göre nasıl olmalı?
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

BenC

Pul-Up ; Mevcut hat (pic in giriş veya çıkış pini olabilir) ile Vcc (+) arasına direnç koymaktır.  


Pull-Down ise tam tersi. Mevcut hattı GND ye dirençle bağlamaktır.
ŞEHİT KANIYLA ALINMIŞ BU GÜZELİM VATANIN TOPRAKLARI KARIŞ KARIŞ SATILIYOR!!  VATAN HAİNİ OLMA!!


bilgehansahin84

Arkadaşlar hepinize teşekkür ederim. Sorunu hallettim. butona basılı olmadığı zaman 4,7K lar ile şase bağlantısı çektim.

Tekrar teşekkürler..
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Murat Mert

Kardeş sorunu hallettiğine sevindim. :D  :D
Kolay gelsin
mert07