[ zoligen @ 05.12.2005. 16:59 ] @
Molim za pomoc.
Ako neko ima rutinu u asembleru za definisanje nasih slova na LCD-u.
Znam da to postoji u knjizi koju je izdala "Mikroelektronika" ali mi je to tamo
dosta konfuzno objasnjeno pa bih ja da nekako ne provedem celo popodne
oko toga.
Inace LCD je povezan sa pic-om preko 4 voda.
Unapred zahvalan!
PS.Inace ako ima pocetnika koje zanima ispis teksta na LCD-u na sajtu www.mikroelektronika.co.yu u casopisu broj 5 postoji clanak i program
u cistom asembleru koji to jako razumljivo predstavlja
[ lord Vader @ 06.12.2005. 13:50 ] @
I mene isto zanima ali ne mora asembler nego samo procedure, kojim redosledom se šta šalje. Taj karakter ide u EEPROM, jel' tako?
[ npejcic @ 06.12.2005. 22:33 ] @
Probacu ukratko da opisem postupak:

Nakon standardne inicijalizacije LCD-a, potrebno je komandom:
lcd_cmd(0x40); //
inicirati upis u LCD CGRAM koji ima kapacitet od 8karaktera (64bajta).
Ovde je data procedura koja vrsi upis korisnicki definisanih karaktera:

// ovde definisi specijalne karaktere
#define SPECIJALNI_KARAKTERI 56 // koliko * 8

unsigned char const special_chars[56] = {
0x06,0x09,0x09,0x06,0x00,0x00,0x00,0x00, // 0 oC
0x04,0x04,0x1F,0x04,0x04,0x00,0x1F,0x00, // 1 ±
0x03,0x06,0x1A,0x1A,0x1A,0x06,0x03,0x00, // 2 znak za alarm
0x00,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00, // 3 prazan kruzic LED off
0x00,0x0E,0x1F,0x1F,0x1F,0x0E,0x00,0x00, // 4 pun kruzic LED on
0x04,0x08,0x10,0x0E,0x10,0x08,0x04,0x00, // 5 nastavak zvucnika za alarm
0x08,0x04,0x1E,0x1F,0x1E,0x04,0x08,0x00 // 6 znak strelice za selekciju
};

lcd_cmd(0x40); // ajmo svi u CGRAM
for(j=0; j<=SPECIJALNI_KARAKTERI-1; j++)
{
lcd_data(special_chars[j]);
}

Jeste da je kod na C jeziku ali mislim da nije problem da se ukapira princip.

Jos jedna bitna stavka je kako kreirati korisnicke karaktere. Ja sam za tu priliku napravio jedan programicic koji besplatno mozete skinuti sa linka:
http://epraktikum.co.yu/software.php

Dovoljno je da nacrtate zeljeni karakter, a program ce vam genersitai sekvencu HEX
kodova, koje je potrebno ubaciti u program mikrokontrolera i to je to.

Sada jednostavno u programu vase karaktere pozivate kao 0..7 karakter:
lcd_data(0); za oC
lcd_data(1); za ±
lcd_data(2); za znak za alarm
...
lcd_data(7);

[ lord Vader @ 07.12.2005. 09:39 ] @
U suštini treba poslati komandu 0x40 i onda šalješ kompletan sadržaj korisničkog dela LCD-a. Ne možeš da postaviš recimo samo 4 karakter? Ta sekvenca se prekida novom komandom, jel tako?
[ zoligen @ 07.12.2005. 18:52 ] @
hvala na trudu ovo ce mi svakako koristiti da ovaj put brzo resim
problem, mada vise volim cist asembler ali to cu neki drugi put.
jos jednom hvala!
[ Kvizak_Hadarak @ 27.12.2005. 21:31 ] @
ako zelis cisto asemblerski uradjeno javi se na mail a imam i citav protokol opisan naravno ako si zainteresovan
poz......