Merhaba arkadaşlar, pic 16F84A + 2x16 LCD(HD44780) kullanıyorum. HI-TECH'in kendi delay,lcd,pic vs include dosyalarını kullanıyorum. PIC--LCD RB0--11(D4) RB1--12(D5) RB2--13(D6) RB3--14(D7) RA2--4(RS) RA3--6(E) LCD : 1(Vss)--GND 5(R/W)--GND Beslemeler vs tamam. Aşagıdaki kodu yuklesem de ekranda sadece ust satır komple yanıyor. Sonra başka bişey yazmıyor.Bir arkadaşım reset olmuyor diyor.Sorun nerede?HI-TECH'ın lcd.c dosyası ya da DelayUs ve DelayMs fonksiyonları mı düzgün çalışmıyor?
Şimdilik sadece ekrana Temp= yazdırmak istiyorum bunu bile yapmıyor.Daha ileride sıcaklık ölçüp yazdıracam:)
bu dosyaları include klasörünün içine kopyaladın mı?
bir de lcd_init() ten sonra DelayMs(100) koyarsan iyi olur.
ayrıca programın bu halinde stdio.h dosyasına ihtiyaç yok ama "Temp= " yazısının yanına sıcaklık değerini ekleyeceğin zaman ihtiyacın olacak.
quote:
Orjinalden alıntı: psiko
lcd.c lcd.h delay.c delay.h
bu dosyaları include klasörünün içine kopyaladın mı?
bir de lcd_init() ten sonra DelayMs(100) koyarsan iyi olur.
ayrıca programın bu halinde stdio.h dosyasına ihtiyaç yok ama "Temp= " yazısının yanına sıcaklık değerini ekleyeceğin zaman ihtiyacın olacak.
O dosyalar zaten include içinde olmasa zaten derleyici bulamadım diye hata veriyor...
quote:
Orijinalden alıntı: trigger
quote:
Orjinalden alıntı: psiko
lcd.c lcd.h delay.c delay.h
bu dosyaları include klasörünün içine kopyaladın mı?
bir de lcd_init() ten sonra DelayMs(100) koyarsan iyi olur.
ayrıca programın bu halinde stdio.h dosyasına ihtiyaç yok ama "Temp= " yazısının yanına sıcaklık değerini ekleyeceğin zaman ihtiyacın olacak.
O dosyalar zaten include içinde olmasa zaten derleyici bulamadım diye hata veriyor...
Alıntıları Göster
Bir de netten şunu öğrendim.Galiba bu LCDnin üst satırının komple yanması test ekranıymış.lcd_init()ten sonra delay koyacagım deneyeceğim...
quote:
Orijinalden alıntı: trigger
Bir de netten şunu öğrendim.Galiba bu LCDnin üst satırının komple yanması test ekranıymış.lcd_init()ten sonra delay koyacagım deneyeceğim...
Alıntıları Göster
yani derleyici hata vermiyor. normal derleniyor ama devre çalımıyor öyle mi. o zaman yukarda dediğim gibi lcd_init() den sonra dleay koy 100ms. öyle bir dene bakalım olacak mı...
quote:
Orijinalden alıntı: psiko
yani derleyici hata vermiyor. normal derleniyor ama devre çalımıyor öyle mi. o zaman yukarda dediğim gibi lcd_init() den sonra dleay koy 100ms. öyle bir dene bakalım olacak mı...
Alıntıları Göster
İnternette aynı tür sorunu olan bayagı bir kişi var.Onlar da sorunlarına yanıt alamamışlar.Üst satır komple blok halinde çalışıyor.Alt satır boş.Galiba bu tipik bir lcd test ekranıymış.Galiba lcd_init() oluyo ama lcd_clear() çalışmıyor.Arada 100 ms delay koydum yine olmadı.Ne yapmak lazım lcd.c deki delayleri mi değiştirecez?Bunu da denedim bazılarını arttırdım biraz yine bişey değişmedi.
quote:
Orijinalden alıntı: trigger
İnternette aynı tür sorunu olan bayagı bir kişi var.Onlar da sorunlarına yanıt alamamışlar.Üst satır komple blok halinde çalışıyor.Alt satır boş.Galiba bu tipik bir lcd test ekranıymış.Galiba lcd_init() oluyo ama lcd_clear() çalışmıyor.Arada 100 ms delay koydum yine olmadı.Ne yapmak lazım lcd.c deki delayleri mi değiştirecez?Bunu da denedim bazılarını arttırdım biraz yine bişey değişmedi.
Alıntıları Göster
"Üst satır komple blok halinde çalışıyor" ne demek tam anlayamadım. üst satırda ne gözüküyor?
quote:
Orijinalden alıntı: psiko
"Üst satır komple blok halinde çalışıyor" ne demek tam anlayamadım. üst satırda ne gözüküyor?
bir de clear'dan sonra 5ms delay koymayı dene istersen.
quote:
Orijinalden alıntı: psiko
bir de clear'dan sonra 5ms delay koymayı dene istersen.
Alıntıları Göster
lcd.c dosyasında var zaten cleardan sonra 2ms delay ayrıca kullanmaya gerek var mıdır?
quote:
Orijinalden alıntı: trigger
lcd.c dosyasında var zaten cleardan sonra 2ms delay ayrıca kullanmaya gerek var mıdır?
Alıntıları Göster
evet doğru. kendi içinde zaten 2ms bekleme var.
quote:
Orijinalden alıntı: psiko
evet doğru. kendi içinde zaten 2ms bekleme var.
Alıntıları Göster
Birde şöyle bir deneme yaptınmı borda kurulan devrelerde bazen temas sorunu yüzünden işlemci hiç çalışmıyor. Ve hatayı yazılımda arıyoruz genelde. PIC e lcd programını değilde basit bir ledi yakıp söndüren bir program yazıp borda kurduğun donanımın sağlıklı çalıştığını test etmeni tavsiye ederim.
quote:
Orijinalden alıntı: rafet32
Birde şöyle bir deneme yaptınmı borda kurulan devrelerde bazen temas sorunu yüzünden işlemci hiç çalışmıyor. Ve hatayı yazılımda arıyoruz genelde. PIC e lcd programını değilde basit bir ledi yakıp söndüren bir program yazıp borda kurduğun donanımın sağlıklı çalıştığını test etmeni tavsiye ederim.
trigger senin karşılaştığın sorunun aynısıyla ben de karşılaştım maalesef. devreyi kurdum ve üst satır verdiğin linkteki gibi koyu gözüküyor. neden böyle birşey oluyor acaba? acaba sorun breadboard kullanmamız olabilir mi???