Lcd data portu hakkinda

Başlatan ~ENES~, 04 Ağustos 2016, 20:02:20

~ENES~

Arkadaslar merhaba .. Elime bir kontrol karti geldi kombi kontrol ediyor .. Kartta grafik lcd kullanmislar fakat aklima takilan bir nokta oldu incelerken grafik ekranin data portu pice ters bagli .. Yani picin D0 pini lcd nin D7 pinine gidiyor ve siralama bu sekilde devam ediyor ..bunu nasil yapmis olabilirler ? Yani bildigim kadariyla data portu sabit ve sirayla bagli olmasi gerek .. En azindan protonda bu sekilde .. Bu konuda bir tecrubesi ve fikri olan arkadaslardan fikir bekliyorum ..
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

ete

Aslında kullanılması zor değil. Önce verilecek bilginin bitlerini yer değiştirirsin sonra porta verirsin olur biter. Basic de REV x komutu bu işi yapabiliyor. Kaç biti yer değitirecek isen x yerine o rakamı yazıyorsun bitler yer değiştiriyor.

Ete

~ENES~

Hocam rev komutu belirlenen pinleri mi ters ceviriyor tam cozemedim .. Şöyle ki mesela ben yazilimda ekran ve pic baglantilarini bire bir yaptim (d0-d0 a d7-d7 ye bagli) ama kart uzerinde data uclarini tam tersine bagladim ..
Yazilimda print at 1,1,"merhaba" yazdirdim rev komutunu print komutuna nasil uyarlayabiliriz ki ? Sonucta programin basinda data portu portd ye bagli diye bir declare satiri var ve pin secemiyoruz program otomatik atiyor .. Bu konuda nasil bir yol izlemeliyim sizce ?
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

ete

Rev komutu değişken değerine ait bitlerin yerini değiştirir. Pinlere bir şey yapmaz.
A=%11000000 ise B=A rev 8 komutu ile B=%00000011 değerini alır.
Ete

~ENES~

Hocam basicde kural sanirim bu lcd nin data pinleri sabit olacak ters baglanti yapamiyoruz .. Sizce bu lcd data pinlerini degiştirmenin baska yolu yokmu ?
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

ete

Sözkonusu kural bildiğim kadarı ile karekter lcd ler için geçerli. Grafikler için en azından pbp da bir lural yok. Önemli olan datanın doğru biçimde lcd ye ulaştırılmasıdır.
Aslında kuralında ana sebebi 8 bitlik bilginin iki bölüme ayrılarak 4 bit +4bit şeklinde veriliyor olmasıdır. Bu durumda 4 bit, bir birini takip eden ve 8 bitlik portun ya başından yada ortasından başlayan biçimde verilmesi gerekirki lcd nin kontrolcüsü bunu hatasız olarak alıp kendi içinde bitleri birleştirebilsin.
Karışık data bitleri kullanmanın yolu elbette var. Lcd nin data sheetini okuyarak lcdout komutlarını kullanmadan yalnızca register komutları ile kullanmak. Yada karışık bağlanmış lcd bitlerine senin örneğinde olduğu gibi bitlerin yerini değişken üzerinde değiştirerek vermek.
Basit bir örnek vereyim.
Normal bağlantıda porta.0 dan başlayarak 4 bit lik data pini bağlantısı yapıldığında bu lcd ye verilmesi gereken %100111011 bilgisi, önce %1001 ve ardından %11011 şeklinde verilir.
Diyelimki porta.0 dan porta.3 e kadar olan data bitlerini sıralı değilde karışık bağladık. Yani
D0 =>porta.0 da değil de porta.1 de olsun bu durumda data bilgisi verilirken %1001 bilgisi önce %0101 şekline çevrilip verilmeli ardından %11011 bilgiside %11011 olarak verilmelidir. İkinci parçada değişiklik yok çünkü değişmiş hali ile değişmemiş hali aynıdır.
Akılda sınır yok daha değişik kombinasyonlarda yaratılabilir. Kendine eziyet etmek istiyorsan daha zor kombinasyonlarda yaratabilirsin.
Ete

Powered by EzPortal