Está en la página 1de 8

Teclado Matricial y Pantalla LCD

Jose Daniel Cardenas Henao


Universidad ECCI
Bogotá, Colombia
josed.cardenash@ecci.edu.co

I. RESUMEN
comunicación tecnológica que describe las
Este trabajo presenta los resultados obtenidos de especificaciones, explica el rendimiento y las
implementar un teclado matricial con visualización en características técnicas de un producto, material,
una LCD caracteres mediante la codificación en el componente, máquina, etc.
entorno de programación MPLABX, obteniendo así Memoria ROM: Sus siglas tienen su origen del
resultados óptimos para realizar un estilo de inglés Read Only Memory o memoria de solo lectura.
calculadora para principiantes. Y es que la memoria ROM se utiliza para almacenar
datos que no cambian o que lo hacen poco en el
Palabras claves—visualización, codificación, tiempo,
matricial Memoria RAM: La memoria RAM es la memoria
principal de un dispositivo, esa donde se almacenan
II. INTRODUCCIÓN
de forma temporal los datos de los programas que
Los microcontroladores son componentes que
estás utilizando en este momento.
usamos en nuestro diario vivir, pues estos están en
Microcontrolador: Un microcontrolador (abreviado
prácticamente todos los componentes electrónicos que
µC,
sean automatizados, pero muchas veces no se sabe
energía que requiere para su funcionamiento.
cómo están funcionando ni podemos ver internamente
Funciona para poder efectuar y/o controlar otros
con qué parámetros están trabajando, es por eso que
dispositivos, algunas de sus aplicaciones son
en este laboratorio se trabaja con una pantalla de
automatización y control de procesos, comunicaciones
visualización, que nos servirá para poder codificar
y red, electrónica de consumo, diseño embebido y
fácilmente, además de trabajar con un teclado
desarrollo, multimedia, dispositivos portátiles,
matricial de 4x4 simple para el correcto
robótica, instrumentación y medida o seguridad, como
funcionamiento de lo que en este caso sería una
por ejemplo el sistema de arranque del dispositivo o
calculadora con operaciones de un solo dígito.
BIOS UC o mCU) es un circuito integrado
programable, capaz de ejecutar las órdenes grabadas
III. MARCO TEÓRICO
en su memoria. Un microcontrolador incluye en su
Entorno de programación: Un entorno de
interior las tres principales unidades funcionales de
programación es un programa o conjunto de una computadora: unidad central de procesamiento,
programas que engloban todas las tareas necesarias memoria y periféricos de entrada/salida.
para el desarrollo de un programa o aplicación. Estas
tareas son básicamente las siguientes:
● Edición del programa.
● Compilación y enlazado.
● Ejecución.
● Depuración.
Datasheet u Hoja de datos: Un datasheet, también
conocido como una hoja de datos o ficha técnica, es
un documento que se suele utilizar para la
PIC18F4550: El microcontrolador PIC 18F4550
fabricado por Microchip es un dispositivo muy
potente principalmente porque tiene una memoria
RAM muy buena en comparación con otros
microcontroladores que ofrecen el mismo número de
pines.
Es el microcontrolador ideal para proyectos que
requieran un rendimiento más eficiente debido a que
el diseño de este tiene una mejora notable al resto de
microcontroladores PIC que ofrece Microchip.
Figura 1. Descripción general de un microcontrolador
Pertenece a la gama media – alta de Microchip y
funciona a 8 bits con arquitectura Harvard lo que nos
dice que opera por separado el bus de datos y el de
instrucciones.
La capacidad de procesamiento que tiene este
microcontrolador lo vuelve el ideal para proyectos
donde se requiera una respuesta rápida del sistema en
cuestión y además un consumo de energía moderado
ya que una de las mejoras que tuvo el diseño de este
PIC18F4550 es precisamente ese, mejorar el uso de la
energía que requiere para su funcionamiento.
Figura 2. distribución de filas y columnas en teclado
Funciona para poder efectuar y/o controlar otros matricial
dispositivos, algunas de sus aplicaciones son Para detectar la pulsación de una tecla
automatización y control de procesos, comunicaciones actuaremos de forma similar a la lectura simple
y red, electrónica de consumo, diseño embebido y de un pulsador. En resumen, ponemos a tierra un
desarrollo, multimedia, dispositivos portátiles, extremo del pulsador, y el otro lo conectamos a
robótica, instrumentación y medida o seguridad. una entrada digital con una resistencia de pull-up.
Teclado Matricial: Un teclado matricial es un Para leer todas las teclas tendremos que hacer un
dispositivo que agrupa varios pulsadores y permite barrido por filas. En primer lugar ponemos todas
controlarlos empleando un número de conductores las filas a 5V, y definimos todas las columnas
inferior al que necesitaríamos al usarlos de forma como entradas con resistencia de pull-up.
individual. Progresivamente ponemos una fila a 0V, y leemos
Un teclado matricial agrupa los pulsadores en filas y las entradas de la columna. Una vez realizada la
columnas formando una matriz, lo que permite lectura volvemos a ponerla a 5V, pasamos a la
emplear un número menor de conductores para siguiente fila, y volvemos a realizar el progreso
determinar las pulsación de las teclas.
hasta recorrer todas las filas.
Para detectar NxM pulsadores necesitamos sólo
La siguiente imagen muestra, a modo de ejemplo, una
N+M conductores. Por tanto el ahorro de
disposición rectangular de 4x4, aunque el
conductores es superior cuanto más grandes sean
funcionamiento es análogo en otras disposiciones. Al
N y M, y más parecidos entre sí. (ej: 16
detectar la pulsación en la columna X y la fila Y, pulsadores en 2x8 necesitan 10 conductores, y en
sabremos que se ha pulsado la tecla (X,Y). 4x4 sólo 8 conductores.)
Internamente la disposición de los pulsadores es la
siguiente, que es muy similar a la disposición que
vimos al tratar sobre displays LED matriciales.
Como hemos comentado, la mayor desventaja de la
disposición matricial es que pueden dar problemas al
detectar la pulsación de múltiples teclas de forma
simultánea.
Interrupciones: Las interrupciones son eventos que
hacen que el microcontrolador PIC deje de realizar la
tarea actual y pase a efectuar otra actividad. Al
finalizar la segunda actividad retorna a la primera y Figura 3. estructura el teclado matricial
continúa a partir del punto donde se produjo la En consecuencia, los teclados de 1xM, Nx1 y 2x2
interrupción. Las interrupciones permiten que un solo no suponen ningún ahorro en conductores
microcontrolador ejecute varias tareas (no aunque, independientemente, puede que os
exactamente al mismo tiempo) dependiendo del
resulten de utilidad únicamente por agrupar en un
mismo dispositivo la disposición que deseáis.
evento que desencadene la interrupción. Estos
Pines de alimentación:
dispositivos tienen desde 10 hasta 15 fuentes de
interrupción dependiendo del tipo específico de PIC.
Vss: Gnd
El manejo de las interrupciones se programa por Vdd: +5 voltios
medio de registros especiales que controlan el Vee: corresponde al pin de contraste, lo
comportamiento del microcontrolador bajo regularemos con un potenciómetro de 10K
determinadas circunstancias. conectado a Vdd.
1. Mediante una acción interna.El desbordamiento Pines de control:
de la Pila (Stack) por una operación indebida, RS: Corresponde al pin de selección de registro
por ejemplo: Al completarse la escritura de de control de datos (0) o registro de datos(1). Es
datos en una EEPROM. decir el pin RS funciona paralelamente a los
Por desbordamiento del registro TMR0 al rebasar el pines del bus de datos. Cuando RS es 0 el dato
valor 255 (FFh) a 0. presente en el bus pertenece a un registro de
control/instrucción. y cuando RS es 1 el dato
2. Mediante una acción externa, la más útil. Al presente en el bus de datos pertenece a un
producirse un cambio del nivel en uno de sus registro de datos o un carácter.
pines por una acción externa. Estando en el RW: Corresponde al pin de Escritura(0) o de
modo de reposo (SLEEP), un cambio de nivel Lectura(1). Nos permite escribir un dato en la
en el pin RB0/INT .
pantalla o leer un dato desde la pantalla.
E: Corresponde al pin Enable o de habilitación.
Un cambio de nivel en uno de los pines RB4 a RB7
Si E(0) esto quiere decir que el LCD no esta
estando configurados como entrada.
activado para recibir datos, pero si E(1) se
encuentra activo y podemos escribir o leer desde
LCD:El LCD(Liquid Crystal Dysplay) o pantalla de el LCD.
cristal líquido es un dispositivo empleado para la Pines de Bus de datos:
visualización de contenidos o información de una El Bus de datos bidireccional comprende desde
forma gráfica, mediante caracteres, símbolos o los pines D0 a D7. Para realizar la comunicación
pequeños dibujos dependiendo del modelo. Está con el LCD podemos hacerlo utilizando los 8 bits
gobernado por un microcontrolador el cual dirige todo del bus de datos(D0 a D7) o empleando los 4 bits
su funcionamiento. mas significativos del bus de datos(D4 a D7). En
En este caso vamos a emplear un LCD de 16x2, esto este caso vamos a explicar la comunicación con
quiere decir que dispone de 2 filas de 16 caracteres el bus de 4 bits.
cada una. Los píxeles de cada símbolo o carácter,
varían en función de cada modelo. IV. METODOLOGÍA
el algoritmo pues ya se tiene todo para realizarlo y que Primero que todo antes de empezar a codificar y
no haya problema alguno. crear el algoritmo que permitiera la solución al
problema se debe analizar el tipo de lenguaje que
se debía usar pues no es necesario decir
estrictamente que lenguaje es óptimo, pues en
ensamblador y en c se llegaría al mismo
resultado, pero por cuestiones de facilidad para
usar la librería ‘libLCDXC8’ es mejor realizar el
algoritmo en lenguaje c, ya con esto se procede a
realizar un diagrama de flujo breve y coherente
que nos facilite la codificación.
Luego usando un programa de simulación como
Figura 4. Simulación en Proteus. proteus vamos a hacer el circuito correspondiente
Después de que ya todo está simulado, lo único que para saber de una vez que pines se usarán y tener
faltaría es crear nuestro montaje en físico, y mirar si en cuenta configuraciones y posteriores
algún componente necesita alguna modificación como modificaciones al montaje , ya teniendo esto
calibración de brillo, soldadura en terminales de LCD, procedemos a realizar
conexiones a teclado matricial, entre otros. por último
V RESULTADOS
verificamos que las operaciones de la calculadora
estén bien hechas, pues una mala conexión entre
cualquier terminal del LCD nos causará un error
irreparable por medio de codificación

Figura 5. Montaje Final.


REFERENCIAS

[1] Hoja de datos del pic 18F4550.


PIC18F2455/2550/4455/4550 Data Sheet (microchip.com)
[2]. “PIC16F877A microchip datasheet”
https://www.microchip.com/content/dam/mchp/documents/MCU0
8/ProductDocuments/DataSheets/40044G.pdf Consultado: VI. CONCLUSIONES
2021-20-06. De este laboratorio se concluye que debemos tener
[3]. Editronikx. (2017) “Programador de microcontroladores
muy en cuenta las configuraciones de los puertos
ATM y microchip de Nómada”
https://www.youtube.com/watch?v=zMHFIDruw4I según el datasheet del pic18f4550, pues cuando
[4] Electronics Projects Circuits. 2021. MC68HC908GP32 vamos a usar un puerto por completo por lo general
Programmer Circuit – Electronics Projects Circuits. [online] este tiene algunos pines con funciones específicas,
Available at:
<https://320volt.com/en/mc68hc908gp32-programlayici-devresi/> como pueden ser módulos, temporizadores , LVP,
[Accessed 7 October 2021]. funciones análogas, entre otros.
[5]. Di Lella D. (2007).” Flash_pod”. Manual de usuario ver además de que en el montaje físico hay que tratar
1.2.
siempre de que las conexiones del LCD estén en
https://www.edudevices.com.ar/download/productos/desarrollo/FL
ASH_POD/Manual_flash_pod_um_1v2_ED.pdf Consultado: correcto funcionamiento pues un mal dato enviado
202110-06 por causa de un cable mal conectado, hará que todo
[6]. “Circuito del programador” funcione incorrectamente y no solo esto, sino que
https://320volt.com/en/mc68hc908gp32-programlayici-devresi/
Consultado: 2021-10-06 también cuanto conectemos el programador pickit 3
[7]. Texas Instruments debemos desconectar el teclado matricial pues el
https://www.ti.com/tool/MSP-GANG#supported-products programador podría no encontrar la ruta de
Consultado: 2021-10-06
comunicación de manera eficiente.
[8] https://www.crehana.com. 2021.¿Qué es un datasheet y cómo
leerlo FÁCIL? [2021]. [online] Available at:
<https://www.crehana.com/mx/blog/data-analitica/que-es-datashee
t/> [Accessed 7 October 2021].
[9] Descargas.pntic.mec.es. 2021. Lenguajes de Programación:
Entornos de programación. [online] Available at:
<http://descargas.pntic.mec.es/mentor/visitas/nav_Inici_Progr/len
guajes/len20.html> [Accessed 7 October 2021].
[10]LLamas, L. (2016). Usar un teclado matricial con Arduino.
Retrieved 23 November 2021, from
https://www.luisllamas.es/arduino-teclado-matricial/
Guevara, O. (2012). Interrupciones en microcontroladores.
Retrieved 23 November 2021, from
http://avecomputointe.blogspot.com/2012/05/interrupciones-en-mi
crocontroladores.html
[11]Lcd 16x2. (2013). Retrieved 23 November 2021, from
http://todoelectrodo.blogspot.com/2013/02/lcd-16x2.html

También podría gustarte