!!!! Jak uzyskac polskie litery w wyswietlaczu LCD? !!!!



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "XXX" <xxx_at_nospam_xxx.pl>
Subject: !!!! Jak uzyskac polskie litery w wyswietlaczu LCD? !!!!
Date: Sat, 19 Feb 2000 21:24:22 GMT


Czesc
Mam wyswietlacz LCD (dosc popularny zgodny z Hitachi) podlaczony do procka
89C52.
Wyswietla, jest OK. Ale czy ktos wie jak zaprogramowac w nim polskie znaki.
Z tego co
czytalem mozna zaprogramowac 8 swoich znakow, ale jak?
Czy ktos moze podeslac na priv'a rozwiazanie tego problemu ????
Mario
mario_at_nospam_termit.ie.tu.koszalin.pl



Poprzedni Następny
Wiadomość
Spis treści
From: "Artur Miller" <armi_at_nospam_iol-antares.co.za>
Subject: Re: !!!! Jak uzyskac polskie litery w wyswietlaczu LCD? !!!!
Date: Sun, 20 Feb 2000 08:58:31 +0200



XXX wrote in message ...
Czesc
Mam wyswietlacz LCD (dosc popularny zgodny z Hitachi) podlaczony do procka
89C52.
Wyswietla, jest OK. Ale czy ktos wie jak zaprogramowac w nim polskie znaki.
Z tego co
czytalem mozna zaprogramowac 8 swoich znakow, ale jak?
Czy ktos moze podeslac na priv'a rozwiazanie tego problemu ????


Cza by bylo pewnie napisac sprytna procedurke definiujaca znaki "w locie".
Ograniczenie bedzie wtedy max 8 roznych polskich znakow w wyswietlanym
tekscie.

Powodzenia

_at_nospam_



Poprzedni Następny
Wiadomość
Spis treści
From: "Tomasz Garbacz" <Tomb_at_nospam_Pluton.Pol.Lublin.Pl>
Subject: Odp: !!!! Jak uzyskac polskie litery w wyswietlaczu LCD? !!!!
Date: Mon, 21 Feb 2000 01:11:02 +0100



Mam wyswietlacz LCD (dosc popularny zgodny z Hitachi) podlaczony do procka
89C52.
Wyswietla, jest OK. Ale czy ktos wie jak zaprogramowac w nim polskie
znaki.
Trzeba przesłać zestaw polskich znaków do pamieci RAM wyswietlacza

np.
const char znak[8][8] = {
0,0,14,1,15,17,15,1,
2,4,14,16,16,17,14,0,
0,0,14,17,31,16,14,2,
12,4,6,4,12,4,14,0,
2,4,22,25,17,17,17,0,
2,4,14,17,17,17,14,0,
2,4,14,16,14,1,30,0,
2,4,31,2,4,8,31,0 };

void LCDRamWrite(void)
{
uchar n,m;
n=0;

LCDCheckBusy();
LCDSet(0x40); /* poczatek pamieci CGRAM */
while(n<8){
m=0;
while(m<8)
{
LCDCheckBusy();
LCDPut(znak[n][m]);
m++;
}
n++;
}
}

Następnie mozna je wyswietlac wykorzystujac poczatkowe adresy pamieci.

Jezeli interesuja Cie pozostale procedury - daj znac.

Pozdrawiam Tomek.



Poprzedni Następny
Wiadomość
Spis treści
From: Romuald Bialy <romekb_at_nospam_polbox.com>
Subject: Re: !!!! Jak uzyskac polskie litery w wyswietlaczu LCD? !!!!
Date: Mon, 21 Feb 2000 01:09:10 GMT


czytalem mozna zaprogramowac 8 swoich znakow, ale jak?
Czy ktos moze podeslac na priv'a rozwiazanie tego problemu ????
Mario
mario_at_nospam_termit.ie.tu.koszalin.pl

Oto przyklad dla 8051.

;---------------------------------------------------------------------------------

CHRDEF: MOV R7,#(6*8) ;ILOSC ZNAKOW*ILOSC BAJTOW NA ZNAK
MOV DPTR,#ZaM ;ADRES 1 BAJTU TABLICY ZNAKOW
MOV A,#40H
ACALL WRCOM ;KOMENDA
CHD1: CLR A
MOVC A,_at_nospam_A+DPTR ;POBIERZ BAJT Z TABLICY
ACALL WRDAT ;WYSLIJ DO LCD
INC DPTR
DJNZ R7,CHD1
RET

; ***************************************************************************
; Funkcje wysylania komend lub znakow do wyswietlacza LCD
;-----------------------------------------------------------------------------
WRCOM: CLR LCDCOM ;BEDA WYSYLANE KOMENDY
SJMP WR1
WRDAT: SETB LCDCOM ;BEDA WYSYLANE DANE
WR1: CLR LCDWR ;PRZELACZENIE NA ZAPIS DO LCD
MOV LCDDATA,A ;WYSLANIE DANYCH NA PORT
SETB LCDENA ;ENABLE
NOP
CLR LCDENA ;DISABLE
NOP
CLR LCDCOM ;ODCZYT REJESTRU KOMEND (FLAGA BUSY)
SETB LCDWR ;PRZELACZENIE NA ODCZYT
MOV LCDDATA,#255 ;PRZEL. PORTU NA WEJSCIE
WAID: SETB LCDENA ;UAKTYWNIENIE LCD
NOP
MOV C,LCDDATA.7 ;POBIERZ BUSY
CLR LCDENA ;ZABLOKOWANIE LCD
JC WAID ;CZEKAJ NA BUSY=0
CLR LCDWR ;PRZELACZENIE NA ZAPIS
RET

; ***************************************************************************
;DEFINICJE POLSKICH ZNAKOW

ZaM: DB 000H,000H,00EH,001H,00FH,011H,00FH,002H ;a male
ZcM: DB 002H,004H,00EH,010H,010H,011H,00EH,000H ;c male
ZeM: DB 000H,000H,00EH,011H,01FH,010H,00FH,002H ;e male
ZlM: DB 00CH,004H,006H,00CH,004H,004H,00EH,000H ;l male
ZnM: DB 002H,004H,016H,019H,011H,011H,011H,000H ;n male
ZlD: DB 010H,012H,014H,018H,010H,010H,01FH,000H ;L duze

;-----------------------------------------------------------------------------

Tu masz definicje tylko 6 znakow, bo tylko tyle potrzebowalem. Dodac
wiecej lub podmieniac zestaw w locie to nie problem. Polskie znaki
zajmuja tez wiersz przeznaczony na kursor wiec dobrze jest go
wylaczyc.

--
Pozdrawiam.... Romuald Bialy
E'mail: romekb_at_nospam_polbox.com
WWW: http://www.polbox.com/r/romekb