1. PRÁCTICA 1
MANEJO DE MPLAB, REGISTROS Y RUTINAS LÓGICO ARITMÉTICAS
OBJETIVOS
• Familiarizarse con el software MPLAB 8.10
• Comprobar el funcionamiento de algunas rutinas aritméticas en lenguaje
ensamblador
ACTIVIDADES ANTES DEL LABORATORIO
• Revise sus apuntes sobre manejo y carga de registros
• Revise sus apuntes sobre rutinas lógico aritméticas dadas en
Microcontroladores I (Suma, resta y comparación de registros de 8 bits)
• Repase la guía de MPLAB entregada en clases
ACTIVIDADES DURANTE EL LABORATORIO
PARTE I. Manejo de MPLAB
• Crear un proyecto titulado “PRACTICA1” y guardarlo en la carpeta siguiente:
c://LABMICROA. Si la carpeta no existe, debe crearla
• Escribir en PRACTICA1.asm de su proyecto recién creado un programa que
realice la suma de DATOA y DATOB y guardar el resultado en TOTALH :
TOTALL (16 bits).
• Asignar tres valores aleatorios a DATOA y DATOB y comprobar el resultado
con la calculadora de WINDOWS
PARTE II. Rutina de Comparación
• Guardar el archivo PRACTICA1.asm y quitarlo del proyecto “PRACTICA1”
• Crear COMPAR.asm y agregarlo al proyecto
• Escribir una rutina que compare DATOA y DATOB.
• Si DATOA > DATOB → COMPA= 1
• Si DATOA = DATOB → COMPA= 2
• Si DATOA < DATOB → COMPA= 4
ACTIVIDADES DESPUÉS DEL LABORATORIO
• Entregar el .asm utilizado en la práctica
Prof. Luis Zurita Lab. Microcontroladores
2. PRÁCTICA 2
MANEJO DE PUERTOS
OBJETIVOS
• Familiarizarse con los recursos del software MPLAB 8.10
• Comprobar el funcionamiento de los puertos del PIC16F84A mediante el uso del
lenguaje ensamblador
ACTIVIDADES ANTES DEL LABORATORIO
• Revise sus apuntes sobre manejo de los puertos del PIC16F84A.
• Investigar y preparar una rutina de multiplicación de dos registros.
• Prepare y elabore el diagrama de flujo (DF) y el lenguaje ensamblador (.asm)
propuesto para esta práctica.
• Repase en la guía del MPLAB el uso del “STIMULUS”.
ACTIVIDADES DURANTE EL LABORATORIO
PARTE I.
• Dado el siguiente enunciado:
Se tiene un sistema dosificador/clasificador, por el que se transportan cajas. El
sistema cuenta con un pistón de posición (RB0) que se alterna entre la posición A y B.
Cuenta con un sensor detector de cajas (RA0) y un empujador de cajas (RB4).
Se pulsa “INICIO” (RA1), se coloca al pistón en la posición A. Se proceden a almacenar
15 cajas (Registro ContaCaj) en el lado A.
Al llegar a 15, se cambia el pistón para la posición B. Se almacenan 30 cajas (Registro
ContaCaj) en el lado B.
Se activa el empujador de cajas. Se emite señal sonora (RB1). Se desactiva el
empujador de cajas. Y Se reinicia el ciclo a la espera de que se presione “INICIO”
nuevamente.
Prof. Luis Zurita Lab. Microcontroladores
3. • Elaborar el DF y el .asm
• Crear un proyecto en el MPLAB para compilar y depurar el .asm
• Simular las entradas del puerto y visualizar las salidas del puerto con el
MPLAB.
PARTE II. Rutina de Multiplicación.
• Multiplique el valor de PORTA con el valor de PORTB y guarde el resultado en
dos registros llamados MULTIH y MULTIL (16 bits).
• Pruebe tres valores aleatorios, variando los pines de los puertos y compruebe
el resultado con la calculadora de WINDOWS.
ACTIVIDADES DESPUÉS DEL LABORATORIO
• Entregar el DF y el .asm utilizado en la parte I y parte II
Prof. Luis Zurita Lab. Microcontroladores
4. PRÁCTICA 3
COMUNICACIÓN CON EL MUNDO REAL
OBJETIVOS
• Familiarizarse con los recursos del software MPLAB 8.10 para la programación
de los Microcontroladores.
• Familiarizarse con programas alternativos para la programación de los
Microcontroladores y con varios modelos de programadores existentes en el
laboratorio.
• Programar un PIC16F84A para comunicarse con el mundo real.
ACTIVIDADES ANTES DEL LABORATORIO
• Armar el hardware, revisar y repasar enunciado propuesto en la parte I de la
práctica 2.
ACTIVIDADES DURANTE EL LABORATORIO
PARTE I.
• Una vez dada la charla técnica sobre el uso de los softwares y programadores
existentes en el laboratorio, proceda a grabar el programa de la parte I de la
práctica 2 en el PIC16F84A, siguiendo alguno de los dos algoritmos:
OPCIÓN A:
• Si se le ha asignado el PICSTART Plus ó compatibles:
1.Depure su programa con el MPLAB
2.Seleccione su modelo de programador (Programmer → Select programmer →
PICSTART Plus)
3.Verifique los bits de configuración
4.Habilite el programador (Programmer → Enable programmer)
5.Borre la memoria de programa del PIC (Presione Erase Flash Device)
6.Programe el PIC (Presione Program)
7.Retire el PIC e insértelo en el hardware previamente armado por usted
8.Energice y compruebe su funcionamiento.
9.Si no funciona, revise el hardware y el software y vaya a paso 1.
10.Si funciona, ha concluido su práctica.
PICSTART PLUS
Prof. Luis Zurita Lab. Microcontroladores
5. OPCIÓN B:
Si se le ha asignado el MAXIPIC, JDM ó usted ha realizado su programador
genérico:
1. Depure su programa con el MPLAB
2. Abrir el programa ICPROG
3. Cargue su programa con la extensión .HEX en el ICPROG (Open file)
4. Borre la memoria de programa del PIC (Presione Erase All)
5. Programe el PIC (Presione Program All)
6. Repita los pasos 7 al 10 de la opción A.
Genérico
La práctica concluye cuando el software grabado en el PIC logra gobernar
satisfactoriamente el hardware armado por usted.
ACTIVIDADES DESPUÉS DEL LABORATORIO
• No hay
Prof. Luis Zurita Lab. Microcontroladores
6. PRÁCTICA 4
MANEJO DE TIEMPOS Y DE CONTADORES
OBJETIVOS
• Familiarizarse con las estructuras de contadores y de retardos por software.
• Familiarizarse con los recursos del software MPLAB 8.10 para manejo de
tiempo.
ACTIVIDADES ANTES DEL LABORATORIO
• Repase sus apuntes sobre las estructuras de contadores ascendentes y/0
descendentes vistos en Microcontroladores I.
• Repase sus apuntes sobre los retardos por software y de temporizaciones
variadas.
• Repase las técnicas de Multiplexación de Displays y el uso de tablas vistos en
Microcontroladores I.
ACTIVIDADES DURANTE EL LABORATORIO
PARTE Única. Manejo de Displays.
• Elaborar un contador Ascendente/Descendente. Cuyo ciclo de conteo se
encuentra entre 00 y la cifra más significativa formada por los últimos
números de la cédula del binomio.
• Crear un proyecto en el MPLAB para compilar, depurar y simular el .asm con el
MPLAB.
• Montar el hardware necesario. No use decodificador.
• Programar el PIC16F84A
• Comprobar su funcionamiento.
• Asigne los siguientes pines para el manejo de los displays:
RA1 RA0 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
Display Display
NC g f e d c b a
Decena Unidad
ACTIVIDADES DESPUÉS DEL LABORATORIO
• Entregar el DF y el .asm utilizado en la parte I y parte II
Prof. Luis Zurita Lab. Microcontroladores
7. PRÁCTICA 5
TIMER0 E INTERRUPCIONES
OBJETIVOS
• Aplicar el uso del TIMER 0 y las interrupciones para la automatización de
procesos diversos.
ACTIVIDADES ANTES DEL LABORATORIO
• Repase sus apuntes sobre el temporizador TIMER 0 vistos en
Microcontroladores I.
• Repase sus apuntes sobre las interrupciones vistos en Microcontroladores I.
ACTIVIDADES DURANTE EL LABORATORIO
PARTE I. TIMER 0
• Elaborar el DF y el .asm para el siguiente enunciado:
A. Generar una señal cuadrada de 100 ms de período y con un duty cycle de 50
%
B. Configure el TMR0 para que trabaje como contador, con un prescaler de
1:16
• Crear un proyecto en el MPLAB para compilar, depurar y simular el .asm con el
MPLAB.
• Montar el hardware necesario.
• Programar el PIC16F84A
• Comprobar su funcionamiento mediante un osciloscopio.
PARTE II. INTERRUPCIONES
• Elaborar el DF y el .asm para el siguiente enunciado:
Diseñe un “semáforo de paso”, cuyo funcionamiento es el siguiente:
• Al iniciarse el sistema, los semáforos SA y SB, se encuentran trabajando en
modo de precaución ó intermitente: Se enciende el bombillo Rojo por espacio
de un segundo, mientras se mantiene el amarillo apagado, transcurrido un
segundo, se apaga el rojo y se enciende el amarillo y así sucesivamente.
• SA y SB, funcionan al mismo tiempo.
• Cuando un Peatón vaya a cruzar la calle, en cualquier momento, debe presionar
el botón “PASO”, y de forma inmediata, los semáforos se ponen en rojo por
espacio de 15 segundos, seguidamente, pasan al modo de precaución.
• Utilice el TMR0 para generar el tiempo de 1 segundo.
Prof. Luis Zurita Lab. Microcontroladores
8. • Utilice interrupción para el funcionamiento del botón “PASO”.
• Crear un proyecto en el MPLAB para compilar, depurar y simular el .asm con el
MPLAB.
• Montar el hardware necesario. No use decodificador.
• Programar el PIC16F84A
• Comprobar su funcionamiento.
ACTIVIDADES DESPUÉS DEL LABORATORIO
• Entregar el DF y el .asm utilizado en la parte I y parte II
• Realizar en Lenguaje Escalera un programa para un anuncio del IUT CUMANA
con las siguientes características:
• Cada letra se activa de manera secuencial, desde la I hasta la A, con un
tiempo de dos segundos.
• Seguidamente se apagan por cinco segundos y repite el ciclo nuevamente.
(Este programa se usará para la práctica 6).
• Realizar en Lenguaje Escalera el control de dos bombas con las siguientes
características:
• Al pulsar “MARCHA”, se activa B1 por cinco segundos y B2= off.
Seguidamente se activa B2 por cinco segundos y B1= off.
• Si se pulsa “PARE”, se apagan ambas bombas.
(Este programa se usará para la práctica 6).
Prof. Luis Zurita Lab. Microcontroladores