Red de conocimiento informático - Consumibles informáticos - Programación de alta precisión

Programación de alta precisión

Controlador LCD

/****************************************** ** *********************/

/* */

/*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;

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. */

/* */

/****************************** ***** *******************************************/

LCD_wcmd(uchar cmd) no válido

{

mientras(LCD_ocupado());

LCD_RS = 0

LCD _ RW = 0;

LCD_EN = 0;

_ nop _();

_ nop _();

#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.

*/

/* */

/****************************** ***** *******************************************/

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

#endif

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*/

/* */

/************** ******** ****************************************/

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);

}