79 while (init[i] != 0x00)
113 unsigned char dataPins;
117 dataPins |= ((data & 0x80) >> 7) <<
LD7;
118 dataPins |= ((data & 0x40) >> 6) <<
LD6;
119 dataPins |= ((data & 0x20) >> 5) <<
LD5;
120 dataPins |= ((data & 0x10) >> 4) <<
LD4;
130 dataPins |= ((data & 0x08) >> 3) <<
LD7;
131 dataPins |= ((data & 0x04) >> 2) <<
LD6;
132 dataPins |= ((data & 0x02) >> 1) <<
LD5;
133 dataPins |= ((data & 0x01) >> 0) <<
LD4;
151 void SetIOLCD(
unsigned char setCommand,
unsigned char bits)
153 if (setCommand ==
ON)
170 unsigned char data = 0x00;
258 while (
string[i] != 0x00)
280 void PrintSetLCD(
unsigned char cursor,
unsigned char line,
char *
string)
308 void PrintAlignLCD(
unsigned char alignment,
unsigned char line,
char *
string)
311 while (
string[i] != 0x00)
313 if (alignment ==
RIGHT)
315 else if (alignment ==
CENTER)
334 while ( (c = pgm_read_byte(progmem_s++)) )
360 WriteLCD(pgm_read_byte(progmem_s++));
379 #if defined(__AVR_ATmega168__)
383 TCCR2 = (1 << WGM21) | (1 << CS20);
385 DDRD &= ~((1<<PD2)|(1<<PD6));
395 #if defined(__AVR_ATmega168__)
396 TCCR2A = _BV(WGM20) | _BV(WGM21) | _BV(COM2A0) | _BV(COM2A1);
399 TCCR2 = (1 << WGM20) | (1 << WGM21) | (1 << COM20) | (1 << COM21) | (1 << CS20);
402 DDRD |= ((1<<PD2)|(1<<PD6));