void lcd (char c) { switch(c) { case '\f' : lcd_envia_byte(0,1); delay_ms(2); break; case '\n' : case '\r' : lcd_pos_xy(1,2); break; case '\b' : lcd_envia_byte(0,0x10); break; default : lcd_envia_byte(1,c); break; } }
char lcd_le( byte x, byte y) // le caractere do display { char valor; // seleciona a posição do caractere lcd_pos_xy(x,y); // ativa rs output_high(lcd_rs); // lê o caractere valor = lcd_le_byte(); // desativa rs output_low(lcd_rs); // retorna o valor do caractere return valor; }
void lcd_escreve( char c) // envia caractere para o display { switch (c) { case '\f' : lcd_envia_byte(0,1); delay_ms(2); break; case '\n' : case '\r' : lcd_pos_xy(1,2); break; case '\b' : lcd_envia_byte(0,0x10); break; default : lcd_envia_byte(1,c); break; } }
// envia caractere para o display void lcd_escreve(char c) { switch (c) { case '\f': lcd_modulo = 0; lcd_envia_byte(0, 1); delay_ms(2); lcd_modulo = 1; lcd_x = 1; lcd_y = 1; break; case '\n': case '\r': if(lcd_y < 4) { lcd_y ++; } lcd_x = 1; lcd_pos_xy(1, lcd_y); break; case '\b': if(lcd_x > 0) { lcd_x --; lcd_envia_byte(0, 0x10); } break; default: lcd_envia_byte(1, c); break; } }