MSP430F5529 LauncPad

MSP430F5529 LauncPad

Bu yazımda 74HC595 ile LCD sürerken Türkçe karakterleri yazdırmayı anlatacağım.

Bu yazının düzenlenmesinde  lcd türkçe yazısından faydalandım.  Msp430 da pin sayısı sınırlı olduğundan genelde lcd sürerken 74hc595 entegresine ihtiyaç duymaktayız. Daha önce 74hc595 shift register entegresi ile Lcd nin nasıl sürüleceği yazılmıştı ben sadece üzerinde birkaç düzenleme yaptım.

lcd_595 dosyasında yaptığım değişiklikler

lcd_595   
void lcd_putch(unsigned char port)
{
// türkçe yazdırmak için switch rutini eklendi
switch(port)
{
case 'ş':
port=0;
break;
case 'Ş':
port=0;
break;
case 'ç':
port=1;
break;
case 'Ç':
port=1;
break;
case 'ı':
port=2;
break;
case 'İ':
port=3;
break;
case 'ü':
port=4;
break;
case 'Ü':
port=4;
break;
case 'ö':
port=5;
break;
case 'Ö':
port=5;
break;
case 'ğ':
port=6;
break;
case 'Ğ':
port=6;
break;
default:
break;
}
//ilk 4 bit gönderiliyor...
hc595_yaz(RS_E_1);
hc595_yaz(( port & 0xF0 ) | RS_E_1);
hc595_yaz(((port & 0xF0 ) | RS_E_1) & 0xF4);
//Son 4 bit gönderiliyor...
hc595_yaz(RS_E_1); hc595_yaz(( port<<4) | RS_E_1);
hc595_yaz(((port<<4) | RS_E_1) & 0xF4);
}

yukarıda putch ile lcd ye gönderilecek karakter önce kontrol ediliyor türkçe bir karakter ise CGRAM in ilgili adresini çağırıyor.

void lcd_turkce(void)
{
lcd_write(0x40); // CGRAM 64 nolu adresine git.
lcd_putch(0); //ş-Ş
lcd_putch(14);
lcd_putch(16);
lcd_putch(14);
lcd_putch(1);
lcd_putch(30);
lcd_putch(4);
lcd_putch(0);
lcd_putch(0);//ç-Ç
lcd_putch(14);
lcd_putch(17);
lcd_putch(16);
lcd_putch(17);
lcd_putch(14);
lcd_putch(4);
lcd_putch(0);
lcd_putch(0);//ı
lcd_putch(0);
lcd_putch(12);
lcd_putch(4);
lcd_putch(4);
lcd_putch(4);
lcd_putch(14);
lcd_putch(0);
lcd_putch(4);//İ
lcd_putch(0);
lcd_putch(14);
lcd_putch(4);
lcd_putch(4);
lcd_putch(4);
lcd_putch(14);
lcd_putch(0);
lcd_putch(0);//Ü-ü
lcd_putch(10);
lcd_putch(0);
lcd_putch(17);
lcd_putch(17);
lcd_putch(17);
lcd_putch(14);
lcd_putch(0);
lcd_putch(10);//ö-Ö
lcd_putch(0);
lcd_putch(14);
lcd_putch(17);
lcd_putch(17);
lcd_putch(17);
lcd_putch(14);
lcd_putch(0);
lcd_putch(14);//ğ
lcd_putch(0);
lcd_putch(14);
lcd_putch(18);
lcd_putch(14);
lcd_putch(2);
lcd_putch(28);
lcd_putch(0);
lcd_putch(14);//Ğ
lcd_putch(0);
lcd_putch(14);
lcd_putch(16);
lcd_putch(22);
lcd_putch(18);
lcd_putch(14);
lcd_putch(0);
}

yukarıda CGRAM ın 64 nolu adresinden itibaren türkçe karakterleri tanımladık. Bu fonksiyonu da  lcd_init fonksiyonunda lcdturkce();  yazarak çağırdık. Böylece türkçe karakterler yüklenmiş oldu.

Lcd_595.h dosyasına da void lcd_turkce(void);  satırını eklemeyi unutmuyoruz.

proje dosyaları buradan indirebilirsiniz.

lcd turkce