0% encontró este documento útil (0 votos)
160 vistas32 páginas

Manejo de Puertos en PIC18F4550

Este documento presenta un informe de práctica sobre el manejo de puertos de entrada y salida de un microcontrolador PIC18F4550. Se explica el funcionamiento del PIC18F4550 y dispositivos como un display LCD y un teclado 4x4. La práctica simula un teléfono móvil programado con una contraseña de 4 dígitos para acceder a un menú en la pantalla LCD. Se detallan las bibliotecas, funciones y el compilador CCS utilizados, así como modificaciones realizadas a las librer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
160 vistas32 páginas

Manejo de Puertos en PIC18F4550

Este documento presenta un informe de práctica sobre el manejo de puertos de entrada y salida de un microcontrolador PIC18F4550. Se explica el funcionamiento del PIC18F4550 y dispositivos como un display LCD y un teclado 4x4. La práctica simula un teléfono móvil programado con una contraseña de 4 dígitos para acceder a un menú en la pantalla LCD. Se detallan las bibliotecas, funciones y el compilador CCS utilizados, así como modificaciones realizadas a las librer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Nacional Experimental del Táchira

Vicerrectorado Académico
Decanato Docencia
Departamento de Ingeniería Electrónica
Núcleo de Electrónica y Sistemas Digitales
Laboratorio de Sistemas Digitales II

Informe Práctica Nro. I


Manejo de puertos de entrada - salida del microcontrolador PIC 18f4550

Autores:
Reimar David Gómez Niño, CIV.-24.154.473
Gerson Javier Gaffaro Quintero. CIV.- 25.632.611

San Cristóbal, mayo, 2022


Introducción.
Para elaborar esta practica y obtener conocimientos sobre el manejo del Microcontrolador
PIC18F4550, primero mencionaremos lo que es y su funcionamiento. Está definido como un
circuito integrado programable que permite poder efectuar y/o controlar otros dispositivos,
algunas de sus aplicaciones son automatización y control de procesos, comunicaciones y red,
electrónica de consumo, diseño embebido y desarrollo, multimedia, dispositivos portátiles,
robótica, instrumentación y medida o seguridad.
También trabajaremos con el uso de un display LCD, esta pantalla puede mostrar gráficos
como también texto, permitiendo diseñar interfaces hombre-máquina (HMI) de mayor
complejidad. El Display LCD Gráfico HDM64GS12 posee 128 columnas y 64 filas de píxeles
blancos sobre un fondo azul y funciona con el controlador interno KS0108.
Otro elemento a someter a estudio en la práctica será el teclado 4x4, este teclado es un
arreglo de pulsadores que permiten darle a los proyectos un método de interacción con el usuario,
para el ingreso de diferentes datos que posteriormente pueden ser procesados, estos dispositivos
permiten ejecutar comandos que pueden ser mostrados en una pantalla LCD.
Con estos elementos mencionados anteriormente, procederemos a realizar la práctica,
Donde se podrá observar el manejo de una pantalla LCD HDM64GS12 controlada por un
PIC18F4550, para simular un teléfono móvil, el cual se tendrá que programar al inicio con una
contraseña de 4 dígitos, los cuales serán ingresados, para posteriormente acceder a un menú con
múltiples opciones. Se explicará la teoría, el código necesario para la realización, cambios
realizados en las librerías del programa CCS Compiler y los resultados que se lograron obtener al
finalizar la práctica.
Marco Teórico
Bibliotecas o Librerías: Se conoce como librerías (o bibliotecas) a cierto tipo de archivos
que podemos importar o incluir en nuestro programa. Estos archivos contienen las
especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar
a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas
otras más.
Al poder incluir estas librerías con definiciones de diferentes funcionalidades podremos
ahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemos leer
por teclado, debamos entonces crear una función que lo haga (algo realmente complejo), al poder
contar con las librerías, podremos hacer uso de una gran variedad de funciones que nos facilitarán
la vida y aumentarán el modularidad de nuestros códigos.

Funciones: Se trata de una serie de órdenes que han sido programadas en conjunto para
completar una tarea. Dicho en otras palabras, cuando se quiere lograr que el software realice una
tarea determinada, la función simplemente se encarga de marcar todos los pasos que son
necesarios realizar para ellos y efectuarlos de manera ordenada. Si bien las órdenes pueden ser
escritas y ejecutadas de manera independiente, el hacerlo por medio de una función aporta ciertas
ventajas tanto al código en sí mismo como al equipo donde se efectúa.

CCS Compiler: PIC C Compiler es un inteligente y muy optimizado compilador C que


contienen operadores estándar del lenguaje C y funciones incorporados en bibliotecas que son
específicas a los registros de PIC, proporcionando a los desarrolladores una herramienta poderosa
para el acceso al hardware las funciones del dispositivo desde el nivel de lenguaje C.
El compilador CCS contiene más de 307 funciones integradas que simplifiquen el acceso
al hardware, mientras que la producción eficiente y altamente optimizado código. Se incluyen
funciones de hardware del dispositivo de características tales como: Temporizadores y módulos
PWM, convertidores A / D de datos on-chip EEPROM, LCD controladores, Memoria externa
buses, entre otras.

Teclado Matricial 4x4: Un teclado matricial 4×4 es un dispositivo que agrupa varios
pulsadores y permite controlarlos empleando un número de conductores inferior al que
necesitaríamos al usarlos de forma individual. Podemos emplear estos teclados como un
controlador para un autómata o un procesador como Arduino.
Estos dispositivos agrupan los pulsadores en filas y columnas formando una matriz,
disposición que da lugar a su nombre. Tiene una disposición rectangular pura de 4×4.

LCDs gráficos basados en KS0108: La mayoría de los LCDs gráficos usan un


controlador como el KS0108 (o compatible). Cada controlador tiene una memoria de 512 bytes
interna y por lo tanto permite controlar un display de 64x64 píxeles. El truco que usan los diplays
más grandes es usar un controlador por cada fracción de la pantalla, es decir, un display de
128x64 tiene 2 controladores, un display de 196x64 tiene 3 controladores, y uno de 128x128
tiene 4 controladores.
Cada controlador es independiente, es decir, no transmiten información entre ellos. Para
elegir a qué controlador hablarle, se usan dos líneas de control, llamadas CS1 y CS2 (CS = Chip
Select). Básicamente actúa como una dirección de 2 bits, que elige a cuál de los 4 controladores
posibles se desea hablar. El controlador no tiene generador interno de fuentes, por lo que, si se
desea escribir un texto, será necesario almacenar los píxeles de cada caracter en un
microcontrolador o memoria externa.
Pre-Laboratorio

Teclado 4x4 Funcionamiento y programación


Este teclado matricial 4×4 se encuentra formado por la matriz de pulsadores que se
encuentran dispuestos en filas (L1, L2, L3 y L4), y las columnas (C1, C2, C3 y C4), esta
organización es de acuerdo a reducir el número de pines requeridos para su conexión y
programación. Los 16 botones necesitan sólo 8 pines del microcontrolador en lugar de 16
independientes. Para poder leer el botón que fue pulsado es necesario utilizar una técnica de
barrido, no sólo leyendo el pin del microcontrolador.

Para programar un Teclado Matricial o un Keypad en un PIC o en cualquier otro


microcontrolador, basta con seguir en orden la siguiente secuencia:
 Inicialmente conectamos el teclado matricial en un puerto configurando los PINES
como DIGITALES. Para eso será importante poder identificar cuáles son las
columnas y las filas del teclado.
 Las Filas del Teclado estarán conectadas en PINES DIGITALES configurados
como SALIDAS.
 Las Columnas del Teclado estarán conectadas en PINES DIGITALES
configurados como ENTRADAS y con las Resistencias PULLUP activadas (por lo
tanto, estas entradas siempre estarán recibiendo un 1 lógico, si ningún botón es
presionado).
 Si el puerto NO posee resistencias PULLUP estás deben ser agregadas físicamente
(resistencias conectadas a las columnas y a +5v)
 Configuramos TODAS las SALIDAS (Filas) en 1 lógico o 5v, es decir vamos a
dejarlas encendidas.
 Aplicamos el concepto de la MULTIPLEXACIÓN: Aquí vamos a mandar un 0
lógico por cada fila y vamos a leer todas las columnas, si se detecta que alguna
columna recibió el cero lógico, indica que el botón que comparte la fila y la
columna fue presionado, en caso contrario vuelvo a colocar la fila en 1 lógico y
verifico la siguiente fila.

En la siguiente animación podemos ver como se establece el presionado de un botón sobre


el keypad.
En la Figura anterior, podemos observar cómo sí se presiona el pin 8 el controlador
recibirá un cero en la línea del pin 6 y la línea del pin uno, de esa manera logra ubicar la tecla que
se esta pulsando.
En el compilador hay una función conocida como KBD.c para manejar un teclado
telefónico, que es de gran utilidad en algunas aplicaciones donde el usuario necesita digitar un
número.

Teclado Matricial 4x4 PIC C Compiler CCS C.


El teclado matricial 4x4 está constituido por una matriz de pulsadores dispuestos en filas
(A, B, C, D) y columnas (1,2,3,4), con la intención de reducir el número de pines necesarios para
su conexión. Las 16 teclas necesitan sólo 8 pines del microcontrolador, en lugar de los 16 pines
que se requerirían para la conexión de 16 teclas independientes.

Modificaciones de la librería kbd.c


En el Compiler CCS C no contamos con una librería para usar el teclado matricial 4×4,
pero para ello podemos alterar un poco la librería del teclado 4×3 y de esta manera poder manejar
este dispositivo sin problemas.
Para alterar la librería debemos ir a la carpeta donde se encuentra instalado el PICC,
abrimos la carpeta de drivers, buscamos la función KBD, la abrimos con un bloc de notas y
realizamos los siguientes cambios:

Para el “Keypad layout” agregamos una columna para completar la matriz 4x4,
recordemos que la función KBD está diseñada para un teclado de 4x3 filas y columnas.

Como se
observa en
la figura
anterior, agregamos en el #define all_pins la “COL 03” equivalente a la columna 04 en la
definición de filas y columnas, otra modificación realiza es en la matriz, alterando un poco su
diseño, la posición y los valores correspondientes a cada una.
Ahora en el “If “Agregaremos un tercer caso para la tercera columna, como lo
observamos en la Figura a continuación.

En el
Switch de las columnas es necesario agregar un tercer caso que verifica sí hay algún dato en
COL3.
Se cambia el comparador de col==3 a col==4, ya que esto hace que al finalizar el ciclo
termine la comparación luego de la cuarta columna que se ha agregado y reinicie el contador a
cero y se repita la acción.

Modificaciones de la librería hdm64gs12.c

En este apartado haremos los mimos pasos que realizamos para encontrar la librería kdb.c.
Luego allí abriremos la función hdm64gs12 y modificaremos el nombre, en nuestro caso es
“HDM64GS12g”, luego realizaremos el otro cambio necesario para realizar la practica el cual se
muestra en la siguiente imagen:

Como observamos en la Figura anterior. El cambio realizado con respecto a la


hdm64gs12.c, fue modificar:

 PIN_B0 por PIN_C1


 PIN_B1 por PIN_C2
 PIN_B2 por PIN_C5
 PIN_B3 por PIN_C6
 PIN_B4 por PIN_C7

Este cambio se realiza debido a que, la disposición de los pines de conexión de la pantalla
LCD vienen por defecto con algunos pines conectados al puerto B, cuyo puerto necesitaremos
ocupar para conectar el teclado 4x4. Por esta razón se cambiaron los pines de conexión del puerto
B a pines de conexión del puerto C.

Conexión del teclado 4x4

La conexión del teclado la realizamos por medio del puerto B (por esta razón es que fue
necesario modificar la librería hdm64gs12.c, como se mencionó anteriormente) con las
resistencias pull up activadas, como se muestra en la Figura:

Librerías para el funcionamiento del teclado 4x4

Incluir en el encabezado el driver para manejar el teclado telefónico:

#INCLUDE<KBD.C>

Por defecto el teclado matricial está configurado para conectarse al puerto D, sin embargo,
la documentación de la librería detalla que el puerto debe poseer las resistencias PULL-UP del
microcontrolador o de lo contrario deberemos colocar dichas resistencias de forma física si
deseamos usar un puerto que no posea estas resistencias internamente.
El Pic 18F4550 entre otros posee las resistencias PULL-P en el puerto B, por lo tanto,
debemos añadir al encabezado la siguiente línea:

#DEFINE USE_PORT_KBD.

En el programa principal se debe habilitar las resistencias pullup del puerto B, con esto
simplemente se habilitan internamente unas resistencias del puerto B a “a” positivo.

PORT_B_PULLUPS (TRUE);

En el programa principal debemos inicializar el driver del teclado matricial usando la


siguiente función de la propia librería KBD:

KBD_INIT();

Para llamar la función del teclado y almacenar el valor digitado en una variable tipo
carácter usamos el siguiente comando, donde si no se oprime ninguna tecla el teclado retorna el
carácter nulo:

K= KBD_GETC(), k debe ser una variable de tipo carácter (char).

LCD gráfico con controlador KS0108.

El compilador CCS proporciona una librería capaz de dibujar primitivas sobre varios
modelos de displays LCD gráficos o GLCD (Graphic liquid cristal display). Hay versiones en
esta librería para pantallas con diferentes controladores embebidos, como el Samsung KS0108 o
el Toshiba T6963. La pantalla a LCD a utilizar en la práctica es la HDM64GS12 que es de
128x64 pixeles, con retroiluminación led blanca, controlada por el KS108B

Las funciones definidas para trabajar con pantallas LCD en CCS son:

 glcd_init(mode),
Enciende el lcd y debe ser la primera función en invocarse.
 glcd_pixel(x, y, color) ,
Establece el color del pixel, puede activarse o desactivarse.
 glcd_update(),
Escribe en la ram del lcd y solo es posible si está definido FAST_GLDC.
 Glcd_line(x1, y1,x1.y2,fiill,color) ,
Dibuja una línea desde el primer punto al segundo asignando color, el cual a su vez puede
activarse o desactivarse.
 glcd_rect(x1, y1,x1.y2,fiill,color) ,

Dibuja un rectángulo con vertice en (x1, y1) y el otro en (x2, y2), puede ser rellenado o no
y puede activarse el color o no.

 glcd_bar(x1, y1,x1.y2,width,color) ,
Dibuja una barra desde el primer punto al segundo, se puede definir el número del rango
de pixeles y puede activarse el color o no.
 glcd_circle(x, y, radius, color) ,
Dibuja un círculo con centro en (x,y); los caracteres son de 5x7 pixeles; se puede escalar
el tamaño y puede activarse el color o no.
 glcd_circle(x,y,txtptr, size, color) ,
Escribe el texto empezando en (x,y); los caracteres son de 5x7 pixeles; se puede escalar
el tamaño y puede activarse el color o no.

Esta función envía los caracteres a la línea siguiente (se debe usar #define GLCD_WIDTH
para definir el ancho de visualización).

Como convertir una imagen en formato bmp. Por medio del LCDASSITANT a un
arreglo hexadecimal

Gracias a la herramienta LCDASSISTANT podemos modificar el formato de mi imagen, de


manera que pueda ser insertada en una forma hexadecimal en mi LCD 128x64, a continuación, se
mostrara como se realiza este proceso por medio de unas capturas de pantalla.

Entonces debemos inicializar la herramienta LCDSSISTANT, seleccionar la opción de “File”


que se encuentra en la parte superior izquierda, seguidamente se desplegara un menú donde
vamos a seleccionar la opción de “Load image”. Cuando realicemos esto, se abrirá una ventana
como la que observan a continuación.
En esta ventana vamos a seleccionar nuestra imagen guardaba anteriormente de 128x64
pixeles, que fue diseñada por medio de la herramienta Paint.

Acá con la imagen cargada, se pueden modificar y configurar los parámetros que deseemos,
como se observa en la figura siguiente.
seguidamente seleccionamos nuevamente la opción de “File” para realizar el guardado de
la imagen, y debemos colocar en “File name” el nombre con que se desea guardar la imagen
teniendo en cuenta que al final del nombre debemos agregar el “.h” como se muestra en la
siguiente figura.

Así obtendremos la imagen en nuestro arreglo hexadecimal que deseamos para poder
mostrarla en nuestro LSD.

Diseño metodológico.

 Configuración de los periféricos empleados:


En la práctica nuestros puertos C y D funcionan como las salidas que controlan el
display LCD, estos puertos se configuran mediante la inclusión de una librería modificada
de PICC CCS llamada hdm64gs12.c, mediante #include " HDM64GS12g.c", los puertos
se van asignar de la manera en que los declaramos en la librería, recordando que fueron
modificados para poder dejar libres los puertos B que fueron utilizados en la conexión del
teclado, todo esto se explicó más a detalle anteriormente. Luego iniciamos la pantalla en
el cuerpo principal de la función. La pantalla LCD se conecta según lo definido en el
marco teórico anteriormente.

Haciendo referencia al teclado los pines del puerto B se emplearon para la conexión de
este mismo, el cual controlan las entradas que el usuario ingresaran para poder imprimirlas
mediante el LCD, para la configuración del puerto B y poder utilizarlo como entrada del
teclado primero hay que realizar una modificación en la biblioteca del teclado, la cual se
realizó y se explicó más detalladamente en el marco teórico (se cambió la librería kbc.c por
tecladomodificado.c), para conectar el teclado matricial es necesario activar las resistencias
pull up del puerto B, , esto se realiza agregando #define use_portb_kbd TRUE al encabezado
del programa, para utilizar el puerto B es necesario declarar la activación de las resistencias
pull up en el cuerpo de la función principal e inicializar el teclado mediante los siguientes
comandos port_b_pullups(true), kbd_init() de esta manera ya el puerto está configurado
para funcionar e invocar las funciones incluidas en la biblioteca tecladomodificado.c.

 Diagrama Esquemático:
Como se muestra en la imagen anterior podemos observar las conexiones realizadas entre
los dispositivos, comenzamos con la conexión de los puertos del teclado, los cuales están
remarcados con un recuadro rojo, allí vemos que los utilizados fueron los puertos de B, que van

desde B0 hasta B7, donde los puertos B0 a B3 son los encargados de controlar las columnas y los
puertos de B4 a B7 son los encargados de controlar las filas.

Ahora bien, los puertos C y D del microcontrolador, los cuales están remarcados por el
recuadro de color morado, funcionan como las salidas que van mostrar resultados por medio de la
pantalla LCD como se muestra en la figura anterior, estos puertos fueron modificados en la
librería hdm64gs12.c ya que los puertos B fueron
utilizados para ser la entrada del
microcontrolador por medio del teclado 4x4.
 Diagramas de Flujo:

Diagrama de flujo general


Función Ingreso

Función Verificar2
Función System
 Procedimiento de diseño de la aplicación:

Acá definimos los periféricos iniciales necesarios para realizar la actividad a


realizar, incluimos las librerías a utilizar, junto con las modificadas anteriormente las
cuales fueron “tecladomodificado.c” y “HDM64GS12g.c”. Definimos los puertos del PIC
que se van a conectar al teclado 4x4.
A continuación, incluimos nuestras funciones de imágenes. Seguidamente
procedemos a realizar la declaración de nuestras variables globales para su posterior uso,
como se observa en la siguiente imagen.
A

continuación, se muestra la función “glcd” es la encargada de imprimir la imagen que


necesitamos, recorriendo bit por bit de la matriz del LCD.

Esta misma función es la que se usa para realizar la impresión de todas las otras imágenes
que el LCD muestra a medida que avanza el programa. Las cuales son: "vodafone.h", "menu.h",
"WhatsApp.h”, “Telegram.h", "Mensajes.h”, “Telefono.h".

La función ingreso se encarga de recibir los valores de pin, que se solicita en la pantalla
LCD y serán ingresados a través del teclado 4x4, para posteriormente ser usada, es decir guarda
la contraseña del usuario. La función evita que sean introducidos teclas que no contengan
números.
Se trabaja mediante un ciclo, el cual está en true o sea siempre verdadero y éste se rompe
si se introducen 4 caracteres.

La función verificar solicita de nuevo clave de la misma forma que lo hizo la función
ingreso luego con esto verifica si es si el pin introducido es el mismo que el inicial para así dar
acceso a la aplicación del teléfono.

También envía una variable indicando si la verificación fue correcta o invalida para
posteriormente ser usada. Como se muestra a continuación:
La función system se encarga de recibir los datos de entrada solicitando primeramente la
contraseña inicial, luego de que el usuario ha insertado el primer pin, el verifica si se ingresó a la
aplicación y utiliza la función “verificar 2” para así validar si el usuario colocó el mismo pin
inicial y dar acceso a la aplicación.

Esto se hace mediante un ciclo, el cuál se repite hasta que el valor introducido sea el
correcto, no deje de solicitar el pin o de llamar la función verificar, hasta que esto suceda.

Por último, se le agregó al oprimir la tecla numeral regresé a la pantalla inicial es decir el
menú. Como se muestra en la imagen inferior.

Primeramente
enciende los puertos B,
inicia el teclado
mediante la función
kbd_init(), también inicia
el LCD mediante la
función glcd_init,
luego de esto imprime la
imagen de la compañía telefónica para así continuar con la ejecución del programa, solicitando la
función “system()”.

Resultados.

Lo primero que se pidió fue que la pantalla mostrara el logo de la empresa personalizado,
no solo usando letras sino una imagen como fue solicitado, en la siguiente imagen se puede
observar.
Seguidamente de que el LCD muestre el logo de la compañía, procederá a solicitar la
contraseña, la cual consta de 4 dígitos, con la que se podrá acceder a las aplicaciones
posteriormente.

Como se observa en la imagen inferior, a medida que voy presionando los números en el
teclado, en la pantalla se va observando un “*” como se solicitó para la actividad.
Acá nuestro programa va a registrar la clave ingresada por el usuario y procederá a
mostrar el menú principal del teléfono móvil en el cual se visualiza los iconos de las aplicaciones
al cual el desee ingresar, como se muestra a continuación.

Seguidamente el usuario deberá ingresar por medio del teclado 4x4 alguna de las opciones
que se muestran remarcadas:

Rojo; para whatsapp

Amarillo; para contactos

Morado; para mensajes de texto (SMS)

Fucsia; para telegram


En caso de no seleccionar alguna de las opciones remarcadas anteriormente, el programa
no procederá a solicitar la contraseña registrada, y quedará esperando hasta que si se seleccione
algunas de las opciones correctas.

Al momento de seleccionar la opción correcta el programa procederá a pedir la contraseña


como se muestra a continuación:

En caso de que la contraseña ingresada no sea la correcta el LCD mostrara el mensaje


siguiente “password failed”, como se muestra en la imagen inferior. Y procederá a solicitar la
contraseña nuevamente.
Ahora bien, si la contraseña es correcta el va a mostrar en la pantalla LCD, la información
correspondiente a la opción que haya seleccionado en el teclado. Como se muestra a
continuación;

Para WhatsApp mostrara una lista de chats como se pidió en la actividad, a continuación,
se
muestra:

Para la opción de contactos se muestra la lista solicitada de contactos del teléfono, como
se muestra a continuación:
Para la opción de SMS se muestra un chat, como podrán ver en la siguiente imagen:

Para la opción de telegram mostrara la siguiente imagen:

Y finalmente para poder regresar al menú donde están todas las opciones, se programo la
tecla del “#” para que con ella podamos realizar esta acción.
Conclusión.

Tal y como hemos podido comprobar, podemos hacer uso de las librerías del kbc.c y
hdm64gs12g.c para poder modificarlas y trabajar a nuestro gusto las acciones que deseemos de
ellas para lograr nuestro propósito, que en este caso en particular se logró completar.

Se manejo también el diseño y configuración del teclado 4x4 y la pantalla LCD. En el


programa Proteus pudimos hacer estas alteraciones del diseño de cada una de estos elementos.

Como se pudo observar también se explicó la manera de llevar una imagen de


formato .bpm a un arreglo hexadecimal por medio de la herramienta LCDASSISTANT, para
luego posteriormente ser mostrada en la pantalla LCD de 128x64.

Todo esto aunado al uso del PIC18F4550 el cual es un microcontrolador muy útil, y en
este caso es el encargado de recibir la información proveniente del teclado y luego mostrar los
resultados a través de la pantalla LCD.
Referencias Bibliográficas.

[1] Electronic MADE (2021,Oct 10) [ONLINE]. [Link]


4x4/

[2] Gonzalo Avila Alterach (2004-2022) [ONLINE]. [Link]

[3] Juan David Meza González (2012-2022) [ONLINE].


[Link]

[4] Naylamp Mechatronics SAC (2021) [ONLINE]. [Link]


de-usuario/[Link]
[5] M. Martinez. GLCD y PIC 4550. (2020. Marzo 27) [Vídeo online].
[Link]
Anexos.

[Link]
1TCeG7WtDah_oau0kTYJ95UYrYAG0FoNp?usp=sharing

También podría gustarte