2x16 lcd ekrana gelen verileri okumak.

Başlatan Elektronikprojem, 30 Mart 2018, 20:34:59

Elektronikprojem

Herkese merhaba. Elimde bir adet uv baski makinesi bulunmakta. Makine uzerinde 10 a yakin buton ve 1 adet lcd ekran var. Lcd de sistemin calisma durumlari y ekseninde ne kadar hareket ettigi x ekseninde ne kadar hareket ettigi vs vs yazan durumlar oluyor. Ben bu makinayi kontrol kartini ellemeden ekran ve buton kartini revize edip 1 tane 7 inc nextion ekran kullarak calismasina devam ettirmek istiyorum. Makina uzerindeki lcd sisteme 4 bit bagli. Bu lcd ye gelen bilgileri okuma sansim var midir.
Yardimlariniz icin tesekkurler.

ete

Elbette olabilir imkansız diye bir şey yok da nasıl yapacağın tamamen ekranın haberleşme sistemine bağlıdır.
Sistemin çalışabilirliğini kabetmemesi açısından araya bir devre yapılıp ekran yerine o ara devre bilgileri alıp kendi üzerinden yeniden ekrana verebileceği gibi hat kuvvetlendirici veya buffer gibi bir entegre ile gelen bilgi kuvvetlendirildikten sonra 2 hatta ayrılıp biri ekrana diğeri kendi devrene verilebilir. Epeyce uğraştırıcı bir iş olduğunu baştan söyleyeyim. Başarı oranı tamamen senin beceri gücüne bağlı.

Ete

Elektronikprojem

Hocam ekran iptal edilecek gelen bilgileri ben devre üzerinde okuyup uart ile dokunmatik ekrana arayüz oluşturup vereceğim.
yada lcd yi iptal etmeden rw pininden okuma yapanbilir miyim acaba

ete

#3
Bu  iş için LCD nin RW pini Pic' bağlanmalı define tanımlarında bu bağlantı yer almalı.
Ardından kullanılacak komut
LCDIN Adres,[Değişken,varsa başka değişkenler sıralanabilir aralarına virgül koyularak)

Bu komut LCD Hafızasından verilen adresdeki veriyi okur ve değişkene yerleştirir. Yanına başka değişkenler yazılır ise değişken adedi kadar hafıza adresi sırası ile okunarak değişkene yerleştirilir.

Komut açıklamasında, LCD hafızası (RAM) $40 adresinden $7F adresine kadar olduğunu ve karekterlerinde $80 den itibaren yerleştirildiğini yazıyor. Zaten ekrana yazarken aslında yine adres verip yazıyoruz. Birinci satır için $80 adresini kullanıyoruz o halde okunurken de aynı adresi verip okuyabiliriz.
İkinci satır için $C0 adresini veriyoruz okurken de aynı adresi verip 16 adet bilgi okunabilir.
Hemen anlaşılacağı üzere okunacak bilgiler karekterlerin ASCII kodlarıdır. Mesela A harfi için desimal 65 okunacaktır.
Hızlı okuma için bir döngü kullanılabilir 0-15 aralığında kurulacak döngü ile şöyle okuma yapılabilir.
FOR Index=0 to 15
LCDIN $80+I,[VERI(I))
Next
daha önce VERI isimli bir dizi değişkeni tanımlanmalı böylece okuma sonunda bütün satır VERI isimli değişkenin indexlenmiş adreslerine kayıt edilmiş olacaktır. Geriye bunları ne yapacak isen artı onu yapmak kalıyor.

Ete


Elektronikprojem

Sagolun hocam dediklerinizi bi deneyecegim.

Powered by EzPortal