LCD displej nevypisuje znaky na druhý řádek

Čau. mám takový problém, že dvouřádkový displej 1602 mi nevypisuje znaky na druhý řádek displeje i když zadám adresu 0x40.
Tak kdybyste někdo veděl jak na to tak pls. napištete.Pro úplnost tu dávám ještě výpis mojeho ovladacího kodu pro LCD.

Zápis na první řádek je bez problému.

#define KONEC_1_RADKU 16
#define KONEC_2_RADKU 32

void Pozice_XY(uint8_t x, uint8_t y)
{
if(x >= 0 && x <= 15)
if(y >= 0 && y <= 1)
{
Zapis(0x80 | (x + y * 0x40 ), PRIKAZ);
_delay_us(40);
}
}

void Zapis(uint8_t a, uint8_t rs)
{

if (rs == PRIKAZ)
	OVLADANI &= 0 << RS;
if (rs == DATA)
	OVLADANI |= 1 << RS;	
DISPLEJ = a;
OVLADANI|= 1 << E;
OVLADANI &= 0 << E;
if (rs == DATA)
	_delay_us(40);

}

void Zapis_Text(byte text])
{
uint8_t t_poc = 0;

while (isprint(text[t_poc])) 
{
	switch (text[t_poc])
	{ 
		case KONEC_1_RADKU: Pozice_XY(0, 1);break;  //
		case KONEC_2_RADKU:break;break;
		default:break;
	}
	Zapis(text[t_poc], DATA);
	++t_poc;	 
}	

}

while(1)
{
Pozice_XY(0, 1);
Zapis_Text(“Druhy radek”);
Home(); //vraci kurzor na zacatek
}

Zkus se podívat tady: doveda.byl.cz/
Záložka informace, LCD moduly.
V příloze máš výřez, který Ti napoví.
LCD pozice radku.JPG

Dík za odkaz, ale bohužel moc nepomohl.I prestože nastavím adresu 0xC0 ta se mi znaky nevypíšou.V případě nastavení adresy 0x80 se vpohodě vypišou na první řádek.Zkoušel sem to úplně jednoduše takle:

(PRIKAZ = RS 0
Data = RS 1 )
//-------------------------
Zapis(0xC0, PRIKAZ);
_delay_us(40);
Zapis(‘a’, DATA);
while(1)
{}
//---------------------------

Pro lepší pochopení kodu ješte přídávám funkci Zapis();

#define PRIKAZ 0
#define DATA 1
#define RW 4;
#define RS 5;
#define E 6;
#define OVLADANI PORTD
#define OVLADANI PORTD
//------------------
void Zapis(uint8_t a, uint8_t rs)
{

if (rs == PRIKAZ)
	OVLADANI &= 0 << RS;
if (rs == DATA)
	OVLADANI |= 1 << RS;	
DISPLEJ = a;
OVLADANI|= 1 << E;
OVLADANI &= 0 << E;
if (rs == DATA)
	_delay_us(40);

}
//--------------------------

Nieco hod medzi pracu s E:

OVLADANI|= 1 << E;
_delay_us(5);
OVLADANI &= 0 << E; a toto skus zmenit na OVLADANI &= ~(1<<E);

hoci toto, alebo nieco ine …

Cau , tak už sem to konečně vyřešil.Problém byl v práci s E, v inicialiaci displeje sem ho nechal zvedlé.