4X20 LCD PIC BASICDE KULLANMA

Başlatan elvanmurat, 17 Ekim 2013, 20:54:17

elvanmurat

ete hocam;

öncelikle kurban bayramınızı kutlar,hayırlara vesile olmasını dilerim.sıtede gezinirken aktif olduğunuzu gördüm.sizden ricam 4x20 lcd picbasicde nasıl kullanacağımıza dair örnekler verebilirmisiniz? mesela 1 butona basıldıgında en üst satırda cam acıldı yazması,1 butona basıldıgında yıne ust satırda kapı acıldı yazması.1 baska butona basıldıgında 2. satırda far yandı yazması gibi..yardımcı olursanız sevinirim.iyi çalışmalar

hkalaycioglu

2x16 nasıl kullanılıyorsa 4x20 de aynı sekılde kullanılıyor

elvanmurat

hocam;

1 satır ,2 satır,3 satır,4 satır veri yazabilmek icin hangi komutları veriyoruz.örnek olarak LCDOUT $FE,$C0, gibi.yardımınız için tesekkürler.

MS_59

#3
4x20 LCD satır adresleri aşağıdadır

LCDOUT $FE,$80"birinci satır"
LCDOUT $FE,$C0"ikinci satır"
LCDOUT $FE,$94"üçüncü satır"
LCDOUT $FE,$D4"dördüncü satır"
mehmet

ete

#4
Bir kaç ilave yapayım. Lcd ekranı bir hafıza dizisidir. Biz bilgiyi hafızya yazarız aynı zamanda ekran hafızası olan bu yeri lcd kullanarak yazdıklarımızın ascii karşılıklarını bize göstermiş olur. Her bir satırın başla gıç adresi vardır. proteus bunları söylemiş. 4x20 ekranın her bir satırında 20 karekter olacağına göre basitçe hesaplar yada saymalar yaparak o satırda her hangi bir karektere ulaşabilir yada o adrese denk gelen yere bir karekter yerleştirebilirsiniz.
Bu ne demek derseniz örnekle açıklayayım. 1. Satır başlangıç adresi $80 dir. O halde 1. Satırın karekter adresleri sırası ile 1. Karekterden 20. Ci karektere kadar şöyledir.
$80 - $81 - $82 - $83 - $84 - $85 - $86 -$87 -$88 - $89 - $8A - $8B - $8C - $8D - $8E - $8F - $90 -$91 - $92 - $93.
Lcd komutunu lcdout $FE,$90,"ETE" şeklinde verirseniz ne olur?
Soldan sağa karekter hafızalarını sayarsanız $90 nın 17. Ci karektere denk geldiğini görürsünüz. O halde ekrana 17. Ci karekter (dahil) den itibaren ETE yazılacaktır. Bunları bazen bir satıra birden fazla değişken değeri yazdırmak istediğinizde kullanmanız gerekn yöntemi anlayın diye yazdım. Kısaca hangi ekran adresini verirseniz karekter oraya yazılır. İllaki en baştaki adresi vermek zorunda değilsiniz. Aynı kurallar diğer satırlar içinde geçerlidir. Burada bir şeye daha dikkatinizi çekeceğim.
Dikkat ederseniz birinci satır $93 de bitti bir sonraki adres olan $94 normalde 3. Cü satırın başlangıç adresidir. Şayet 1. Satıra 20 değilde 21 karelterlik bir şey yazarsanız en son taşan karekter 3. Satırın başında gözükür. Bir çok kişi bunu bana sordu. Neden 3. Satırın başında istemediğim bir karekter çıkıyor diye. Sebebi basit ilk satır 20 değil 21 karekter olarak düzenlenmiş ondan elbette. Bu nedenle satırlara denk gelen karekter adetlerini iyi sayın ve taşma olmamasına dikkat edin. Benzer şekilde 2. Satırdan taşanlar 4. Satırda ortaya çıkar.
Kolay gelsin
Ete

pwm.c

DEFINE LCD_LINES   4 
4x20 lcd için tanımlamanın böyle olması gerekiyor mu?
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

F®T

DEFINE LCD_DREG PORTA 'LCD data port
DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4
DEFINE LCD_RSREG PORTA 'LCD register select port
DEFINE LCD_RSBIT 4 'LCD register select bit
DEFINE LCD_EREG PORTB 'LCD enable port
DEFINE LCD_EBIT 3 'LCD enable bit
DEFINE LCD_RWREG PORTE 'LCD read/write port
DEFINE LCD_RWBIT 2 'LCD read/write bit
DEFINE LCD_BITS 4 'LCD bus size 4 or 8
DEFINE LCD_LINES 4 'Number lines on LCD
DEFINE LCD_COMMANDUS 2000 'Command delay time in us
DEFINE LCD_DATAUS 50 'Data delay time in us
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

BİDİL

Alıntı yapılan: pwm.c - 18 Ekim 2013, 18:33:46
DEFINE LCD_LINES   4 
4x20 lcd için tanımlamanın böyle olması gerekiyor mu?

bende 4x16 kullanıyorum ancak 4'de yazsam 2'de yazsam yine dört satır yazabiliyorum.bir sorun olmuyor.

elvanmurat

ete hocam;

1. satırda ifade ettiğiniz gibi diğer satırlarda aynı şekildemi çalışmakta.yani;

LCDOUT $FE,$80"birinci satır"   LCDOUT $FE,$93'' birinci satır 20. karakter"
LCDOUT $FE,$C0"ikinci satır"     LCDOUT $FE,$C19"ikinci satır 20.karakter
LCDOUT $FE,$94"üçüncü satır"   LCDOUT $FE,$113"üçüncü satır 20. karakter"
LCDOUT $FE,$D4"dördüncü satır"   LCDOUT $FE,$D23"dördüncü satır 20. karakter "

şeklindemi calışmaktadır?.degerli bilgileriniz ve yardımlarınız için teşekkür ederim.kolay gelsin

elvanmurat

ete hocam;

F.T nickli üyemizin gönderdigi tablodan lcd satır konusunu öğrendim.yardımlarınız icin tesekkür ederim.kolay gelsin.

ete

İnşallah öğrenmişsinidir.Zira yukarıda veridğin örnekler yanlış. Hex (16 tabanına göre) sayı sisteminde saymayı öğrenmen gerekiyor.
Sıralama şöyle 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F   sonrasında 10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F -20-...şeklinde gidiyor.
$C19 şeklinde sayı orada yok.
ikinci satır, $C0-$C1-$C2-$C3-$C4-$C5-$C6-$C7-$C8-$C9-$CA-$CB-$CC-$CD-$CE-$CF-$D0-$D1-$D2-$D3   Şeklinde gidiyor
Üçüncü satır ise $94-$95-$96-$97-$98-$99-$9A-$9B-$9C-$9D-$9E-$9F-$A0-$A1-$A2-$A3-$A4-$A5-$A6-$A7 şeklinde gidiyor.
Dördüncü satır ise $D4-$D5-$D6-$D7-$D8-$D9-$DA-$DB-$DC-$DD-$DE-$DF-$E0-$E1-$E2-$E3-$E4-$E5-$E6-$E7 şeklinde son buluyor.

Ete

elvanmurat

ete hocam;

arkadaşımızın göndermiş olduğu tabloyu inceleyince farketmiştim bunu fakat size mesaj gönderdikten sonra tabloyu inceledim.sizin önceki mesajınızı dikkatle okumamısım galıba.orada zaten detaylı olarak anlatmıssınız.dikkatli okumadıgım için farketmemiştim.kolay gelsin.

est32

Arkadaşlar bazı şeyleri sorarak değil de, deneyerek daha kalıcı şekilde öğrenebilirsiniz. Ben bu konuyu önce netten araştırdım satır başlarının hex olarak kodlarını gördüm, ardından da deneme yanılma ile ekranın neresine ne yazabileceğimi kavradım. bazı şeyleri sorana kadar deneyin derim...

Powered by EzPortal