TODO SOBRE ELECTRONICA

Usted aprenderá los diferentes temas de Electrónica que se enseñan en universidades e institutos.

CANAL DE YOUTUBE

Tutoriales de los temas que se publican en blog. SUSCRIBETE

PROGRAMACION DE MICROCONTROLADORES PIC

Programacion en CCS Compiler de Microcontroladores PIC, sentencias y codigos de todos los programas. Archivos y libros relacionados a la programacion de PIC en lenguaje C.

ELECTRONICA BASICA

Conozca como funcionan y como se usan los componentes que encontramos en todo circuito electronico

LIBROS Y TEXTOS SOBRE ELECTRONICA

Libros, revistas y textos que le serviran para ampliar su conocimiento en los diferentes temas de la electrónica.Dale click en la pestaña LIBROS de la parte superior.

jueves, 30 de abril de 2015

CCS Compiler (PIC C Compiler) - Manejo de LCD 16x2

¿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, mediante carácteres, símbolos o pequeños dibujos dependiendo del modelo.
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 se conecta?

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 Ánodo y cátodo de led.


Pines de alimentación:

Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K

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)


La 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.
En este caso empleamos la librería "lcd.c".
La librería viene configurada de esta manera

#define LCD_ENABLE_PIN    PIN_E0
#define LCD_RS_PIN               PIN_E1
#define LCD_RW_PIN             PIN_E2
#define LCD_DATA4               PIN_D4
#define LCD_DATA5               PIN_D5
#define LCD_DATA6               PIN_D6
#define LCD_DATA7               PIN_D7  

Vamos a configurar para poder usar el PIN que nosotros deseamos, en este caso para usar el puerto D del PIC.

#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  

o también de esta manera

#define LCD_DATA_PORT getenv("SFR:PORTD")
#define LCD_ENABLE_PIN    PIN_D0
#define LCD_RS_PIN               PIN_D1
#define LCD_RW_PIN             PIN_D2

Funciones a usar:
  • lcd_init(): Inicializa el lcd
  • lcd_gotoxy(x,y): Establece la posición de escritura en el lcd.
  • lcd_putc(char s): nos muestra un dato en la siguiente posición del lcd.
          \f se limpia el lcd
              \n el cursor se posiciona al inicio de la segunda línea
                \b el cursor retrocede una posición
      • lcd_getc(x,y): lee el carácter de la posición (x,y)
      • printf(lcd_putc, cadena, variable)

             Ejemplo:   printf(lcd_putc,"\n %2.2f la temperatura es: ",temp);
                               donde temp: variable

      EN EL TUTORIAL PODRAN VER COMO SE HACE USO DEL LCD

      DESCARGA EL PROGRAMA Y LA SIMULACION EN