/* Lcdtext * write a string of text to the display */ void LcdText(BYTE row, BYTE col, char *textp) { if (row != 0) row = 0x40; LcdBusy(LCD_RS_CNTL, (BYTE)(0x80 | row | col)); for ( ; *textp!='\0'; textp++) LcdBusy(LCD_RS_DATA, *textp); }
void LCDDataWrite(BYTE data) { LcdBusy(); WritePortA(0,1); WritePortB(data); Nop(); Nop(); Nop(); Nop(); WritePortA(1,1); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); WritePortA(0,0); }
/* LcdInit * initialize the lcd character display */ void LcdInit(void) { PORTC = 0; DDRCbits.RC5 = 0; DDRCbits.RC6 = 0; DDRCbits.RC7 = 0; LCD_DATA = 0; LCD_PORT_DIR = LCD_PORT_IN; Pause(25); LcdWrite(LCD_RS_CNTL, 0x30); Pause(5); LcdWrite(LCD_RS_CNTL, 0x30); Msec2(); LcdWrite(LCD_RS_CNTL, 0x30); LcdBusy(LCD_RS_CNTL, 0x38); LcdBusy(LCD_RS_CNTL, 0x0c); LcdBusy(LCD_RS_CNTL, 0x01); LcdBusy(LCD_RS_CNTL, 0x06); LcdBusy(LCD_RS_CNTL, 0x02); }