Ir al contenido principal

LCD

Las siguientes Líneas de Código, configuran el funcionamiento de la LCD.}

Se muestran 5 Funciones definidas:

1. void LCD_ENVIAR (char a)


Esta función está diseñada para imprimir un carácter en la LCD con un bus de 4 Datos.
Primero Envía el Nibble mas Significativo y Luego envía el Nibble menos Significativo, para esto la función LCD_ENVIAR define un parámetro tipo Carácter "char a".
El caracter a enviar se guarda en dos variables: la Variable "a" y la Variable "temp", en la variable temp dejo los 4 bits mas significativo "Nibble Alto", y luego para enviar los 4 bits menos significativo, rotamos 4 veces la variable "a" a la izquierda.

2. void LCD_DATO (char a)

Esta función está diseñada para enviar un solo carácter, la misma define un parámetro para argumentar el carácter que queremos enviar.
Esta función establece mediante la linea RS=1 el envío de carácter.

3. void LCD_CMD (char a)

Esta función establece que el Dato a ser enviado será un COMANDO de CONFIGURACIÓN más no un Carácter. Mediante la Linea RS=0.

4. void LCD_IMPRIMIR (unsigned char *a)

La siguiente función envía una cadena de caracteres. Implementando la proposición for incrementa un contador (Variable "i") desde Cero "0" hasta que tome el Carácter nulo '\0' Cuando toma este carácter nulo termina de enviar caracteres.

5. void LCD_CONFIG ()

Esta función envía los comandos necesarios para imprimir un mensaje en la pantalla.




void LCD_ENVIAR (char a){
    char temp=(a&0xF0);  // PREPARO EL DATO PARA ESTABLECERLO EN EL BUS
    LCD_BUS &=0x0F;    // PREPARO EL PUERTO PARA ENVIAR EL DATO.
    LCD_BUS |=temp;      // ESTABLESCO EL DATO EN EL BUS DE LA LCD.
     // SE HACE UNA SUMA LÓGICA ENTRE PORTD Y LA VARIABLE temp.
    E = 1;
    __delay_ms(1);
    E = 0;
    __delay_ms(1);

// envío del nibble menos significativo
    a=a<<4;                    // ROTO LOS 4 BITS MENOS SIGNIFICATIVO A LA IZQUIERDA
    LCD_BUS &=0x0F // PREPARO EL PUERTO PARA ENVIAR EL DATO.
    LCD_BUS |=a;         // ESTABLEZCO EL DATO EN EL BUS DE LA LCD.
    E = 1;                        // ACTIVO LA LCD.
    __delay_ms(1);         // ESPERO 1 mili segundo.
    E = 0;                        // DESACTIVO LA LCD
    __delay_ms(1);         // ESPERO 1 mili segundo.
}
//________________________________  
void LCD_DATO (char a){
    RS=1;
    LCD_ENVIAR(a);
}
//________________________________
void LCD_CMD (char a){
    RS=0;
    LCD_ENVIAR(a);            
}
//________________________________
void LCD_IMPRIMIR (unsigned char *a){
    int i;
    RS =1;
for(i=0;a[i]!='\0';i++)
        LCD_ENVIAR(a[i]);
}
//________________________________
void LCD_CONFIG (){
    LCD_CMD(0X02);
    LCD_CMD(0x28);
    LCD_CMD(0X0C);
    LCD_CMD(0X06);
    LCD_CMD(0X01);
}

Comentarios

Entradas populares de este blog

LIBREIAS PARA PIC 18

Se trata de una libreria que nos proporciona la MICROCHIP, donde contamos con subrutinas y funciones prediseñadas para configurar los periféricos de los microcontroladres de la serie PIC18. Esta libreria esta disponible y gratiuta  en la pagina de la MICROCHIP, donde podemos descargarla. http://www.microchip.com en la pestaña de DESIGN SUPPORT hacemos click en  Development Tools y selececionamos Compilers, en esta pagina seleccionamos Donwloads y nos dirigmos hasta la seccion de  Peripheral Libraries (PLIBS) Legacy Peripheral Libraries PIC18F Legacy Peripheral Libraries v2.0 - Windows     LINK DE DESCARGA. Después de instalar la librería, ésta crea una carpeta "plib" en la ruta donde se instalo en compilador C:\Program Files\Microchip\xc8\v1.37\sources\pic18\plib, y en esta carpeta esta los archivos ".h" que contiene esta libreria. Para utilizar un archivo de esta Libreria, incluimos la ruta del archivo de la libreria en nuestro programa princ...

EUSART

Configuración Comunicación Serial. Registros a Configurar:     TXSTA = Control y Estado de Trasmisión.     RCSTA = Control y estado de Recepción.     BAUDCON = Control del Generador De Baudio. Para modo de Operación Asíncrono:   Configurar los siguientes Registros:     Registro de Control y Estado de Transmisión (TXSTA).           Configurar los siguientes Bits:          Modo Asíncrono SYNC=0.          Habilitar Transmisor TXEN=1.          8 Bits de datos a transmitir TX9=0.          Baud Rate Alta Velocidad BRGH=1.    Registro de Control y Estado de Receptor (RCSTA).           Configurar los Siguientes Bits:          Habilitar Puerto Serial SPEN=1.          8 datos a Recibir RX9=0.   ...

TIMER 1

El Módulo Timer1 es un Contador/Temporizador con una Resolución de 16 bits en dos registros concatenados TMR1L y TMR1H. También puede ser configurado como fuente de oscilador para el microcontrolador ya que cuenta con su propio oscilador de baja-potencia. Además se puede utilizar para aplicaciones como, generar un reloj de tiempo real. ¿Cómo configuramos el Módulo Timer1?  Para configurar el Módulo TIMER1, elegimos el  Modo de Operación que deseamos. Modo de Operación:  Tenemos 3 opciones en que puede operar el Modulo Timer1. Temporizador. Contador Síncrono. Contador Asíncrono. TEMPORIZADOR Para este modo de operación como TEMPORIZADOR, el Modulo Timer1, incrementa los registros de trabajo del TIMER1 que son TMR1H:TMR1L, es decir,  por cada ciclo de instrucción (4/Fosc) se incrementará TMR1H:TMR1L, este incremento va desde 0000h hasta FFFFh (0 a 65536), en el momento que esto ocurre el modulo avisara que ha ocurrido un desbordamiento. C...