1x16 LCD 8 Karekterden fazla Göstermiyor

Başlatan huseyin117, 06 Ağustos 2009, 13:50:11

huseyin117

Herkeze öncelikle merhabalar;
PİC Proton IDE de hazırladığım bir programda LCD hatası yaşıyorum.
Programda 1X16 LCD kullandım. Simule edildiğinde problem yok. Pic'e yüklendiğinde ve test edildiğinde yatay şütunda soldan sağa 8 karekter gözüküyor. Geri kalan yok. Yaptığımız testlerde 2X16 da problemsiz çalışıyor. Ama 1x16 ya takıldığında 8 karekterden fazla göstermiyor. Çok saçma bir problem. Büyük ihtimal çok basit bir problem onuda ben gözüme takılıp görmüyorum yada bilgim yok.
LCD Tanıtırken Buşekilde tanıtıyorum.
Alıntı YapDECLARE      LCD_LINES 1        ' LCD Satır
DECLARE      LCD_DTPIN PORTB.0  ' LCD Data Pin
DECLARE      LCD_INTERFACE 4    ' LCD Data Pin Sayısı 4   
DECLARE     LCD_RSPIN PORTB.4  ' LCD RS Pin
DECLARE      LCD_ENPIN PORTA.3  ' LCD EN Pin
'R/W pin GND
LCD'ye bilgi yazarken
Alıntı YapPrint at 1,1, " TEST 123456 "

Okan AKÇA

lcd de sorun olmasın isisde yazılımını dene

huseyin117

isis de denedim çalışıyor. LCD de problem yok. benim yazmadığım başka bir yazılımda düzgün çalışıyor. Yani Problem %90 Bende :)

Maxim

şöyle deneyin olacaktır .

PRINT AT 1,1, "12345678"
PRINT AT 2,1, "ABCDEFGH"

'This will display: "12345678ABCDEFGH"



http://www.protongeeks.com/index.php?option=com_content&task=view&id=94&Itemid=27

huseyin117

maxiboost abi lcd 1 satır 2 satır değil.  satırda yazının 8 karekteri gözüküyor. Gerikalan yok. iki satır lcd takıldığında problem kalkıyor ama.

Maxim

Alıntı yapılan: "huseyin117"maxiboost abi lcd 1 satır 2 satır değil.  satırda yazının 8 karekteri gözüküyor. Gerikalan yok. iki satır lcd takıldığında problem kalkıyor ama.

biliyorum, lcd 1x16 karakter

sen bu şekilde denermisin ? (devre üzerinde ama)

PRINT AT 1,1, "12345678"
PRINT AT 2,1, "ABCDEFGH"

elt42at

Aynı sorun ile karşılaşmıştım.

ilk 8 sütunun adresi 0X80 den başlarken, son 8 sütun 0xC0 adresinden başlıyordu.

huseyin117

Alıntı yapılan: "elt42at"Aynı sorun ile karşılaşmıştım.

ilk 8 sütunun adresi 0X80 den başlarken, son 8 sütun 0xC0 adresinden başlıyordu.
Peki Nasıl Çözmüştün abi.

huseyin117

Alıntı yapılan: "maxiboost"
Alıntı yapılan: "huseyin117"maxiboost abi lcd 1 satır 2 satır değil.  satırda yazının 8 karekteri gözüküyor. Gerikalan yok. iki satır lcd takıldığında problem kalkıyor ama.

biliyorum, lcd 1x16 karakter

sen bu şekilde denermisin ? (devre üzerinde ama)

PRINT AT 1,1, "12345678"
PRINT AT 2,1, "ABCDEFGH"
maxiboost budediğini daha önce denedim 2x16 da normal çalışıyor. 1x16 olduğunda gene aynı problem var.

Maxim

Alıntı yapılan: "huseyin117"
Alıntı yapılan: "maxiboost"
Alıntı yapılan: "huseyin117"maxiboost abi lcd 1 satır 2 satır değil.  satırda yazının 8 karekteri gözüküyor. Gerikalan yok. iki satır lcd takıldığında problem kalkıyor ama.

biliyorum, lcd 1x16 karakter

sen bu şekilde denermisin ? (devre üzerinde ama)

PRINT AT 1,1, "12345678"
PRINT AT 2,1, "ABCDEFGH"
maxiboost budediğini daha önce denedim 2x16 da normal çalışıyor. 1x16 olduğunda gene aynı problem var.

son kez yazıyorum ,
eğer benim söylediğimi anladıysan tamam mesele yok ama sanki anlamadın gibi geliyor bana o yüzden yazmak istedim tekrar .

elinde 1 satırlık 16 karakterli lcd var (1x16)
diyorsunki son 8 hanesinde yazı çıkmıyor ..ok ?

ama diyorsun 2 satırlık lcd takıyorum çıkıyor ? tamam..


ama adam yukarıda verdiğim linkte demişki ;
eğer 1x16 karakterli lcdniz varsa ve son 8 hanesinde yazı çıkmıyorsa böyle yapın "çıkar" ..

lcd tanımlarını 1 satır olarak belirtin normal olarak ,
DECLARE LCD_LINES 1

ve yazınızı sanki 2. satıra yazıyormuşsunuz gibi yazın !
PRINT AT 1,1, "12345678"
PRINT AT 2,1, "ABCDEFGH"
aynı böyle ..

1x16 ekranınızda "12345678ABCDEFGH" yazması lazımdır diyor adam.


tekrar yazıyorum, bunu aynen böyle denediysen tamam o zaman,
aklıma başka bir çözüm gelmiyor ,
kolay gele

huseyin117

maxiboost abi tamam dediklerini anladım. daha önce denemiştim olmamıştı ama dediklerini harfiyen uygulayarak tekrar deniyecem bu akşam bakalım inşallah olur. Emeğine sağlık. teşekür ederim yardımcı olduğun için.

Murat Mert

Alıntı yapılan: "huseyin117"maxiboost abi tamam dediklerini anladım. daha önce denemiştim olmamıştı ama dediklerini harfiyen uygulayarak tekrar deniyecem bu akşam bakalım inşallah olur. Emeğine sağlık. teşekür ederim yardımcı olduğun için.

S.A.
Sn Hüseyin
elimdeki tek satır lcd var deneme kartında 2 satır lcd için yazılmış kodu denedim 1. satıda hiçbir problem olmadan yazılar çıktı. Deneme için bir menü sistemi oluşturdum çalışıyor. Büyük bir ihtimalle lcd de problem var. Benim elimdeki lcd nin modeli PVC160101P. Kolay gelsin.
mert07

Fabrisio

Arkadaşım, lcd de problem falan yok. Aynı şey benimde başıma geldi.

Sen satır tanımlamalarında LCD yi 2 satır olarak tanımlıyacaksın. İlk 8 karakter için 1. satıra yazıcaksın, ikinci 8 karakteri de ikinci satıra yazıcaksın. 1*16 ların karakter dizilimi için kullandığı ddram in adreslemesi biraz farklı

Tek satır 1*16 LCD ler için geçerlidir

DEFINE LCD_LINES 2   'LCD 9. karakteri 2. satır gibi algılıyor.

LCDOUT,$FE,1,"xxxxxxxx"   'Buraya ilk 8 karakteri giriyoruz
LCDOUT,$FE,$C0,"xxxxxxxx"   'Burayada ikinci 8 karakter giriyoruz.

Bu Pic Basic kodları. Protona sen çevirirsin artık.

Hepsi bu kadar

askuzucu

arkadaşların dediği gibi yapın.ben de kullandım daha önce.o lcd ler 1*16 şeklinde olmasına rağmen aslında  2*8 lik lcd dir.

Maxim

bende hemen hatamı düzelteyim ,

1x16 lcd için DECLARE LCD_LINES 1 değilde

DECLARE LCD_LINES 2 yazmamız lazım  ;)