Librería de control del LCD03 en modo I2C para CCS
De Asociación de Robotica y Domótica de España (A.R.D.E.)
Esta es una librería para usar el Módulo LCD03 en modo I2C en el entorno CCS.
El Módulo LCD03 es un display LCD 4x20 con comunicación serie via I2C
Autor: Mif.
Fichero fuente original: Descargar
/******************************************************************
* *
* Librería de control del LCD03 en modo I2C para CCS *
* *
* Autor: Ángel Hernández Mejías (Mif) *
* Contacto: angeldpe@hotmail.com *
* Fecha: 20/08/2007 *
* Versión: 1.0 *
* *
*******************************************************************
* *
* Licencia *
* Esta librería está publicada bajo la licencia Creative *
* Commons en la versión de Attribution and Share Alike. Es decir, *
* se permite copiar, modificar y distribuir este material *
* siempre que se reconozca al autor y se mantenga la misma *
* licencia. *
* *
*******************************************************************
* *
* Esta librería sirve para Manejar de un modo sencillo y limpio *
* el LCD modelo LCD03 en modo I2C. *
* *
* Es recomendable usar el sistema Skypic para evitar problemas *
* en la electrónica al hacer montajes básicos. *
* *
* Requisitos: *
* -I2C *
* *
******************************************************************/
char LCD_Txt[21]; //Cadena de texto para LCD
int1 Luz=0; //Variable de indicación de estado de la luz
//*** Cabecera de escritura en el LCD ***
void LCD_Start(void) //
{
i2c_start(); //Señal de comienzo
i2c_write(0xC6); //Dirección del LCD (Viene de fábrica)
i2c_write(0x00); //Banco de escritura
}
//*** Coloca el cursor en una posición determinada ***
void LCD_Cursor(char Posicion)
{
LCD_Start();
i2c_write(0x02); //Comando de acceso a la posición del cursor
i2c_write(Posicion); //Nueva posición del cursor
i2c_stop();
}
//*** Muestra el texto pasado por puntero en el LCD ***
void LCD_Print(char *p)
{
LCD_Start();
'''while'''(*p)
{
i2c_write(*p++);
delay_us(10);
}
i2c_stop();
}
//*** Borra la pantalla ***
void LCD_Clrscn(void)
{
LCD_Start();
i2c_write(12); //Borra la Pantalla
i2c_write(4); //Quita el cursor
i2c_stop();
}
//*** Conmuta el estado de la iluminación ***
void LCD_Luz(void)
{
LCD_Start();
'''if''' (Luz == 1) //Si la luz estaba encendida
{
i2c_write(20); //Apaga la luz
Luz = 0;
}
'''else''' //Si la luz estaba apagada
{
i2c_write(19); //Enciende la Luz
Luz = 1;
}
i2c_stop();
}
//*** Salto de Linea ***
void LCD_SaltoLinea(void)
{
LCD_Start();
i2c_write(13);
i2c_stop();
}
