16f84 ile LCD 2x16 sınav sorusu.

Başlatan oguzerdal, 17 Mayıs 2023, 17:19:02

oguzerdal

ustalar selam. Bir sınav sorusu var. PIC 16F84 ve LCD ile. Basit bir program ama çalıştıran var mı acaba? Pinler Expkits kartına göre ayarlı ama hiç görüntü gelmiyor. Zamanında çözen mutlaka vardır.

Bu eki görüntüleyemezsiniz.

mehmet

Orijinal soruya göre kodunuzu takip
edip hataları düzeltin. Birkaç hata var.
Orijinal şemayı da uygulayın.
Bu şekilde çalışıyor.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr

oguzerdal

Mehmet bey ilginize teşekkürler. Benim kartım ( Expkit ) RS ve E pini B4 ve B5'e bağlı. Data pinleri aynı. Txt dosyası onun için farklı göründü herhalde. Başka hatalı kısım mı gördünüz?

mehmet

Evet gördüm.
RS ve E pinlerini B portu üzerinden
kullanacaksanız;
lcd ye data gönderen blok içinde
değişiklik yapmanız gerekecek.
Hali hazırdaki B4-7 (RS ve E)bitlerini
bir yere kaydedin. Lcd verisinin son
dört bitini silin ve RS-E bitlerinin
bulunduğu değer ile "veya" işlemi
yapın.
Yoksa yine çalışmayacak.
(Assembler bilmiyorum, nasıl yapılır
bir fikrim yok.)
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr

oguzerdal

Mehmet bey ben sadece RS ve E pinlerine giden bilgiyi değiştirdim orijinal metinde. Çünkü kartımın hardware'i gereği zorundayım.Başka da hiç bir yeri ile oynamadım. Siz herhalde aynı h/w i yaptınız. O zaman bana sizde çalışan asm dosyasını gönderin lütfen. Orijinal yazılım çalışıyorsa niye veya nereye VEYA yapayım? son 4 biti neden siliyorum( orijinal metini değiştirmiş olacağız).
    ilgileniyorsunuz çok teşekkür ederim.

mehmet

#5
Öncelikle hatayı kendiniz bulunuz.
Ben çalışan dosyayı verirsem, sizin
çalışmanızın/emeğinizin bir değeri
kalmaz.

B0-3 pineri ile LCD 'ye data yollanıyor.
Ancak LCD fonksiyonunda 8-bit
bilgi yollanıyor. (LCD 'nin nasıl
sürülmesi ile ilgili konuyu yeniden
inceleyin.)
Üst 4-bitin değeri ya sıfır içerir
ya da ilgisiz değerler olur. (Üst 4-bit
RS ve E pinlerine bilgi yolluyor.)
Bu nedenle LCD düzgün çalışmaz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr

oguzerdal

Mehmet bey siz de assembler bilmiyorum diyorsunuz ama bayağı derin bilgi verdiniz. Başka bir asm programı çalıştırmıştım.Biraz öğrendim göya.8 bitlik bilgiyi swap yaparak 4 bit,4 bit  halinde gönderiyor.Ama anlamadığım şey bu bir deney( üstte deney demiş).Hataları bulun cinsinden bir şey değildir. Programda herhangi bir değişiklik yapılmasına gerek yok diye düşünüyorum.Bende ise tek fark B0-B3 -->>D4-D7 olacak ve B4:RS , B5:E olacak. Bunları da yaptım.Zaten ETE beyin Basic örnekleri çalışıyor bu şekilde. Diğer ustalardan da destek bekliyorum. Çalışıyorum...

mehmet

#7
LCD init bloğunu karşılaştırın.

Yazıklarım sadece mantık kısmı, istediğiniz
dile uyarlarsınız.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr

oguzerdal

Değerli ustalar iyi pazarlar. Çıkamadım işin içinden. Değişik örneklere de baktım. 4 bit LCD örneklerine, LCD init doğru sanıyorum ama gözümden kaçan başka yerler var belli. Yok mu hiç ilgilenen yahu ???  :(  Takıldım kaldım.Bu lcd konusu assemblerin en zor konusu bence.

Pepe

esto es lo que debes hacer

oguzerdal

Ooo my goood !!!! who are you ???? really you are spanish ? you helped me from there? I really thank you. I was working on it for weeks.....Its very difficult.

but It's unconscionable! to ask students such a question !!! for me: I'm not at that level.

I thank you so much.

designer.21

Oguzerdal hocam sorun çözüldü galiba : )

Pepe


oguzerdal

I really thank you again. This problem was beyond me. But now, I will study on it quitely.  :) . Its very nice to know that people like you exist.

Pepe

Lo que hice es poner el bit 5 dentro de W en 1 haciendo OR con 0x10 (00010000) y en cero haciendo AND con 0xEF (11101111) de acuerdo al estado que tiene RS sin alterar los otros bits de W para que luego se transfiera al PORTB.

Powered by EzPortal