Pic işlemci ve 4511 ile PORT b'de tarama yaparken PORTB.7 'yi normal kullanabilmek

mikrocan

Üye
Katılım
8 Ağu 2006
Mesajlar
33
Puanları
1
Yaş
39
Arkadaşlar merhaba

3 adet 7 segment display kullanıyorum. Bunları tarama ile 3 adet 4511 ile sürüyorum. PBP ile ilgiliyim ve saolsun ETE hocam sayesinde kademe kademe ilerliyorum. Merak ettiğim taramada DIG komutunu kullanırken Portb 2'ye 240 diye bir değer giriyoruz. Bu değerin bin karşılığı 11110000 . Ben portb.7 'yi tarama dışı tutmak istiyorum. O zaman 01110000 şeklinde (112) yazmam gerekir. Ama sonuç alamıyorum. Atladığım birşeymi var burada?
 
Sonuç alamıyorum derken ne oluyor. Detay vermen gerek. Hangi pinlere ne bağlı
 
Silvestir, taramada şu yazılımı yapıyorum.

ZAMANAYAR1:
IF MENU=1 AND YUKARI=1 THEN GOSTER=GOSTER+1
PAUSE 1
IF MENU=1 AND ASAGI=1 THEN GOSTER=GOSTER-1
PAUSE 1
IF MENU=1 THEN
BIRLER=GOSTER DIG 0
ONLAR=GOSTER DIG 1
YUZLER=GOSTER DIG 2
PAUSE 1
PORTB=112 | BIRLER
LOW PORTB.5
PAUSE 1
HIGH PORTB.5
PAUSE 1
PORTB=112 | ONLAR
LOW PORTB.4
PAUSE 1
HIGH PORTB.4
PAUSE 1
PORTB=112 | YUZLER
LOW PORTB.6
PAUSE 1
HIGH PORTB.6
PAUSE 1

4511 'lerim port B de bağlı. Port B hattının son ucunu (Portb.7) serbest olarak kullanmak istiyorum. ETE hocamızın programlarında hep ;

PORTB=240 | BIRLER
LOW PORTB.5
PAUSE 1
HIGH PORTB.5
PAUSE 1

olarak kullanıyorduk. Ama portb.7 'ye birşey bağlamazdım. Şimdi bağlamam gerekiyor. Bu 240 rakamını yanlışmı anlıyorum ben,onu merak ettim. Ben 11110000 decimal karşılığı olarak düşünüyordum hep? Şimdiden saol ilgilendiğin için
 
4-5-6 her bir rakamı tetiklemek için kullanılmış dolayısıyla pin7 boşta görünüyor. Dediğin doğru. 112 yazdığın zaman da göstergenin hatasız çalışması lazım. 112 yazdığında çalışmıyor mu, ya da ne oluyor
 
PORTB.7 yi kullanabilmen için PORTB=bir şey şeklinde komut kullanmaman lazım çünkü bu komut portb nin 8 bacağına tümden veri yazıyor. Sen kendin bir fonksiyon yazıp bu verileri port pinlerine tek tek uygulaman lazım.

if BIRLER=0 then
portb.0=0
portb.1=0
portb.2=0
portb.3=0
end if

if BIRLER=1 then
portb.0=1
portb.1=0
portb.2=0
portb.3=0
end if

if BIRLER=2 then
portb.0=0
portb.1=1
portb.2=0
portb.3=0
end if

if BIRLER=3 then
portb.0=1
portb.1=1
portb.2=0
portb.3=0
end if

...... böyle devam edecek

Hammallık oluyor ama varsın olsun. Daha kısa yolu var ama Basic bilmediğim için düz mantık yazdım.
 
hiii,anladim gibi,p.tesi bir deneyim onu.Haberdar ederim,saolasin

Sent from my GT-I8190 using KontrolKalemi.Com Forumu mobile app
 

Forum istatistikleri

Konular
127,950
Mesajlar
913,864
Kullanıcılar
449,598
Son üye
kadir12366

Yeni konular

Geri
Üst