Manual Teclado Pantalla
Manual Teclado Pantalla
Manual Teclado Pantalla
Para configurar la pantalla se necesitará una librería que será utilizada como un archivo de
cabecera, con esta librería se podrá manejar el LCD AVR mediante funciones fáciles de
recordar; si se busca en la red se encontrarán muchas librerías, una de ellas y es la que
se usará, es la que se puede encontrar dentro de la carpeta de archivos como “lcdlibrary”
Es de mencionar que el driver descargado solo trabaja para enviar los datos y caracteres al
LCD con 4 bits, se puede elegir entre el nivel alto o el nivel bajo del bus de datos del LCD.
Una vez descargada y descomprimida la librería para el manejo del LCD AVR, se verá que
se tienen los archivos que se muestran en la imagen, los archivos necesarios son los que
están resaltados, uno es el lcd.c y el otro el lcd.h, estos archivos serán los originales y hay
que cuidarlos, en lo posible no modificarlos, lo que se hará serán copias a las cuales si se
podrá modificar pero se recomienda solo la parte en la que se le indica el puerto donde se
conectará la pantalla LCD AVR, que viene a ser solo una línea de código, se ve en la
EIEE, 2018
imagen que también hay un manual que será de mucha utilidad, además los archivos
vienen comentados así que no será complicado utilizarlos.
Para utilizar estos archivos para el manejo del LCD AVR, en el ATMEL STUDIO es
necesario que se sigan los siguientes pasos.
En la paleta del explorador de soluciones sobre la carpeta que tiene el nombre del proyecto
creado, en este caso se le ha llamado manual, hacer click con el botón derecho y en las
opciones que aparecen sobre add y luego sobre nueva carpeta como se ve en la siguiente
imagen. A la nueva carpeta se le puede dar el nombre que se quiera, en este caso se le ha
dado LCD, luego hay que copiar los archivos descargados lcd.h y lcd.c dentro de esta
carpeta, para eso se copia los archivos, se hace click derecho sobre la carpeta LCD creada
y se le dice pegar, la paleta del explorador de soluciones quedará tal como se ve en la
siguiente imagen.
EIEE, 2018
Luego hacer click derecho sobre el nombre del proyecto, en este caso manual, y hacer
click sobre propiedades, se abrirá una ventana como la que se muestra a continuación, en
la pestaña que dice toolchain se hace click sobre directorios, en la opción que dice include
paths sobre el icono + en color verde hacer click, se abrirá la ventana add include paths(-I),
click sobre el botón de los tres puntos … y allí se busca la ubicación de la carpeta creada
donde se agregó los archivos lcd.c y lcd.h que en este caso se le llamo LCD, normalmente
aparece en forma automática la ubicación de esta carpeta en la ventana que se abre y solo
hay que darle en seleccionar carpeta o hacer doble click sobre la carpeta, en caso
contrario hay que buscarla y estará dentro de la carpeta del proyecto creado en el ATMEL
STUDIO.
EIEE, 2018
En la imagen se observa que en la lista de errores aparece una advertencia que dice
“F_CPU not defined…” para evitar eso hay que hacer un paso mas, en toolchain sobre
symbols se hace click, luego en defined symbols(-D) sobre + en color verde, en la ventana
que sale se escribe la frecuencia a la cual está trabajando el microcontrolador AVR tal
como se ve en la siguiente imagen, en este caso la frecuencia es de 8Mhz,
F_CPU=8000000UL, ul viene de entero sin signo.
EIEE, 2018
Después de esto ya tenemos nuestra librería, pero debemos indicarle al compilador que
vamos a utilizar la pantalla LCD por lo tanto escribimos en el encabezado
#include <lcd.h>
Luego será necesario indicarle al programa cual será el puerto del microcontrolador AVR
que se utilizará para la pantalla LCD, por defecto es el puerto C, para cambiarlo, y será la
única modificación que se haga, hay que hacer click derecho sobre “lcd.h” y en las
opciones que aparecen hacer click sobre Goto implementation, tal como se muestra en la
siguiente imagen.
En la pestaña que se abra, que será la pestaña lcd.h, hay que buscar la opción
LCD_PORT, tal como se muestra y está resaltada en la siguiente imagen, se puede ver
que se ha modificado la opción por defecto que es PORTA por PORTD, porque será este
el puerto que se usará para el ejemplo con el ATmega88, no se harán más modificaciones,
pero sí que se pueden hacer, pero cuando se está comenzando es mejor que no, conforme
se vaya conociendo más el driver se podrán hacer todas la modificaciones que se quieran.
EIEE, 2018
No modificando nada más en el driver, las conexiones de los pines de LCD AVR a los pines
del puerto del microcontrolador AVR utilizado serán en el siguiente orden, si se desea
también se puede modificar, pero por ahora se usaran los que vienen por defecto, en este
caso al puerto D si es otro el puerto utilizado el orden es el mismo, solo cambia el nombre
el puerto usado.
RS al pin PD4
RW al pin PD5
E al pin PD6
Data4 al pin PD0
Data5 al pin PD1
Data6 al pin PD2
Data7 al pin PD3
Para la programación del LCD AVR, utilizando la librería descargada y comentada líneas
arriba, se tendrán una serie de funciones que ayudarán a manipular las pantallas LCD, se
puede revisar el manual para conocer para que sirven cada una de las funciones, en este
caso se comentarán las mas importantes para comenzar, mas adelante se irá
complementando con otras.
Lo primero que hay que hacer es inicializar la pantalla LCD AVR y eso se hace mediante la
siguiente función
Para el modo de inicio de la pantalla LCD AVR se tienen 4 opciones que son las
siguientes:
Para el ejemplo se usará la segunda opción por lo que para iniciar la pantalla LCD será
como sigue
Se utilizará el circuito conectando el LCD AVR al puerto D del ATmega88, con el orden de
los pines tal como se ha comentado lineas arriba y utilizando las funciones comentadas, se
imprimirá en la primera fila el mensaje “Hola Mundo” y en la segunda fila el mensaje “LCD
con AVR”.
En la figura 1 se observamos un a teclado matricial 4x4, con cuatro filas (R1, R2, 3R3, R4)
y cuatro columnas (C1, C2 .C3, C4). Las filas corresponden a los pines 1 2 3 y4
respectivamente y las columnas a los pines 5 6 7 y 8 respectivamente.
Este tipo de teclado lo que hace es conectar una fila con una columna; entonces, si
presionamos la tecla 1, se conectará la fila 1 con la columna 1 que en nuestro caso
correspondería al pin 1 con el pin 5. Para detectar un carácter presionado, debemos
EIEE, 2018
realizar un ciclo que alimente las filas y reciba la señal a través de las columnas mediante
una configuración pull-up.
Ejemplo