16f628 ile LCD Ekrana İsim Yazdıramıyorum

Başlatan fukujikiche, 17 Mayıs 2015, 19:10:02

fukujikiche

 16f628 ile lcd ekrana isim yazdırmaya çalıştım proteusta çalıştırdım ama devreyi kurduğumda lcd ekranın sadece ışığı yanıyor ve hiçbir yazı gelmiyor
resimlerle size de göstermeye çalıştım.
[image]http://i.hizliresim.com/LaZ0ja.png[/image]   

pic kodlamasını aşağıdaki gibi yaptım
#include <16F628.h>
#use delay (clock=4000000)
#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>
#fuses NOWDT,NOLVP,NOMCLR,NOPROTECT,XT,INTRC

void main ( )
{
   set_tris_b(0x00);   // B portu komple çıkış
   lcd_init();   // LCD hazırlanıyor
delay_ms(100);
   
  while(1){
      printf(lcd_putc,"\fCCS C"); // LCD'ye veri gönderiliyor.
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\n     Derleyicisi");
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\fYIGIT"); //
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\n    ERBAK"); //
      delay_ms(1000); // 1 sn gecikme
    

   }
}


deney bord resimleri
http://i.hizliresim.com/og0lDq.jpg    enerjiyi 9v luk bir adaptörden aldım sol taraftaki 10k pota 1kohm lık direnç bağladıktan sonra enerjiyi 5volta düşürdüm
http://i.hizliresim.com/b5kRJ0.jpg

http://i.hizliresim.com/qYjnW3.jpg
http://i.hizliresim.com/a5dR1O.jpg   burada lcd ekranını göstermeye çalıştım lcd ekranının ışığı geliyor ama kotrast ayarı için 10k lık potu her iki yöne çevirdiğimde ışıkta sönme ve artma oluyor ama hiçbir yazı gelmiyor

aklıma şu sorular geldi
pic e ayrıca kristal ve kondansatör bağlamadım, kendi içindeki osc yi kullanmak istedim eğer bağlamak istersem kodda ve proteusta ne gibi değişiklikler yapmam gerekir?
birde ilk bağlamamda voltajı 5volttan biraz 6-7 volt kadar yukarı çektiğimde oldu, pic veya lcd de bozulma olabilir mi? sizce ne gibi sorunlar var nerede hata yaptım. daha yeni pic konusunda ilgilendiğim için acemiyim bana yardımcı olabilir misiniz?

ahmetbudak

#1
ilk etapta aklıma gelen; kristal  kullanmadığın için

#fuses NOWDT,NOLVP,NOMCLR,NOPROTECT,XT,INTRC

şeklinde yazdığın sigorta ayarlarını 

#Fuses  NOWDT,NOPUT,INTRC_IO,MCLR,NOBROWNOUT,NOLVP,NOCPD,NOPROTECT 
şeklinde değişmen gerek

ayrıca MCLR Pinini 5 volta bağla

zamzam23

devreye bir tane led ekleyin. yakıp söndürün. sonra lcd ye geçin. bundan sonraki devre denemelerinizde de bir led mutlaka olsun. hata yakalamada bire bir

fukujikiche

#3
cevaplarınız için çok teşekür ederim daha acemi olduğumdan yeni yeni öğreniyorum bunlar bana ders oluyor.
bir sorum var MCLR pinini 5volta direnç üzerinden mi bağlamam gerek?

şu anda denedim pici tekrar #fuses ayarlarını düzelttim ve MCLR bacağını direk 5V a bağladım ama durum aynı ekran çalışıyor yazılar gelmiyor

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

fukujikiche

Evet orada gndye almıştım sonradan değiştirmeyi unutmuşum şimdi değiştirdim ama yine aynı değişen bir şey yok.

ahmetbudak

Reset butonu kullanacaksan 10k direnc uzerinden 5 volta bagla. Birde pic ile lcd arasi baglantilarinin dogrulugunu kontrol et. Yani lcd.c dosyasinda lcd pinleri ile pic in pinleri nasil olmasi gerekiyorsa oyle yap.

mehmet

Alıntı yapılan: fukujikiche - 17 Mayıs 2015, 21:06:52
Evet orada gndye almıştım sonradan değiştirmeyi unutmuşum şimdi değiştirdim ama yine aynı değişen bir şey yok.
Ya kontrast ayarı çalışıyor mu?
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQw71F1rRcLc6F7IBlnltfpo-_LZGqcuQW3gm5fSxm0Z_YTBXH4
Boyle kareler görüyor musunuz?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Recep METE

Tamamen donanım hatası.Kodlarda bir sorun yok.Zaten isiste çalıştığını söylemişsin.Ya breadboarda bir sorun , ya da tellerde bir temazsızlık veya şase var.Çalışana kadar sök tak arkadaşım.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

RaMu

Alıntı yapılan: fukujikiche - 17 Mayıs 2015, 19:10:02
deney bord resimleri
http://i.hizliresim.com/og0lDq.jpg    enerjiyi 9v luk bir adaptörden aldım sol taraftaki 10k pota 1kohm lık direnç bağladıktan sonra enerjiyi 5volta düşürdüm
Enteresan yöntem,
dahada enteresanı kimse buna değinmemiş.

  Bu konuyu baştan sona oku
https://www.picproje.org/index.php/topic,56030.0.html

Boardla ve güç kaynağınla ilgili temel problemleri en başta çözmelisin
yoksa o konuda olduğu gibi
problemin en son güç kaynağından olduğunu bulursun.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

bbs2006

#include<lcd420.c> bunu programa ekle oncekiyle degistir

fukujikiche

#11
Herkese merhaba;

öncelikle cevaplarınız için çok teşekür ederim
uzun zaman oldu farkındayım dersler ve başka durumlardan dolayı bir süredir yarım bıraktım bu lcd uygulamasını
Alıntı yapılan: RaMu - 17 Mayıs 2015, 23:13:06
Enteresan yöntem,
dahada enteresanı kimse buna değinmemiş.

  Bu konuyu baştan sona oku
https://www.picproje.org/index.php/topic,56030.0.html

Boardla ve güç kaynağınla ilgili temel problemleri en başta çözmelisin
yoksa o konuda olduğu gibi
problemin en son güç kaynağından olduğunu bulursun.
(Resim gizlendi görmek için tıklayın.)
evet RaMu hocam verdiğiniz konuyu okudum ve bağlantı şekillerini söylediğiniz gibi yaptım
Alıntı yapılan: mehmet - 17 Mayıs 2015, 22:00:07
Ya kontrast ayarı çalışıyor mu?
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQw71F1rRcLc6F7IBlnltfpo-_LZGqcuQW3gm5fSxm0Z_YTBXH4
Boyle kareler görüyor musunuz?
evet mehmet hocam 10K lık potla konstrat ayarını yaptıktan sonra üst satırda kareler görüyorum alt satırda yok malesef. Potu yavaşça diğer tarafa çevirdiğimde yazılar gelmiyor sadece kareler kayboluyor.

pic 16f628a nın ccs kodu son hali bu ve yeni bir lcd aldım PCB-TC1602D V2.0 yazıyor üstünde, beslemeyide 9V pille 7805 üzerinden 5V düşürerek yapıyorum
#include <16F628.h>
#use delay (clock=4000000)
#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>
#Fuses  NOWDT,NOPUT,INTRC_IO,NOMCLR,NOBROWNOUT,NOLVP,NOCPD,NOPROTECT

void main ( )
{
   
    set_tris_b(0x00);   // B portu komple çıkış

   lcd_init();   // LCD hazırlanıyor
delay_ms(100);
   
  while(1){

   
      
      printf(lcd_putc,"\fCCS C"); // LCD'ye veri gönderiliyor.
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\n     Derleyicisi");
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\fYIGIT"); // 
      delay_ms(1000); // 1 sn gecikme
      printf(lcd_putc,"\n    ERBAK"); // 
      delay_ms(1000); // 1 sn gecikme
    

   }
}

az önce tekrar denedim lcd de görülen kareler daha soluk bir hal aldı nerdeyse görünmüycek kadar

mehmet

LCD için kullandığınız pinleri ayrıntılı yazabilir misiniz?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

sifirzero

kardeşim boşta kalan data uçlarını d0 d1 d2 d3 pinlerini notr bağla.ve mclr ucuna 10 k direnle +5v ver.kontrast ayarlarını pot bağlama.direk eski ucu eksiye + ucuda + ya ver. birde rw ucunu lcd.c de yazan yere gir.
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

fukujikiche

Alıntı yapılan: mehmet - 08 Haziran 2015, 09:27:40
LCD için kullandığınız pinleri ayrıntılı yazabilir misiniz?

mehmet hocam bağlantı şekli
ayrıca lcd pin uçları

Alıntı yapılan: sene35 - 08 Haziran 2015, 11:10:13
kardeşim boşta kalan data uçlarını d0 d1 d2 d3 pinlerini notr bağla.ve mclr ucuna 10 k direnle +5v ver.kontrast ayarlarını pot bağlama.direk eski ucu eksiye + ucuda + ya ver. birde rw ucunu lcd.c de yazan yere gir.
MCLR ucunu fuses komutuyla ayarladım, kontrast ucunu direk eksi uca bağlayıp denemiştim, birtek boştaki pinleri - ye vermemiştim onuda denedim sonuç aynı