Función: Escriba un comando en el controlador LCD Hitachi HD44780. Incluye: xlcd.h Prototipo: void WriteCmdXLCD (unsigned char cmd); Argumentos: cmd Especifica el comando a realizar. El comando puede ser uno de Los siguientes valores definidos en xlcd.h: DOFF apagar la pantalla CURSOR_OFF Habilitar visualización sin cursor BLINK_ON Habilitar pantalla con cursor parpadeante BLINK_OFF Habilitar la visualización con el cursor que no parpadea SHIFT_CUR_LEFT El cursor se desplaza a la izquierda SHIFT_CUR_RIGHT El cursor se desplaza a la derecha SHIFT_DISP_LEFT La pantalla se desplaza a la izquierda SHIFT_DISP_RIGHT La pantalla se desplaza a la derecha Alternativamente, el comando puede ser una máscara de bits creada por realizar una operación AND a nivel de bit ('&') con un valor de cada uno de los categorías enumeradas a continuación. Estos valores se definen en el archivo xlcd.h. Modo de transferencia de datos: FOUR_BIT Modo de interfaz de datos de 4 bits EIGHT_BIT Modo de interfaz de datos de 8 bits Tipo de visualización: LINE_5X7 5x7 caracteres, una línea LINE_5X10 pantalla de 5x10 caracteres LINES_5X7 5x7 caracteres, múltiples líneas Observaciones: esta función escribe el byte de comando en la pantalla LCD Hitachi HD44780 controlador. El controlador LCD no debe estar ocupado cuando esta operación es realizado - esto se puede verificar usando la función BusyXLCD. Nombre del archivo: wcmdxlcd.c Ejemplo de código: while (BusyXLCD ()); WriteCmdXLCD (EIGHT_BIT & LINES_5X7); WriteCmdXLCD (BLINK_ON); WriteCmdXLCD (SHIFT_DISP_LEFT); Función: Escribe un byte en el controlador LCD Hitachi HD44780. Incluye: xlcd.h Prototipo: void WriteDataXLCD (datos de caracteres); Argumentos: datos El valor de los datos puede ser cualquier valor de 8 bits, pero debe corresponder a la Tabla de caracteres RAM del controlador LCD HD44780. Observaciones: esta función escribe un byte de datos en el controlador LCD Hitachi HD44780. El controlador LCD no debe estar ocupado cuando esta operación es realizado - esto se puede verificar usando la función BusyXLCD. Los datos leídos del controlador son para el generador de caracteres RAM o La memoria RAM de datos de visualización en función del conjunto anterior? RamAddr Función que fue llamada. Nombre del archivo: writdata.c Software de Biblioteca Periférica © 2005 Microchip Technology Inc. DS51297F-página 81 3.2.2 Ejemplo de uso #incluir <p18C452.h> #include <xlcd.h> #include <delays.h> #include <usart.h> void DelayFor18TCY (void) { Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); Nop (); } retraso DelayPORXLCD (vacío) { Delay1KTCYx (60); // Retraso de 15ms. // Ciclos = (TimeDelay * Fosc) / 4 // Ciclos = (15ms * 16MHz) / 4 // Ciclos = 60,000 regreso; } void DelayXLCD (void) { Delay1KTCYx (20); // Retraso de 5ms. // Ciclos = (TimeDelay * Fosc) / 4 // Ciclos = (5ms * 16MHz) / 4 // Ciclos = 20,000 regreso; } vacío principal { datos de caracteres; // configurar LCD externo OpenXLCD (EIGHT_BIT & LINES_5X7); // configura USART OpenUSART (USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX, 25); mientras (1) { while (! DataRdyUSART ()); // esperar los datos datos = ReadUSART (); // leer datos WriteDataXLCD (datos); // escribir en LCD si (datos == 'Q') descanso; } CerrarUSART (); } Biblioteca de compilador MPLAB® C18 C