Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Assembly ile Grafik LCD

Başlatan camby, 21 Nisan 2010, 01:56:22

camby

Assembly inadım grafik lcd'de de devam ediyor..

Öncelikle sorayım grafik LCD'yi assembly ile kullanan var mıdır? Varsa nasıl yapmaktadırlar ana hatlarıyla algoritmadan bahsedebilir misiniz?

Karıştırdığım kadarıyla Grafik LCD kullanımda MCU içindeki RAM hafızası önemli bir faktör oluyor.

Piyasada Satır LCD kullanıma dair bolca örnek var fakat GRAFİK LCD ile ilgili çalışmalar C driverlarından/kütüphanelerinden oluşuyor gibi.

320*240 'lık bir LCD 'de 76800 piksel oluyor ve GLCD deki şekil her değişmesi gerektiğinde bu 76800 pikseli yani 76800 biti baştan göndermem mi gerekiyor?  Bunu da saniye de kaç kez yapıyorsam tazeleme frekansım o oluyor.

Ekranın bir köşesine kare çizmek istesem , sadece o bölgedeki piksellerin değerini 1 yapsam , mesela 256 piksel/bit göndersem/yenilesem olmaz mı?


Tagli

Bu konuda benim de hiç deneyimim yok. Gidip bir 128*64 alıp kurcalamaya başlayayım. Ama sanırım bu işi 18 serisi bir PIC ile yapsak işimiz daha kolay olur.

Ancak GLCD'yi almadan önce de uğraşan arkadaşlara bir sorum olacak: Bu cihazlar bildiğim kadarıyla karakter LCD'ler kadar standart değil ve farklı versiyonları var. Piyasada karşılaşacağımız GLCD'ler arasında ne gibi farklılıklar görebiliriz? Komut setleri falan mı farklıdır?
Gökçe Tağlıoğlu

SERRO EFE

#2
128*64 grafiklerin geneli ks0108 çiplidir. 128*64 lerde 2 çip vardır. biri ekranın ilk yarısını 64*64 kısmını diğeride ikinci yarısını kontrol eder. cs1 cs2 pinperi sayesinde(chip select)  ks0108 içinde bi karakter ramı yoktur.genel bi ram vardır taramayı kendi yapar.size sadece pixele veri yazmak kalır. daha büyükler ise T6963C çiplidir. t6963 ise içinde 2 font seçeneği var(bildiğim kadarıyla). daha büyük fontları kendimiz mcu içinde oluşturup göstereceğimiz zaman lcd nin ilgili pixeline yazıp görürüz tarama işlemini kendi yapar. bunlar için pbp yada c de yazılmış çok örnek bulursunuz.
lcd almadan önce
http://www.dinceraydin.com/djgfxlcdsim/djgfxlcdsim.html linkte simulatör var.

papylon

Pixel lerin tamamını işlemenize gerek yok.
GLCD, dikey 8 pixel olarak çalışır, siz gerekli adrese (0x00....0x63 ) 1Byte bilgi gönderirsiniz ve gönderdiğiniz datanın içindeki 1'ler GLCD'nin ilgili adresinde ki 8 dikey pixeli aktif yapar.
Kabaca matığı bu şekilde...

Logan

320x240 grafik lcd'ler üzerinde SED1305 işlemcisi vardır. Yatay tarama mantığı ile çalışır. Üzerinde 9600 adet grafik registeri, 1200 adet karakter registeri vardır. Karakter değişkenleri 0 ile 1199 arası, grafik değişkenleri ise 1200-10800 adresleri arasında yer alır. Eğer sen 1199 nolu adrese 0x31 yazarsan ekranın sağ alt köşesinde yanılmıyorsam "1" rakamını görürsün. Fakat aynı değeri 1200 nolu adrese yazarsan ekranın sol üst köşesinde sırasıyla 00110001 pixellerinin yandığını görürsün. Ekranı sürekli olarak yenilemen gerekmiyor. Sadece değiştirmek istediğin kısmı adres bilgisi girerek değiştirebilirsin. Ayrıca hiçbir grafik veya text lcd'de bit kontrolü yapılmaz. İşin içinden çıkamazsın. Eğer sadece o biti değiştirmek istiyorsan ilgili registeri bulup, o bite or veya and işlemi uygulaman gerekir. Buradan devam edebilirsin, bu link işini görür.

https://www.picproje.org/index.php/topic,17381.0.html
İmza.

downloaded

biraz konu hortlatma gibi olacakta dostum sen bu işi başardınmı? yani assembly ile grafik lcd sürmekten bahsediyorum. ben bi kaç zamandır uğraşıyorum, simülasyonda paşa gibi çalışan kod, gel görki gerçekte hareket almıyor. bendeki lcd'nin işlemcisi ks0108, bu çipi kullanan bütün ekran datasheetlerine göre pinleri denedim ve sonuç hüsran. anlayacağınız epey keyifsizim... bu konuda bir bilgisi olan varsa, bütün fikirlere açığım.

saygılarımla

Mujdat117

MERHABA 320X240 GLCD İLE ÇALIMADIM FAKAT 128X64 GLCD İLE ASM KODLARIYLA ÖRNEK YAPTIM HATTA BU SİTEDEDE YAYINLADI ARTI KONVERT PROGRAMI YAZDIM AŞAĞIDAKİ LİNKLERDEN ULAŞABLİRSİNİZ UMARIM FAYDASINI GÖRÜRSÜNÜZ.
https://www.picproje.org/index.php/topic,34714.0.html
https://www.picproje.org/index.php/topic,34937.0.html
VİDE GÖRÜNTÜLERİNİN OLDUĞU DİĞER LİNKLER
http://www.mcu-turkey.com/?p=14322
http://www.mcu-turkey.com/?p=15724
Ayinesi iştir kişinin lâfa bakılmaz.Şahsın görünür rütbe-i aklı eserinde

mehmet20

Merhaba arkadalar bir konuda yardımınızı isticem,

TG12864B lcd sürmeye çalışıyorum ve ekranda piksel kaymaları oluyor, 4 mhz kristal kullandım ama olmadı,
datasheet inde birşey dikkatimi çekti cycle ve clock hızı... Clock hızını ayarlamam lazım sanırım bunu CCS-S de sürücüden neyi değiştirmem  gerekiyor.

1/64 duty cycle, 1/9 Bias
Viewing angle: 6 o'clock

Kabil ATICI

Alıntı yapılan: mehmet20 - 03 Eylül 2013, 20:53:14
Merhaba arkadalar bir konuda yardımınızı isticem,

TG12864B lcd sürmeye çalışıyorum ve ekranda piksel kaymaları oluyor, 4 mhz kristal kullandım ama olmadı,
datasheet inde birşey dikkatimi çekti cycle ve clock hızı... Clock hızını ayarlamam lazım sanırım bunu CCS-S de sürücüden neyi değiştirmem  gerekiyor.

1/64 duty cycle, 1/9 Bias
Viewing angle: 6 o'clock

Belirtmiş olduğun parametreler doğrudan seninle ilgili değil. Bunlan LCD'rin tasarımı ile ilgili parametreler.
ilk satırdakiler ekran taraması (lcd içindeki kontroller tarafından kontrol edilir), ikincisi sen ekrana dik olarak baktığından hangi açıya kadar görebildiğin ile ilgilidir.

Ekrandaki piksellerin kaymasının belirli bir mantığı vardır Ya piksel sayısını fazla vermişsindir veya eksik.
Tümünü birden göstermeye çalışacağını önce birinci satırdan başla. Sonra diğerlerine geç.
ambar7