lcd program

Başlatan bilim_teknik, 14 Eylül 2007, 16:44:47

bilim_teknik

arkadaşlar ben lcd de bazı değişik simgeler çıkartmak istiyorum. mesela pacman gibi veya değişik şekiller bunu nasıl bir komutla yapa bilirim :)
|^^^^^^^^^^^^\ ||\  |__PICPROJE.ORG __| ||'""|""\___  | _____________ l | |__|__|___| )  (@!)!(@)"""""**|(@) (@)****|(@)

ekangal

Karekter bazlı LCD lerde 8 adet yeni karakter yaratmamıza izin verilir. Karakterler 5 x 7 formatında oluşturulur ve 8 adet data halinde özel karakter hafızasına yerleştirilirler. Normalde LCD de Türkçe karakterlerin olmadığını bu yola başvurulur. İşte bu karakter ve simgeleri toplam 8 adet olmak şartı ile kendimiz oluşturup kullanabiliriz.

Grafik LCDkullanıyorsan zaten hiç bir sorun yok demektir.

bilim_teknik

programlamadaki komutları öğrene bilirmiyim.kullandığım lcd 20x2 ve 16f84 kullandım ama değişik karakter leri nasıl yapa bilirim bunları verebilirmisiniz :?: . yani $fe,$0f gibi bir komutu varmı bunun onu öğrenmek istiyorum. :)
|^^^^^^^^^^^^\ ||\  |__PICPROJE.ORG __| ||'""|""\___  | _____________ l | |__|__|___| )  (@!)!(@)"""""**|(@) (@)****|(@)

Maxim

http://www.mister-e.org/pages/utilitiespag.html

buradan programı indirin ,
çok faydalı bir tool ,
lcd için custom karakter yanında bir çok işe yarayacak özellikleride var .

ekangal

LCD'ler 5x7 dotmatrix tablodan oluşur. LCD'lerde Türkçe olmayan karakterler (ı,ö,ç,ş,ğ) harfleri kullanılamaz ancak gerekli ayarlamalar yapılırsa (ı,ö,ç,ş,ğ) harfleri kullanılabilinir. LCD'lerde tanımlayabileceğimiz 8 ayrı karakter vardır ve her bir karakter için 8 ayrı data vardır.

Her bir karakterin yerleştirilme adresi vardır bunlar;
0.karakter $40 4.karakter $60

1.karakter $48 5.karakter $68

2.karakter $50 6.karakter $70

3.karakter $58 7.karakter $78

Bu adreslerden hangisine karakter dataları yazılırsa program içinde ona ait karakter numarasını kullanılarak ilgili karakter ekrana yazdırılabilinir.

Türkçe karakterlere ait data numaraları ;
LCDOUT $FE,$40,$0A,$00,$11,$11,$11,$11,$0E,$00 'Ü

LCDOUT $FE,$48,$0E,$11,$10,$10,$11,$0E,$04,$00 'Ç

LCDOUT $FE,$50,$00,$0E,$04,$04,$04,$04,$0E,$00 'I

LCDOUT $FE,$58,$0A,$00,$0E,$11,$11,$11,$0E,$00 'Ö

LCDOUT $FE,$60,$0E,$00,$1F,$10,$13,$11,$1F,$00 'Ğ

LCDOUT $FE,$68,$0E,$11,$10,$0E,$01,$15,$0E,$04 'Ş

Örnek verecek olursak;

LCDOUT $FE,$58,$0E,$10,$10,$0E,$01,$05,$1E,$04 'Ş dataları

Bu ifade Ş harfine ait dataları içermektedir. Adres olarak da $58 kullanılmış. O halde bu karekteri kullanmak için programda 3 rakamını kullanacaksın demektir. Yani AŞIK yazdırabilmen için şöyle yapman gerekli;
LCDOUT $FE,1,"A",3,"IK"
Diyelimki Ş harfine ait dataları 0 nolu karektere ait olan $40 adresine koyduk;
LCDOUT $FE,$40,$0E,$10,$10,$0E,$01,$05,$1E,$04 'Ş dataları
Bu durumda AŞIK yazdırabilmen için şöyle yapman gerek;
LCDOUT $FE,1,"A",0,"IK"
hepsi bu kadar. Yalnızca Ş harfini yazdırman için LCDOUT $fe,1,0 yazman yeterli oluyor. Demekki karekter numarasını yazarsan o karekteri ekrana getirebiliyorsun. Yalnızca dikkat etmen gereken husus karekterin yazılacağı yeri iyi tayin etmek olacaktır.

Hattusa

s.a.
arkadaşlar bu LCD de özel karakter kullanımı 7 ile mi sınırlı bunu artırma şansımız yok mu?
yani  12-13 tane özel karakter kullanabilecek bir yöntem varmı?
vardım ilim meclisine eyledim talep, meğer ilim en gerideymiş illa EDEP, illa EDEP <muhyiddin Arabi K.S.>

Tagli

Benim aklımda 8 diye kalmış ama hayır, arttırma şansın yok. Ancak, eğer bu karakterleri aynı anda ekranda göstermen gerekmiyorsa, göstermeden hemen önce yükleyip kullanabilirsin. Yani çalışma sırasında bu özel karakterleri istediğin zaman değiştirmen mümkün.
Gökçe Tağlıoğlu