Electromiografo
1. Introducción
En este laboratorio se abarcara el tema de los LCDs alfanuméricos con controlador Hitachi HD44780 o compatible, es decir, la mayoría. Hay diversas firmas, como Optrex, Sharp, Crystalfontz America, Tianma, etc., que producen muchísimos LCDs de este tipo. Los hay desde 1 a 4 líneas, desde 8 a 40 letras por línea, algunos coniluminación de fondo, con diferente tecnología de fabricación, etc. Dada la compatibilidad en el control de todos ellos, la elección de un modelo en particular queda a tu cargo.
El LCD utilizado en este curso es de 2 líneas, de 16 letras cada una.
PINES DEL LCD
SET DE INSTRUCCIONES DEL LCD
Es el controlador interno HD44780 (u otro) del LCD quien ejecuta lasoperaciones de mostrar las letras en la pantalla, mover el cursor, desplazar el contenido de la pantalla, etc. Lo que nos toca a nosotros es enviarle los códigos de esas operaciones. A continuación un pequeño cuadro:
INTERFACE ENTRE UN MICROCONTROLADOR Y UN DISPLAY LCD
Esta presentación es poco usual. Los libros o los manuales de los compiladores suelen resaltar solo la interface de lalibrería que proveen. Esta exposición va pensando en los noveles usuarios del Arduino, que encuentran algo confusa la inicialización de su librería de LCD por contemplar todos los modos de operación viables.
Aunque los LCDs parezcan simples de usar, para bien o para mal sus características abren puertas a diversos modos de interface. Considerando que el bus de datos puede ser de 8 o 4 bits y quese puede usar o prescindir de la línea de control RW, podemos obtener los siguientes 4 tipos de conexión.
INTERFACE DE 11 LINEAS:
La interface de 11 líneas se trabaja con los 8 bits del bus de datos y las 3 líneas de Control. El uso del pin RW controla las operaciones de escritura (RW = 0) y lectura (RW= 1) del LCD. Las lecturas nos permiten por un lado conocer si el LCD está ocupado o nopara saber si podemos enviar la siguiente instrucción de escritura, así como leer la posición actual del cursor.
INTERFACE DE 10 LINEAS:
En la interface de 10 líneas el pin RW del LCD va siempre plantado a GND (RW = 0). Ello significa que el LCD solo aceptará operaciones de escritura del microcontrolador. Renunciar a la lectura de las memorias RAM es un hecho que pasa casidesapercibido. El punto clave de no controlar el pin RW es no enviar al LCD una nueva instrucción sin que haya terminado de procesar la anterior. Ya que no podemos leer del LCD para saber su estado, debemos calcular su disponibilidad a partir de los tiempos que demoran en ejecutarse las instrucciones. Por ejemplo, una vez enviada la instrucción Clear Display debemos esperar al menos 1.6 ms (que es sutiempo de ejecución) antes de enviar la siguiente instrucción.
INTERFACE DE 7 LINEAS:
En la interface de 7 líneas el bus de datos del LCD se conecta con el microcontrolador por sus 4 pines más altos: D4, D5, D6 y D7. Como todas las instrucciones (de datos y de comando) son de un byte, los bytes deben ser transferidos en dos mitades. Primero se envía o recibe el nibble alto y luego elnibble bajo, siendo cada nibble validado por un pulso del pin Enable. Esas rutinas extras harán crecer un poco el firmware (programa del microcontrolador).
En la contraparte, con el microcontrolador aún disponiendo de las tres líneas de control, podemos realizar cualquier operación de lectura y escritura, lo mismo que en la interface completa de 11 líneas pero ahorrándonos 4 pines. Este beneficiosuele prevalecer sobre el handicap derivado del firmware.
Los LCDs están fabricados con tecnología CMOS, por lo que algunos modelos sugieren conectar los pines de entrada no usados a alguna señal estable para evitar que por ellos se filtre algún ruido que pueda perturbar la operación del LCD.
2. Objetivos
Aprender a utilizar el lenguaje C para la programación del display LCD....
Regístrate para leer el documento completo.