port okutma hususunda yardım edermisiniz

Başlatan veli dayı, 03 Şubat 2014, 22:23:37

veli dayı

arkadaşlar şu an bu soruyu sorarken kullandığım bilgisayarda ısıs olmadığından devre üzerinden soramıyorum.Bunun için özür dilerim.şöyle tarif etmeye çalışayım.pic 16f628 pic entegresinin porta bölümünü giriş olarak ayarladım ve 8870 entegresinin q çkışlarını buraya bağladım.

programdada dedim ki sayı=porta  ıf sayı=1 then hıgh portb.1 endıf yazdım ıf sayı=2 then low portb.1 endıf yazdım.telefonun 1 numarasıan basınca led yanıyor 2 numarasına basınca da sönüyor fakat tuşlara hızlı basarsam arka arkaya 6,7,8,9,2,1 gibi tuşlamalar yaparsam program sapıtıyor. komutu ya algılamıyor yada çok geç algılıyor acaba sayı=porta komutu nasıl bir işleve sahip ki böyle bir şey yapıyor.sayı=porta deyince sayı adlı değişkene değer yazıyor sonra diğer değer geldiği zaman önceki değerle karıştırıyor mu acaba

ete

Sen programda karşılaştırma yapmıyorsan o kendi başına yapmaz.
İşin doğrusu sorunu çok iyi anlayamadım ama genelde portun tamamını değilde yalnızca sana gerekli bitlerini okuman daha doğru olurdu. 8870 4 bitlik bir bilgi  verir o halde bağlantın muhtemelen , porta.0 -portA.1- PortA.2- PortA.3 şeklinde olacak. Bu durumda doğru okuma da,
Sayı=PortA & (%00001111) şeklinde olmalıdır.

Ete

veli dayı

porta.4 portunu dirençle şase seviyesine çektim sadece geriye kalan 0,1,2,3  portlarını kullandım.bir de sizin gönderdiğiniz komutu deneyecem cevabınız için teşekkür ederim.Birde kafama takılan cm8870 in çıkışını 5 volt oılarak ölçtüm lojik 1 seviyesindeyken .teorik olarak 5 volt pic tetiklemeye yeter fakat pic de port girişlerine sadece 5 volt vermek yeterli midir.5 voltun akım değerleri önemli değilmi .diyelim ki 5 volt 10ma vermekle 5 volt 100mikroamper vermek arasında fark yokmudur.pice lojik tanımlama yapabilmek için(algılattırma).cm8870 in çıkışları direk picin girşlerini sürebilirmi akım yeterli olur mu sizce

ete

Genelde port okumada mikro amperler seviyesindeki akım değerleri yeterli olur. Seviyesini elbette ölçmedim ama bu tür sistemlerde az akım çekilmesi her konumda önem taşır. Bu nedenle çok fazla akım çekerek port seviyesi tanımlaması yapılacağını sanmıyorum.

Ete

onurinci

data'sına baktım,bu IC decode Latch Logic.yani en son gelen 4 bitlik datayı ,yenisi gelmedikçe son konumu koruyor.Data valid Pin'ini kullanıyormusunuz ?.yeni bilgi geldiğini bu pin teyid ediyor.
4 Adet çıkış pini çipte içeriden pull up bağlı.StD pininde varmı anlıyamadım.bu pinide portA,4 de kullanacak iseniz siz yinede bir pullup direnci ekleyin derim.

veli dayı

pic entegresiyle ilgili bir iki  şey daha sorsam.16f 628a da dahili osilatörü kullansam define osc 4 mhz tanımlasam hani hserin şeklinde bir komut kullanıyorduk da bilgisayarın seri portundan gelen verileri kesmeyle alıyorduk ya işte bu işlemde sıkıntı çıkar mı acaba dahili osilatörü kullandığım zaman.harici osilatörün yaptığı her şeyi dahili osilatörde yapar mı?

Bir diğer merak ettiğimde diyelim ki 10a 20 bir plakete 4 adet 16f628a yerleştirdik ve hepsini 4 mhzlik osilatör kullanıyoruz ve de beslemeleri aynı olsun (aynı regülatörden beslenecek.).acaba besleme üzerinden frekanslar birbirini olumsuz etkilermi ki.yani piclerin çalışmasında sıkıntı olurmu sizce.(5 volt beslemenin akımının yeterli olduğu varsayarsak).

ete

Dahili osc haricinin yaptığı her şeyi yapar. Ancak harici daha hassas yapar.
Besleme ile frekansın alakadı yok. Her kes kendi işine bakar çalışmada sıkıntı olmaz.
Ete

veli dayı

ete hocam çok teşekkür ederim.frekanslar bir brinden etkilenir mi kuşkusunu ben de oluşturan olayı anlatayım size.iki adet radyoyu aynı üçlü prize taktım.iki radyoyu da çalıştırdım frekansları bir birine yakın hale getirdiğimde birinde yaptığım oynama öbürünü etkilemişti.aynı şey öylede olurmu diye merak etmiştim.fakat artık içim rahat sayenizde.siz öyle diyorsanız olay bitmiştir benim için tekrar teşekkür ederim herkese kolay gelsin

veli dayı

onurinci ve ete hocam hay Allah razı olsun sizlerden.özellikle ete hocamın verdiği kod ilaç gibi geldi.artık devre algılamada en ufak bir sıkıntı yaşamıyor.

Powered by EzPortal