Programación de alta precisión
/****************************************** ** *********************/
/* */
/*Compruebe el estado de ocupación de la pantalla LCD*/
/*Cuando /*lcd_busy es 1, ocupado y esperando. Cuando lcd-busy es 0, está en estado inactivo y puede escribir instrucciones y datos */
/* */
/********** ** ************************************************* *** */
Bit estático lcd_busy()
{
Resultado del bit;
LCD _ RS = 0; p>
LCD_RW = 1;
LCD_EN = 1;
retraso nop();
resultado = (bit)(LCD_DB_ Puerto amp0x 80) ;
LCD _ EN = 0;
Retorno (resultado);
}
/**** **** *********************************************** *** **********/
/* */
/*Escribir datos de comando en la pantalla LCD */
/ *RS=L , RW=L, E=pulso alto, D0-D7=código de comando. */
/* */
/****************************** ***** *******************************************/ p>
LCD_wcmd(uchar cmd) no válido
{
mientras(LCD_ocupado());
LCD_RS = 0; p>
LCD _ RW = 0;
LCD_EN = 0;
_ nop _();
_ nop _(); p>
#ifdef LCD_8DB
LCD _ DB _ Puerto = cmd
#endif
retraso nop();
LCD _ EN = 1;/ /Ingresar datos cuando salta el borde
retraso nop();
LCD _ EN = 0;
}
/** ********************************************** ******* ***************/
/* */
/*Escribir datos de visualización en LCD */
/*RS=H, RW=L, E=pulso de nivel alto, D0-D7=datos.
*/
/* */
/****************************** ***** *******************************************/ p>
void lcd_wdat(uchar dat)
{
mientras(LCD_ocupado());
LCD_RS = 1; p>
LCD_RW=0;
LCD_EN=0;
#ifdef LCD_8DB
LCD_DB_Puerto=dat p>
#endif p>
delay nop();
LCD _ EN = 1;
delay nop(); //Ingrese datos cuando esté en el borde saltos
LCD_ES = 0;
}
/************************ ******** **********************************/
/ * */
/* Configuración de inicialización de LCD*/
/* */
/************** ******** ****************************************/ p>
void lcd_init( )
{
Retraso (15); //Espera a que se estabilice la fuente de alimentación.
LCD _ wcmd(LCD _ MODE); //Establecer modo de visualización
Retraso(5);
LCD _ wcmd(LCD _ MODE); /p>
Retraso(5);
LCD _ wcmd(LCD _ MODE);
Retraso(5);
LCD _ wcmd( 0x0c); //Activa y desactiva el cursor de visualización.
Delay(5);
LCD _ wcmd(0x 06); //Mover el cursor
Delay(5);
LCD_wcmd(0x 01); //Borrar el contenido de la pantalla LCD.
Retraso(5);
}