#include <avr/io.h>
#include <util/delay.h>
//#include <avr/interrupt.h>
//#include <avr/sleep.h>
//#include <i2c.h>

void lcd_rs (unsigned char i)
{
 if (i==1)
 	PORTC |= (1 << PC5);
 else
 	PORTC &= ~(1 << PC5);
}

void lcd_enable ()
{				
  PORTC |= (1 << PC4);
  _delay_ms (1);		
  PORTC &= ~(1 << PC4);
  _delay_ms (1);
  PORTC &= 0xF0;
}


void lcd_init ()
{
 PORTC = 0x00;

 PORTC |= (1<<PC1);		//4 bit mode
 lcd_enable();
 
 PORTC |= (1<<PC1);
 lcd_enable();
 PORTC |= (1<<PC3) | (1<<PC2); //2sor, kijelzes be
 lcd_enable();

// PORTC = 0;			//disp. on, + cursor + blink
 lcd_enable();
 PORTC |= 0x0F;
 lcd_enable();

// PORTC = 0;			//disp. clr
 lcd_enable();
 PORTC |= (1<<PC0);
 lcd_enable();
 _delay_ms(1);
 
// PORTC = 0;			//incre + shift on
 lcd_enable();
 PORTC |= (1<<PC2) | (1<<PC1) | (1<<PC0);
 lcd_enable();

}

int main()
{_delay_ms(50);
// DDRD |= (1<<PD6);
// PORTD |= (1<<PD6);

 DDRC = 0xFF;
 
 lcd_init();

 lcd_rs(1);
 PORTC |= ('A' >> 4);
 lcd_enable();
 PORTC |= ('A' & 0x0F);
 lcd_enable();

 while(1)
 {/*
  PORTD = ((~PORTD) & 0x40);



  _delay_ms (50);
*/
 }
}
