He adquirido un LCd powertip 1602-H y cuando lo uso como una sola linea va de maravilla, pero en cambio, cuando lo configuro como 2 lineas, el contrase cae una barbaridad y casi casi casi no se puede ver lo que hay escrito.
A alguien le ha pasado algo asi? He usado el buscador y no he encontrado ningun post con este problema.
Espero me puedan ayudar, muchas gracias.
PD: Uso c18 y el codigo no tiene problemas porque con la powertip 1602-F va de maravilla en una linea y dos lineas.
El comando que uso para configurar la lcd es el 40 decimal. (2 lineas y 5x7)
A alguien le ha pasado algo asi? He usado el buscador y no he encontrado ningun post con este problema.
Espero me puedan ayudar, muchas gracias.
PD: Uso c18 y el codigo no tiene problemas porque con la powertip 1602-F va de maravilla en una linea y dos lineas.
El comando que uso para configurar la lcd es el 40 decimal. (2 lineas y 5x7)
Código:
#include <p18f2550.h>
#include <adc.h>
#include <delays.h>
#include <usart.h>
#include <math.h>
#include <xlcd.h>
#include <stdio.h>
/*FUNCIONES PARA MOSTRAR EN EL LCD*/
void DelayFor18TCY( void )
{
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
}
void DelayPORXLCD (void)
{
Delay1KTCYx(75); // Delay of 15ms
// Cycles = (TimeDelay * Fosc) / 4
// Cycles = (15ms * 16MHz) / 4
// Cycles = 60,000
return;
}
void DelayXLCD (void)
{
Delay1KTCYx(25); // Delay of 5ms
// Cycles = (TimeDelay * Fosc) / 4
// Cycles = (5ms * 16MHz) / 4
// Cycles = 20,000
return;
}
void main(void)
{
// configure external LCD
OpenXLCD( FOUR_BIT & LINES_5X7 );
while(BusyXLCD());
WriteCmdXLCD(1);
Delay10TCYx(25);
while(BusyXLCD());
WriteCmdXLCD(40);
Delay10TCYx(25);
putrsXLCD("hola");
while(BusyXLCD());
WriteCmdXLCD(192);
Delay10TCYx(25);
putrsXLCD("123456789");
while(1);
}