Está en la página 1de 5

Uptc-Sogamoso. Rojas. Bootloader 16F877A.

1
.

BOOTLOADER 16F877A
Kevin Leonardo Rojas Rincón
201610524
kevin.rojas@uptc.edu.co

Universidad Pedagógica y Tecnológica de Colombia


Resumen— El principal objetivo de esta práctica de En su memoria sólo reside un programa que controla en
laboratorio es manipular datos de entrada de tipo alfanumérico funcionamiento de una tarea determinada, sus líneas de
o señales, con el fin de procesarlas y generar respuestas de entrada/salida se conectan a los sensores y actuadores del
salida predeterminadas, así como afianzar las capacidades de dispositivo a controlar y, debido a su pequeño tamaño, suele ir
controlar y emplear de manera correcta periféricos integrado en el propio dispositivo al que gobierna. [2]
emparejados al microcontrolador como lo son la pantalla, el
ft232 o el DTMF. Oscilador:
Dispositivo capaz de convertir la energía de corriente continua
Índice de Términos— 16F877A, bucle, BCD, display, en corriente alterna a una determinada frecuencia. Tienen
DTMF, frecuencímetro, publik, WDT. numerosas aplicaciones: generadores de frecuencias de radio y
de televisión, osciladores locales en los receptores,
I. INTRODUCCIÓN generadores de barrido en los tubos de rayos catódicos, etc. [3]

WDT:
Vivimos unos tiempos con un gran desarrollo tecnológico.
La principal función del watchdog timer (WDT) es reiniciar el
Estamos rodeados de todo tipo de aparatos que, no hace tanto
procesador después de que ocurra una falla o problema de
parecían inalcanzables: ordenadores, teléfonos móviles de
altas prestaciones, cámaras, reproductores, máquinas, entre software, o después de un intervalo de tiempo determinado
otros. Todo ello ha sido posible gracias a la evolución dentro generado por el programador, en cuyo caso se reinicia el
del mundo de la electrónica, la aparición de un componente procesador o el programa en ejecución.
muy especial, supuso el empuje definitivo. Estamos hablando Si el watchdog timer no se emplea en ninguna subrutina puede
del "microcontrolador". ser configurado como un temporizador de intervalos y puede
generar interrupciones en los intervalos de tiempo
Se trata de un pequeño y económico dispositivo que en su seleccionados. [4]
interior integra todos los componentes de un computador:
Unidad Central de Proceso (CPU), memoria de programa,
memoria de datos y circuitos para el interface de periféricos. III. PROCEDIMIENTO
Es un dispositivo programable que puede usarse para controlar
cualquier tipo de máquina o automatismo. Si a eso le
añadimos su reducido tamaño y su excelente relación 1. Montaje del hardware:
prestaciones/precio, no nos debe extrañar que su empleo se Para el desarrollo de la práctica se debe construir el circuito
extienda en todos los ámbitos que nos podamos imaginar. Es que aparece en la figura 1, a partir de este sistema, se deben
por ello que para los ingenieros electrónicos se hace ineludible elaborar diferentes códigos fuente que permitan cargar al
la labor de comprender y utilizar tan versátil herramienta. [1] microcontrolador el firmware adecuado para instrumentalizar
las labores propuestas.
II. MARCO TEORICO

Microcontrolador:
Es un circuito integrado de alta escala de integración que
incorpora la mayor parte de los elementos que configuran un
controlador y que contiene todos los componentes
fundamentales de un ordenador, aunque de limitadas
prestaciones y que se suele destinar a gobernar una sola tarea.

Micro Controladores. Ingeniería electrónica – UPTC.


Uptc-Sogamoso. Rojas. Bootloader 16F877A. 2
.

2. Frecuencímetro.
Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
dispositivo que permita medir la frecuencia de
un tren de pulsos generado por el mismo
microcontrolador (pin y método de su elección);
mediante el teclado (MT8870), se debe contar
con la posibilidad de aumentar o disminuir la
frecuencia de la señal que sale del
microcontrolador; el rango de medición del
frecuencímetro debe ser de 0-65535 Hz, los
Figura 1: Montaje para desarrollo del laboratorio. datos medidos deben aparecer representados en
la pantalla LCD.

3. Aparición de caracteres alfanuméricos en LCD.


Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema en el que se puedan escribir todos los
caracteres de la tabla ASCII (no extendida);
estos deben aparecer en la pantalla LCD; en el
momento en que se pulse enter (tecla de su
elección), los caracteres consignados en la
pantalla LCD se deben transmitir de forma serial
al computador mediante un hiperterminal
dispuesto en el PC.

4. Visualización de magnitud de variables


analógicas.
Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema en el que se conecten al
microcontrolador, 2 sensores analógicos (estos
pueden ser dos potenciómetros); la señal
analógica de estos sensores, se deben cuantizar y
visualizar en la LCD (en formato decimal de 0-
1023) y en el computador mediante la aplicación
Figura 2: Montaje para el laboratorio. “Serial Plotter” de arduino.

Solución: Como entradas se empleó los pines A0


y A1 del micro, los cuales reciben la señal
analógica proveniente de 2 potenciómetros. Los
datos se procesan con el ADC y se obtiene el
valor equivalente en formato binario, dicho valor
se almacena en una variable la cual después se
imprime en la lcd, además simultáneamente el
dato se modifica para ser enviado por medio de
comunicación serial puerto virtual que se
empareja con el arduino para mostrar el dato por
monitor serial.

Figura 3: Montaje completo del laboratorio.

Micro Controladores. Ingeniería electrónica – UPTC.


Uptc-Sogamoso. Rojas. Bootloader 16F877A. 3
.

Figura 4: Tablas para visualización en LCD.

Figura 5: Salida obtenida en LCD.

Figura 6: Valores en terminal virtual de proteus.

Figura 8: Diagrama de flujo punto 4.

5. Calculadora –funciones trigonométricas.


Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema en el que se ingresen comandos
mediante el teclado, permitiendo al
microcontrolador evaluar funciones
trigonométricas; las funciones mínimas que se
deben evaluar y la sintaxis en la pantalla LCD y
en el terminal “Monitor Serie” de arduino son:
Figura 7: Valores mostrados en arduino. sin(x), cos(x), tan(x), a*b, a+b, a/b y a-b.

6. Generado de señales.
Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema en el que el microcontrolador pueda –
mediante su DAC interno- generar una señal
senoidal, diente de sierra, triangular y diente de

Micro Controladores. Ingeniería electrónica – UPTC.


Uptc-Sogamoso. Rojas. Bootloader 16F877A. 4
.

sierra reflejada; la señal generada se debe


visualizar en el “Serial Plotter” de arduino y
adicionalmente se debe verificar su existencia
(de la señal) mediante un voltímetro en el pin de
salida del DAC del microcontrolador; debe
existir la posibilidad de que la frecuencia y el
tipo de señal se manipulen desde el teclado
conectado al microcontrolador; en la LCD debe
aparecer un mensaje de la señal seleccionada y
su frecuencia.

7. Voltímetro y óhmetro digital.


Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema que se pueda usar para medir el voltaje y
la resistencia eléctrica de forma alternada
(dependiendo de una selección previa); la
función del dispositivo se seleccionará desde el
teclado; deben existir dos puntas de prueba;
adicionalmente, en la pantalla LCD y en el
Figura 9: Diseño pac-man.
hiperterminal, debe mostrarse el valor de la
medida; en la pantalla LCD se debe usar el
formato de número de la figura 13 (fuente
grande).

8. Pac-man.
Se debe construir un firmware que permita,
mediante el hardware de la labor 1, elaborar un
sistema que se visualice una figura “pac-man” la
figura debe desplazarse por toda la pantalla
comiendo galletas; asimismo, el pac-man, debe
moverse entre los límites impuestos por la
Figura 10: Diseño implementado.
pantalla LCD, el movimiento debe realizarse
mediante teclas hacia arriba, abajo, derecha, Se leen los datos provenientes del MT8870 para
izquierda; cuando termine de comer la totalidad determinar cuál dirección debe tomar el pac-man, se
de las galletas, debe aparecer un mensaje de compara el valor actual de la posición con los límites
juego terminado; adicionalmente, se debe contar de la pantalla, si no está en el limite el valor de
con la posibilidad de iniciar un nuevo juego; es posición aumenta o disminuye dependiendo de la
relevante que las galletas aparezcan al inicio del entrada.
juego dispuestas de forma aleatoria, en cantidad
y en ubicación, hace un mejor puntaje quien
logre atrapar las galletas en el menor tiempo
posible.

Solución: En primer lugar se diseña el símbolo


del pac-man que se va a imprimir en pantalla. Se
realizó un diseño que alterna entre boca abierta y
cerrada de la siguiente manera:

Figura 11: Verificación de posición.

Micro Controladores. Ingeniería electrónica – UPTC.


Uptc-Sogamoso. Rojas. Bootloader 16F877A. 5
.

Figura 13: Presentación caracteres grandes.

IV. CONCLUSIONES
 Es necesario tener cuidado con la cantidad de
instrucciones “Call” que se ejecutan de una manera
anidada puesto que un uso inadecuado de las mismas
puede llegar a producir un desborde en la memoria de
pila, cuestión que resulta fatal para el funcionamiento
del microcontrolador.
 Cuando se emplea el direccionamiento indexado se
requiere prestar bastante atención a la longitud y
ubicación de la tabla para de esta forma prevenir un
desborde no deseado en el PCL, este problema se
puede eliminar utilizando correctamente el PCLATH.
 Al momento de emplear el lenguaje C para la
Figura 12: Diagrama del punto 8. programación se debe tener cuidado de las librerías o
9. Publik. funciones a emplear puesto que estas pueden llegar a
Se debe construir un firmware que permita, ocupar gran cantidad de espacio en la memoria del
mediante el hardware de la labor 1, elaborar un micro.
sistema en el que se le envíe al microcontrolador  Siempre se debe tener en cuenta la velocidad de
una cadena de mínimo 60 caracteres y estos se transmisión que se va a emplear en el envío de datos
desplacen por la pantalla LCD de derecha a para que la comunicación serial se logre llevar a cabo
izquierda hasta que la totalidad del mensaje sea puesto que no tener sincronizados los dispositivos
generara datos erróneos.
cubierta.

10. Chat.
V. REFERENCIAS
Se debe construir un firmware que permita, [1] "¿Sabías que vivimos rodeados de microcontroladores? -
mediante el hardware de la labor 1, elaborar un Campus Tecnológico Virtual",
sistema de respuesta automática a preguntas Campustecnologicovirtual.es, 2019. [Online]. Available:
https://campustecnologicovirtual.es/blogs/sabias-que-
estilo chat como el realizado en clase para el vivimos-rodeados-de-microcontroladores-13. [Accessed:
“12F675” mediante un hiperterminal; el sistema 27- May- 2019].
debe responder por lo menos a 10 [2] "Microcontrolador - EcuRed", Ecured.cu, 2019. [Online].
cuestionamientos; si la pregunta no está dentro Available: https://www.ecured.cu/Microcontrolador.
de su banco de memoria, debe responder algo [Accessed: 28- May- 2019].
del estilo “no se entiende el cuestionamiento”; [3] “Oscilador”, 2019. [Online]. Available:
adicionalmente en la pantalla LCD, debe https://www.ecured.cu/Oscilador. [Accessed: 28- May-
aparecer un contador que visualice el número de 2019].
cuestionamientos que no se encontraban en el [4] P. Rojas, WATCHDOG TIMER, 1st ed. SANTA MARIA,
banco de memoria del microcontrolador; esta 2004, p. 1.
cuenta debe aparecer en el formato de
visualización que se muestra en la figura 13.

Micro Controladores. Ingeniería electrónica – UPTC.

También podría gustarte