4x16 LCD de Satır Kayması Oluşuyor

Başlatan ercan_wrc, 13 Mart 2011, 02:55:10

ercan_wrc

Arkadaşlar merhaba daha önce 2x16 bağlı olan deneme kartıma bugün 4x16 lcd ekranımı taktım ve bir proje üzerinde çalışıyorum
Sorun şöyle 1 ve 2 inci satırlar normal yazıyor 3 ve 4 üncü satırda nedense kayma oluşuyor tam olarak 5 satır sonrasından başlıyor
bağlantı şemam ve kodum aşağıda veriyorum bir terslik mi var acaba?
Yardımcı olan arkadaşlara teşekkür ediyorum

Device 16F877A
XTAL 4 'the internal oscilator is 8mhz

ADIN_RES = 10'10 bit resolution
Declare ADIN_TAD FRC'RC OSC chosen
Declare ADIN_STIME 50'allow 50us time

Declare LCD_INTERFACE 4
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
'DECLARE LCD_RWPIN PORTB.2
Declare LCD_RSPIN PORTB.2
Declare LCD_LINES 4

'DEFINE LCD_DREG      PORTB      'LCD data bacaklari hangi porta bagli? portb
'DEFINE LCD_DBIT      PORTB.4      'LCD data bacaklari hangi bitten basliyor? portb.4 den itibaren
'DEFINE LCD_BITS         4      'LCD 4 bit  olarak bağlı
TRISA=255
PORTA=0
TRISC=255
PORTC=0
TRISD=0
PORTD=0


[IMG]http://img263.imageshack.us/img263/2200/yenibitelemresmips.png[/img]


zakbay

print ile ekrana yazdırdığın kodları görmek lazım.

print at 1,1,"bu 1. satir"
print at 2,1,"bu 2. satir"
print at 3,1,"bu 3. satir"
print at 4,1,"bu 4. satir"


şeklinde yazmak gerekir
Tek dostum çalışmak...

eseneren

Device 16F877A
XTAL 4 'the internal oscilator is 8mhz

Burasını anlamadım 877 nın internal osilatoru mu var ?
kullandıgın osılator nedır?
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

ercan_wrc

#3
Alıntı yapılan: zakbay - 13 Mart 2011, 08:56:43
print ile ekrana yazdırdığın kodları görmek lazım.

print at 1,1,"bu 1. satir"
print at 2,1,"bu 2. satir"
print at 3,1,"bu 3. satir"
print at 4,1,"bu 4. satir"


şeklinde yazmak gerekir

hocam aynısını yazıyorum

print at 1,1,"abcdefghijklmnop"
print at 2,1,"abcdefghijklmnop"
print at 3,1,"abcdefghijklmnop"
print at 4,1,"abcdefghijklmnop"


@esenerern
devreye 4mhz crystial bağlı osilatör yok

ercan_wrc

Alıntı yapılan: eseneren - 13 Mart 2011, 12:28:55
Device 16F877A
XTAL 4 'the internal oscilator is 8mhz

Burasını anlamadım 877 nın internal osilatoru mu var ?
kullandıgın osılator nedır?

yok hocam 4mhz crystial bağlı devreye osilator yok

eseneren

print at 1,1,"a"
print at 2,1,"b"
print at 3,1,"c"
print at 4,1,"d"

bunu yazınca ekranda ne goruyorsun ?
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

ercan_wrc

#6
Alıntı yapılan: eseneren - 13 Mart 2011, 15:10:21
print at 1,1,"a"
print at 2,1,"b"
print at 3,1,"c"
print at 4,1,"d"

bunu yazınca ekranda ne goruyorsun ?

Hocam sonuç değişmedi devremde de deniyorum onda da aynısı oldu maalesef :(

hocam şimdi isiste 4x16 yerine birde 4x20 deneyim dedim onu aynışekilde bağladım herşey normal yazıyor :)

[IMG]http://img843.imageshack.us/img843/7599/yenibitelemresmivh.png[/img]

ete

Sonuca bakılırsa 4 satırlık kod lar direk 4x20 karektere göre uyarlanmış ve derlenmiş. 4X16 satır başı adresleri farklı olması gerekiyor. İlk iki satır standart olduğu için yeri şaşmıyor. Ama 3 ve 4. cü satırların yeri LCD nin 20 yada 16 karekterlik olmasına  bağlı olarak değişiyor.
Bu durumda Protonda parametre olarak ayrıca satır başına karekter sayısınında girildiği bir define komutu olması gerekir. Bu komutu araştırın.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Maxim

Print At 1,1,"a"
Print At 2,1,"b"
Print At 1,17,"c"
Print At 2,17,"d"

yapın olur

ercan_wrc

Alıntı yapılan: Maxim - 13 Mart 2011, 18:58:13
Print At 1,1,"a"
Print At 2,1,"b"
Print At 1,17,"c"
Print At 2,17,"d"

yapın olur

Vallahi oldu :) bakalım sayenizde daha neler öğreneceğiz arkadaşlar iyiki bu site var :)
tekrar teşekkürler arkadaşlar :)

muhittin_kaplan

dökümanına baktım. genelde 2x16 olur bazen 4x16 olur diyor ve kendisiyle çelişiyor. eğer 4x16 ise onu doğru çalıştır. neden 4x20 yi düzgün çalıştırıp 4x16 da arıza yaratıyorsun?

FUNKY

#11
ben  de denedim  sorunlu çalışıyor  cevabı nı http://www.protonbasic.co.uk/forum/showthread.php?t=544&highlight=4x16+lcd burada buldum  aynı sorun yaşanmış .


From what I remember about LCD's is with a 4 X 16 the address's are

line 1 = 0h ... 0Fh

line 2 = 40h..4Fh

line 3 = 10h..1Fh

line 4 = 50h..5Fh

If these do not match your display reduce the values you are using by 4 for line 3 and 4.


ozaman protonun print at 3,1 ve print at 4,1 komutu  4x16 da iş yapmıyor demekki..i,ben proton help de bu konuda birşey bulamadım  bence bu bir eksik


ek: denedim fakat   sonuca ulaşamadım şimdilik olumsuz...

FUNKY

 çözümü şu imiş LM041Ldata shette yazıyor
lcd yi 2x32 gibi düşünmek lazımmış   birinci  ve ikinci satır  16 dan sonra  birinci satırın devamı  olarak üçüncü satır ikinci satırın devamı olarakta  dördüncu satır oluyormuş. 

subram

Alıntı yapılan: FUNKY - 13 Mart 2011, 20:14:58
çözümü şu imiş LM041Ldata shette yazıyor
lcd yi 2x32 gibi düşünmek lazımmış   birinci  ve ikinci satır  16 dan sonra  birinci satırın devamı  olarak üçüncü satır ikinci satırın devamı olarakta  dördüncu satır oluyormuş.

Gayet mantıklı bir açıklaması varmış. teşekkürler.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz