PICBASIC ile LCD Kullanımı


LCD ( Liquid Crystal Display )
Piyasadaki LCD’ler karakter ve satır sayıları ile ifade edilir .


(örnek: 1602A         :  16 karakter,    2 satır
             2004A        :  20 karakter,    4 satır
             WH2004A  :  20 karakter,    4 satır
             WG12864B:128 karakter,  64 satır )


LCD PİNLERİ
1- Vss  Toprak (Ground), Logic Vss, Logic Ground , Şase
2- Vcc +5 Volt, Logic Vcc, Logic Power 
3- VEE VLc, VBias,Bias,Contrast (Kontrast) Kontrast girişine bağlanan direnç ile LCD panelin kontrastı ayarlanabilir. Direnç değeri yükseldikçe kontrast düşer, azaldıkça ise kontrast yükselir.
4- RS  Register Select , Lcd ye komut mu yoksa data mı gönderileceğini belirler. RS girişi "0" (ground) durumundayken komut saklayıcısı, +5V olduğunda ise veri saklayıcısı seçilmiş olur.
5- RW Read/Write(Okuma yada Yazma Modu), Lcd den okuma mı yoksa lcd ye yazma yapılacağını belirler. RW girişi toprağa bağlandığında yani "0" durumundayken LCD yazma modundadır.
6- E Enable, Strobe,  Enable ucu LCD ve pinler arasındaki gerçek veri alışverişini sağlayan bacaktır. Bu girişi mikrodenetleyiciye program aracılığıyla tanıttıktan sonra PIC kendisi veri gönderileceği zaman bu bacağa enable pulsu gönderir.
7-14- D0-D7  (DATA girisleri), Data hattı olan bu pinler doğrudan mikrodenetleyicinin bir portuna bağlanır. Veri 4 ya da 8 bitlik veri yolu ile gönderilebilir
15- Led+  A, Backlight+, Backlight Anode (LCD Panel ısıgı (+5 Volt)) 
16- Led-   K, Backlight-, Backlight Cathode (Toprak (Ground)) 
15 ve 16. bacaklar bazı displaylerde yoktur. Bu uçlar paneli aydınlatmak için kullanılırlar. 

PICBASIC’te kullanılan LCD komutları

$FE,1 Ekranı siler.
$FE,2 Satir basına dön
$FE,$0C İmleç(Kursör) görüntüsünü yok eder
$FE,$0E İmleci alt çizgi biçimine getirir
$FE,$0F İmleci yanıp/Soner yapar
$FE,$10 İmleci 1 pozisyon sola getirir
$FE,$14 İmleci 1 pozisyon saga getirir
$FE,$C0 İmleci ikinci satirin başına getirir
$FE,$94 İmleci üçüncü satirin başına getirir
$FE,$D4 İmleci dördüncü satirin başına getirir
LCDOUT  LCD’ye istenilen veriyi göndermek için kullanılır.

 PICBASIC   LCD_DEFINE (tanımlamalar)

DEFINE LCD_DREG PORTB 'LCD pinleri PORTBye bağlı
DEFINE LCD_DBIT 4 LCD data bitleri hangi bitten başlıyor
DEFINE LCD_EREG PORTB 'LCD enable bacağı hangi porta bağlı
DEFINE LCD_EBIT 3 LCD ENABLE biti hangi porta bağlı
DEFINE LCD_RWREG PORTB 'LCD RW pini hangi porta bağlı
DEFINE LCD_RWBIT 2 LCD RW pini hangi bite bağlı
DEFINE LCD_RSREG PORTB 'LCD RS pini hangi porta bağlı
DEFINE LCD_RSBIT 1 LCD RS pini hangi bite bağlı
DEFINE LCD_BITS 4 LCD 4 bit bağlı
DEFINE LCD_LINES 2 LCD kaç satırdan oluşuyor


DİKKAT:

DEFINE LCD_RWREG PORTB 'LCD RW pini hangi porta bağlı
DEFINE LCD_RWBIT 2 LCD RW pini hangi bite bağlı

Yukardaki define tanımlaması kullanıldığı zaman aşağıdaki kodun programa eklenmesi gerekir.

LOW PORTB.2 RW pini ekrana yazmaya imkan vermek için low yapıldı
veya
RW pinini direkt toprağa bağladığımızda da ekrana yazma izni veririz.


DİKKAT:

LCD_DEFINE tanımlamalarından sonra pause 500 (0,5 saniye bekletme) komutu ile LCD’yi bekletmemiz gerekir. Çünkü LCD’nin verileri göstermeye başlaması için bu süre gereklidir.
LCD’nin temel bağlantı şekli aşağıdaki gibidir. RS,E,D4,D5,D6,D7 pinleri PIC’in başka pinlerine de bağlanabilir sabit değildir.
VEE ve GND arasına 10Kohm’luk potansiyometre bağlanmalıdır. Bu direnç LCD kontrast ayarıdır. LCD karakterleri gözükmez ise potansiyometre kolunu çevirerek doğru direnci bulunuz. Direnç bağlanmadığı takdirde LCD’de karakterler gözükmez


PİCBASİC kodu

LCD_DEFINE TANIMLAMALAR
DEFINE LCD_DREG PORTB 'LCD data pinleri PORTBye bağlı
DEFINE LCD_DBIT 4 'LCD data bitleri hangi bitten başlıyor
DEFINE LCD_EREG PORTB 'LCD enable pini hangi porta bağlı
DEFINE LCD_EBIT 3 'LCD enable biti hangi porta bağlı
DEFINE LCD_RWREG PORTB 'LCD RW bacağı hangi porta bağlı
DEFINE LCD_RWBIT 2 'LCD RW pini hangi bite bağlı
DEFINE LCD_RSREG PORTB 'LCD RS pini hangi porta bağlı
DEFINE LCD_RSBIT 1 'LCD RS pini hangi bite bağlı
DEFINE LCD_BITS 4 'LCD 4 bit bağlı
DEFINE LCD_LINES 2 'LCD kaç sıradan oluşuyor
TRISB=0
LOW PORTB.2 'RW pini ekrana yazmaya imkan vermek için low yapıldı
PAUSE 200 '200 milisaniye bekleme yap
LCDOUT $FE,1,"Kodla Gitsin" ‘ilk satıra yaz
LCDOUT $FE,$C2,"LCD Uygulama" ‘ikinci satıra yaz
END



Yorumlar