Modulos LCD
Modulos LCD
7 MÓDULO LCD
Los módulos LCD son muy útiles para ver cualquier tipo de información. La
pantalla de cristal líquido está conformada por una, dos o cuatro líneas de 8, 16, 20, 24
ó 40 caracteres de 5x7 pixels c/u. Los más comunes son los módulos LCD de 16x2,
16x4, con y sin backlight). La figura 2.10 a, muestra una vista de módulo LCD 16 x2 de
16 pines (los pines 15 y 16 corresponden al backlight, control de luz de fondo). Las
conexiones para controlar el contraste y el backlight del LCD se indican en la figura
2.10 b. Dependiendo el puerto que se utilice los demás pines se conectan al
microcontrolador como veremos más adelante.
lcd_init();
\f se limpia el LCD.
printf (string)
El formato es %nt,
Dónde:
t puede indicar un: carácter c, cadena o caracteres, entero sin signo u, entero con
signo d, entero largo sin signo Lu, Entero largo con signo Ld, entero hexadecimal
(minúsculas) x, entero hexadecimal (mayúsculas) X, entero largo hexadecimal
(minúsculas) Lx, entero largo hexadecimal (mayúsculas) LX, flotante con truncado f,
flotante con redondeo g, flotante el forma exponencial e, entero sin signo con decimales
insertados w.
PROGRAMA:
Para cambiar el cursor de una línea a otra o posicionar en una columna distinta
la instrucción lcd_gotoxy(x,y); es de mucha utilidad. En el presente ejercicio se tiene el
mismo resultado si se escribe el código así:
PROGRAMA:
#include <18f4550.h> //Librería para usar el PIC18F4550.
#fuses INTRC_IO, NOPROTECT, NOWRT, NOWDT, NOLVP //Configuración de fusibles.
#use delay (clock=4000000) //FOSC =4MHz.
#include <lcd.c> //Librería lcd.c.
int i; //Variable i.
#define use_portb_lcd TRUE //Define uso del puerto B para manejar el LCD.
Para los puertos A y C puede modificar en las instrucciones del mismo archivo
como se indica:
PUERTO LCD
BO ENABLE
B1 RS
B2 RW
B3 NO UTILIZADO
B4 D4
B5 D5
B6 D6
B7 D7
PROGRAMA:
#include <18f4550.h> //Librería para usar el PIC18F4550.
#fuses INTRC_IO, NOPROTECT, NOPUT, NOWDT, NOLVP //Configuración de fusibles.
#use delay (clock=4000000) //FOSC =4MHz.
#include <lcdb.c> //Librería para el manejo del LCD.
PROGRAMA:
//MOVIMIENTO DE TEXTO HACIA LA IZQUIERDA
#include <18f4550.h> //Librería para usar el PIC18F4550.
#fuses INTRC_IO, NOPROTECT, NOWRT, NOPUT, NOWDT //Configuración de fusibles.
#use delay (clock=4000000) //FOSC = 12 MHz.
#include <lcd.c> //Librería para el manejo del LCD.
const char mensaje[]= {"electromicrodigital"}; //Mensaje a desplegarse en el LCD.
void main(void) //Función principal main.
{
char y=1; //Índice fila.
signed char x=16; //Índice columnas (posiciones).
lcd_init(); //Inicializa LCD.
Figura 2.15. Captura parte del resultado del desplazamiento del texto a la izquierda.
PROGRAMA:
//MOVIMIENTO DE TEXTO HACIA LA DERECHA
#include <18f4550.h> //Librería para usar el PIC18F4550.
#fuses INTRC_IO,NOWDT,NOPROTECT,NOPUT, NOLVP //Configuración de fusibles.
#use delay (clock=4000000) // FOSC = 12 MHz.
#include <lcd.c> //Librería para el manejo del LCD.
const char mensaje[]= {"electromicrodigital"}; //Mensaje a desplegarse en el LCD.
void main(void) //Función principal main.
{
char y=1; //Índice fila.
signed char x=-16; //Índice columnas (posiciones).