Inicio

sábado, 19 de mayo de 2018

LABORATORIO NRO. 5

JUEGO DE TIRO A CANASTA CON INDICADOR DE PUNTOS

FASE 2:
PROGRAMACIÓN DE UNA PANTALLA LCD




1. COMPETENCIA ESPECIFICA DE LA SESION:
  • Conocer el Display LCD y su funcionamiento.
  • Programar eficientemente el LCD.
  • Programar HMI para proyecto actual.
2. MARCO TEORICO:



¿Qué 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.
¿Cómo 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 alimentacion:

  • Vss: Gnd
  • Vdd: +5 V
  • Vee: Es el pin que controla el contraste del LCD, lo regulamos conectando un potenciometro de 10K conectado a Vdd.

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.
Librería del LCD:


  • Para poder visualizar los caracteres o símbolos en el LCD es necesario que en el programa de código fuente a emplear, incluyamos la librería de este. 
  • En este caso empleamos la librería "lcd.c", la cual hemos modificado. Siempre que utilicemos una librería de este tipo tendremos que analizarla para saber cuales son los pines de control y los pines para el Bus de datos, en este caso podemos observar que están definidos al comienzo de la misma.


                #define LCD_ENABLE_PIN PIN_D0
                #define LCD_RS_PIN PIN_D1
                #define LCD_RW_PIN PIN_D2
                #define LCD_DATA4 PIN_D4
                #define LCD_DATA5 PIN_D5
                #define LCD_DATA6 PIN_D6
                #define LCD_DATA7 PIN_D7

  • En el resto de la librería se puede encontrar todas las estructuras necesarias así como las funciones que nos permiten utilizar nuestro LCD.
  • Podemos encontrar funciones como :

                lcd_init: inicializa el lcd.
                lcd_gotoxy: establece la posicion de escritura en el lcd.
                lcd_putc: nos muestra un dato en la siguiente posición del lcd, podemos emplear                   funciones como \f para limpiar el display, \n cambio a la segunda línea,

                 \b mueve una posición atrás.
                lcd_getc(x,y): devuelve caracteres a la posición x,y.
                Otras funciones: lcd_send_nibble(BYTE n), lcd_send_byte(BYTE address,                            BYTE n).



3. EVIDENCIA DE TAREAS EN EL LABORATORIO:

Programa del LCD:







Vídeo de desarrollo:






4. OBSERVACIONES:


  • Para programar Microcontroladores PIC en un tiempo reducido y con un nivel muy bajo de complejidad, podemos utilizar el compilador PCW.
  • Al darle valor cero al último dígito, pudimos subsanar el error 0x0000 del pickit2.

5. CONCLUSIONES:




  • El PCW es un compilador muy completo ya que permite desde el manejo de una LCD hasta un protocolo de comunicación. 
  • En las pruebas realizadas se obtuvieron excelentes resultados al comparar el desempeño del microcontrolador programado en ensamblador y el programado en lenguaje C mediante el PCW
  • Se entendió un 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.

6. FOTO GRUPAL:




No hay comentarios:

Publicar un comentario