Portların Tristör gibi davranması

Başlatan sezgin05, 01 Nisan 2004, 08:05:15

sezgin05

Arkadaşlar ben Pic portlarının tristör gibi davranmasını istiyorum.Yani uygun şartı

verdiğimde port çıkış verecek,fakat şart yok olduğunda pozisyonunu değiştirmeyecek.Reset edilene kadar LATCH olacak.
;)

Veli B.

Uygun şarttan kastın nedir?
Mesela bir butona basılması mı?
Eğer böyle bir şartsa;
.
.
.
IF

PortB.3=0 then PortB.4=1
.
.
.
.
.
end

 'Bu şekilde eğer portb.3 butona basılarak 0 çekilmişse portb.4 1 olur ve sen tekrar resetlemez isen veya pic resetlenmez

ise durumunu korur.

z

Pic portları zaten tristör gibi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ete

Bilindiği üzere bir port pini çıkış olduğu zaman ya low veya high olabiliyor. Üçüncü

alternatif yani Z konumu bu aşamada mümkün değil. Bu arkadaşta her halde böyle bir şey arıyor. Yanı port pini ne 1 versin nede 0 versin istiyor tabiiki belirli bir başka şarta bağlı olarak. Bu işin

kolayı port pinini çıkıştan girişe çevirmek. Böylece bu pin z konumuna geçmiş olmaktadır. Dolayısıyla portu sürekli girişte (input) olarak tutup istenen şartın oluşup oluşmadığına bakılır ve gerekirse

pin çıkışa (output) çevrilip değeride bir veya sıfır olarak atanabilir.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ise

iletime geçirirken portu çıkış konumu yalıtım ise giriş konumu yaparsan olur

sezgin05

.....
Anadongu:
    IF porta.0= 0 THEN portb.0=1
    IF porta.1= 0 THEN portb.1=1
GOTO

Anadongu
END
    Arkadaşlar böyle bir kod diziminde  birinci butona basıldığında birinci led yanar,ikinciye basıldığında ikinci led yanar,fakat birinci söner.Ben birinci ledin konumunu

muhafaza etmesini istiyorum...
"Merak ilmin hocasıdır..."

Veli B.

Neden birinci ledin söneceğini düşünüyorsun?Bu kodla Porta.0 daki butona basarsan Portb.0 daki led yanar ve resetlenmez

ise asla sönmez .ikinic butona basman sadece Portb.1 deki ledin yanmasını sağlar ve yine o da asla sönmez!!!

Kodu şöyle yazsa idin söylediğin doğru olurdu;
.....
Anadongu:


IF porta.0= 0 THEN portb.0=1
IF porta.1= 0 THEN
    portb.1=1
    Portb.0=0
endif
GOTO Anadongu
END