sábado, 27 de febrero de 2016

Tarjeta Power2550 y LCD cargando el codigo desde el bootloader

Asi quedaría la conexión y el funcionamiento del PIC18F2550 con el LCD.


En este post vamos a trabajar con la tarjeta POWER2550 y un Display LCD 2x16.

¿Que es un LCD?


El LCD(Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual dirige todo su funcionamiento.
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.

¿Como es su conexionado?

En la siguiente imagen de Proteus se puede observar la estructura de sus pines.
Lo  podemos dividir en los Pines de alimentación, pines de control y los pines del bus de datos bidireccional. Por lo general podemos encontrar ademas en su estructura los pines de Anodo de led backlight y cátodo de led backlight.


Pines de alimentación:

Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo podemos simplicar conectando una resistencia de 2.2k a VDD, dependiendo del modelo del LCD esta puede variar, entre mas baja sea mas fuerte sera el contraste.

    Pines de control:

    RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato presente en el bus de datos pertenece a un registro de datos o un carácter.
    RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un dato en la pantalla o leer un dato desde la pantalla.
    E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o leer desde el LCD.

      Pines de Bus de datos:
      El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación con el LCD podemos hacerlo utilizando los 8 bits del bus de datos(D0 a D7) o  empleando los 4 bits mas significativos del bus de datos(D4 a D7). En este caso vamos a explicar la comunicación con el bus de 4 bits.

      ¿DDRAM y CGROM?

      Son las dos zonas de memoria del LCD.
      La memoria DDRAM(Data Display Ram): corresponde a una zona de memoria donde se almacenan los caracteres que se van a representar en pantalla. Es decir es la memoria donde se almacenan los caracteres a mostrar con su correspondiente posición.

      La memoria CGROM es una memoria interna donde se almacena una tabla con los caracteres que podemos visualizar en el lcd. En la imagen podemos ver un ejemplo de la tabla con un contenido de 192 caracteres.


      Cargando el codigo MIKROC en la placa POWER2550 usando el bootloader.

      Codigo:
      
      
      sbit LCD_RS at RB2_bit;
      sbit LCD_EN at RB3_bit;
      sbit LCD_D4 at RB4_bit;
      sbit LCD_D5 at RB5_bit;
      sbit LCD_D6 at RB6_bit;
      sbit LCD_D7 at RB7_bit;
      
      sbit LCD_RS_Direction at TRISB2_bit;
      sbit LCD_EN_Direction at TRISB3_bit;
      sbit LCD_D4_Direction at TRISB4_bit;
      sbit LCD_D5_Direction at TRISB5_bit;
      sbit LCD_D6_Direction at TRISB6_bit;
      sbit LCD_D7_Direction at TRISB7_bit;
      
      
      void main() {
        ADCON1 |= 0x0F;    // Configure all ports with analog function as digital
        CMCON  |= 7;                            // Disable comparators
        Lcd_Init();                        // Initialize LCD
        Lcd_Cmd(_LCD_CLEAR);               // Clear display
        Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
        Lcd_Out(1,1,"TARJETA 1");
        Lcd_Out(2,1,"POWER 2550");
        
        while(1);
      
      }

      Tarjeta Power 2550:



      Con este codigo vamos a cargar nuestra placa, para ello vamos a usar el programa mikrobootloader
      lo ejecutamos, presionamos el boton de reset de nuestra placa y esperamos que el icono USB que aparece en el programa se ponga rojo.


      Mientras esta asi no debemos perder el tiempo por que se puede desconectar, entonces rapidamente hacemos click en connect.


      Una vez conectado hacemos click en browse para cargar nuestro archivo .hex seleccionamos donde tenemos nuestra carpeta y seleccionamos el archivo.

      Ahora le damos click en Begin uploading y el programa sera enviado a nuestro micro asi sin mas.


      El proseso se termina y el micro se reinicia.


      El montaje funciona correctamente.






       


      No hay comentarios:

      Publicar un comentario