Multiplexer ile devre çoklayıcı yapımı?

hkeskin

Üye
Katılım
1 Ağu 2008
Mesajlar
56
Puanları
1
Yaş
38

Bu proje, PIC16F877A MCU'sunun port durumlarını okur ve RS232 üzerinden bilgisayara gönderir.
Bilgisayardaki arayüz yazılımı ise port durumlarını LED benzeri şekilde gösterir.
Proje çok basit olmasına rağmen;
Geliştirilmeye açık olduğundan dolayı, paylaşılacağı zaman kaynak belirtilirse sevinirim.
Zira az çok emek harcadım... :eek:



Ekli dosyayı görüntüle 24227

Ekli dosyayı görüntüle 24226
konu detayı için tıklayınız
https://www.kontrolkalemi.com/forum...urumunu-bilgisayar-arayüzünde-gösterme.64825/

YARARMAN arkadaşımın yaptığı bu devreyi yapıp test ettim çalışıyor..

Fakat bu devreden 3-4 tane yapıp tek serial porttan nasıp PC ye aktarırım.. buton sayısını arttırmak istiyorum.
4:1 Multiplexer lar işimi görür diye düşünüyorum fakat bi devre bulamadım..

Yardımlarınızı bekliyorum..
 
Konu Sah
hkeskin

hkeskin

Üye
Katılım
1 Ağu 2008
Mesajlar
56
Puanları
1
Yaş
38
74150 serisi entegreler varmış ama bi devre şeması bulamadım nette.. benim devreyle nasıl birleştireceğim... multiplexer devresi yapan yok mu?
 

GüvTek

Üye
Katılım
7 Mar 2012
Mesajlar
190
Puanları
1
Yaş
33
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)
 

ULAGA

Üye
Katılım
9 Ocak 2012
Mesajlar
589
Puanları
1
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)

Dediğin gibi sadece örnek amaçlı yazıldı.
Elbette hız arttırılabilir...
Ben kolay okuma yapsın diye aradaki bekleme sürelerini yüksek tuttum. :)
 
Konu Sah
hkeskin

hkeskin

Üye
Katılım
1 Ağu 2008
Mesajlar
56
Puanları
1
Yaş
38
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)


ilgine teşekkür ederim

31 tane buton aktif şuan, amacım buton sayısını arttırmak.. eğer olacaksa PORTE yi seve seve feda ederim :)
bizim devreyi nasıl düzenleriz 74165 li felan.. ve kaç butona kadar arttırabilirim.. ve kontrol edebilirim.

yine YARARMAN arkadasımın desteğiyle resimdeki gibi arayüzle telefon hatlarını takip etmeye çalışıyorum.

bu devreyle 31 giriş olduğundan 15 telefon hattını takip ettirebiliyor (normal ve meşgul durumlarını gösterdiğinden ayrı ayrı giriş oldu yani 2 giriş 1 hat demek).. bunu arttırmak için çalışıyorum..

devre ticari değil işimi görsün yeter...
 

GüvTek

Üye
Katılım
7 Mar 2012
Mesajlar
190
Puanları
1
Yaş
33
Sadece 3 hattan hız önemli değilse, ard arda tüm verileri yollayarak, sınırsız sayıda 74165 ya da 75166 bağlayabilirsin.. 74165 ve 74166 entegreleri seri bağlanır.. Eğer değişim olanı göndereceksen o zaman bunları rame yükleyip kontrol etmen gerekir.. Haliyle pic in ram ile yani 300 küsür bayt yani 300*8=2400 girişe kadar kontrol edebilirsin.. Tabi bilgisayar yazılımını da düzenlemen gerekir.. Bu şekilde o kadar şey kontrol etmen zor.. :) Tabi başka sorunlar da çıkacaktır bu kadar büyük bişey yaparsan, akım vs..
 
Konu Sah
hkeskin

hkeskin

Üye
Katılım
1 Ağu 2008
Mesajlar
56
Puanları
1
Yaş
38
bu işler karışık diyorsun yani..
neyse ben şu 15 liyi tam olarak bitireyim bi.. sonrasına sonra bakarım artık.. sağoll
 

GüvTek

Üye
Katılım
7 Mar 2012
Mesajlar
190
Puanları
1
Yaş
33
bu işler karışık diyorsun yani..
neyse ben şu 15 liyi tam olarak bitireyim bi.. sonrasına sonra bakarım artık.. sağoll

Yok karışık değil.. Sadece yapacağın devreye göre sorunların olabilir, iletimde ne tür bir protokol oluşturacağın vs vs hepsi etkiler.. Sadece ne yapmak istediğine ileriye dönük olarak karar vermen gerekir.. Mesela sadece değişim olan baytı iletmek istersen, 1 bayt değişen baytın adresini belirtip, 2. bayt o baytın son durumu olacak şekilde 2 bayt ile veri iletimi yaparsan.. Bu defa 256*8=2048 giriş kontrol edebilirsin.. 3 hatta da seri olarak 256 taneye kadar 74165 ya da 74166 bağlayabilirsin.. Ancak fazla giriş istersen clock, latch akımlarında ve 74165-74166 ların besleme akımlarında sorunun olabilir bi ihtimal.. Ya da clock ve latch hattı uzayacağından hızda sorunun olabilir..

Neyse karışık görünmesin aklıma gelen olasılıkları saymak istedim sadece.. :) Kolay gelsin..
 

ULAGA

Üye
Katılım
9 Ocak 2012
Mesajlar
589
Puanları
1
3 hatta da seri olarak 256 taneye kadar 74165 ya da 74166 bağlayabilirsin.. Ancak fazla giriş istersen clock, latch akımlarında ve 74165-74166 ların besleme akımlarında sorunun olabilir bi ihtimal.. Ya da clock ve latch hattı uzayacağından hızda sorunun olabilir..

Bu şekilde olmaz demiyorum, olur.
Ancak koca bir board üzerine IC kurmuş olur. :)
Hayırlısı bakalım...
 

Yeni mesajlar

Forum istatistikleri

Konular
122,298
Mesajlar
862,850
Kullanıcılar
438,904
Son üye
Muhammedter

Yeni konular

Çevrimiçi üyeler

Üst