Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IV Ciclo
Laboratorio N°2
SECCIÓN: B
DOCENTE
Cesar Augusto Ciriaco Martínez
I. Introducción.
Es un programa que corre bajo Windows, Mac OS y Linux. Presenta las clásicas barras
de programa, de menú, de herramientas de estado, etc. El ambiente MPLAB® posee
editor de texto, compilador y simulación (no en tiempo real). Para comenzar un
programa desde cero para luego grabarlo al μC en MPLAB® v7.XX los pasos a seguir
son:
2. Directivas
Las directivas son palabras reservadas para indicarle al MPLAB® que funciones debe
configurar cuando compile nuestro programa. Las indispensables para la correcta
compilación del programa son:
Ilustración 1.Funciones básicas de programa (Fuente: Wikipedia)
2.1. Compilación del Programa y carga al PIC
También existen mensajes y advertencias; los mensajes pueden ser, por ejemplo,
que se está trabajando en un banco de memoria que no es el bank 0, etc. Las
advertencias tienen un poco más de peso, por ejemplo: el PIC seleccionado no
es el mismo que está definido en el programa, etc. En ambos casos, mensajes y
advertencias, la compilación termina satisfactoriamente, pero hay que tener en
cuenta siempre lo que nos dicen estos para prevenir errores.
Capítulo 2
IV. Preparación.
1. Equipos y Materiales
• Computadora
• Software de desarrollo
• Proyector multimedia
• Tarjeta de desarrollo
2. Seguridad
Trabajar con Seguridad evita que las personas sufran daños, y provee un ambiente
satisfactorio de trabajo. Al trabajar en este laboratorio o taller y cualquiera de los
subsiguientes, realice el siguiente procedimiento:
a) Al ingresar, inspeccione:
• Orden y limpieza.
• Orden y Limpieza.
• Herramientas y equipos.
• Orden y limpieza.
• Seguridad.
pág. 8
Arquitectura e información del 16F877
• Ordenado y limpio.
• Seguro.
pág. 9
Arquitectura e información del 16F877
V. Procedimientos parte I.
pág. 10
Arquitectura e información del 16F877
• Probando:
pág. 11
Arquitectura e información del 16F877
LIST P=16F877A
INCLUDE<P16F877A.INC>
pág. 12
Arquitectura e información del 16F877
ORG 0
;Comparar dos números
numero1 EQU .10
numero2 EQU .5
MOVLW numero1
MOVWF 20h
MOVLW numero2
SUBWF 20h,W ; 20h-numero2 --> numero1 - numero2
BTFSS STATUS,C
GOTO menor
BTFSS STATUS,Z
GOTO mayor
GOTO igual
menor
MOVLW b'00000011'
MOVWF 23h
GOTO fin
mayor
MOVLW b'00000010'
MOVWF 24h
GOTO fin
igual
MOVLW b'00000001'
MOVWF 25h
GOTO fin
fin
GOTO $
END
Código ingresado
pág. 13
1.2. Mostrar evidencias de ejecución de los programas de los ítems 1, 2 y 3
pág. 16
Arquitectura e información del 16F877
pág. 17
Arquitectura e información del 16F877
pág. 18
Arquitectura e información del 16F877
pág. 19
Arquitectura e información del 16F877
pág. 21
Arquitectura e información del 16F877
Forma de operar:
Valor 1 Valor 2
Resultado
pág. 22
Arquitectura e información del 16F877
Se observa que pasa el literal, que viene con la instrucción, al ALU y junto con
un valor proveniente del registro de trabajo W se operarán y el tipo de operación
que realizará el ALU a depender de lo que contenga el código de operación de
la instrucción. Una vez que se lleva a cabo la operación, el resultado se guarda
por defecto en el registro de trabajo W.
movlw .10 ;W =
addlw .20 ;W =
addlw .30 ;W =
sublw .80 ;W =
clrw ;W =
movlw b’11110000’ ;W =
andlw b’00001111’ ;W =
iorlw b’01010101’ ;W =
iorlw b’10101010’ ;W =
addlw .35 ;W =
addlw 0x23 ;W =
pág. 23
Arquitectura e información del 16F877
pág. 24
Arquitectura e información del 16F877
COMPARADOR.
pág. 25
Arquitectura e información del 16F877
;***********************************************************
;Operaciones con instrucciones de acceso a memoria
;Programación y aplicaciones PIC16F877A
;***********************************************************
List P=16F877
org 0000h
nop ;no operación
movlw .18 ;W=
movwf Memoria1 ;[Memoria1]=
movlw .15 ;W=
movwf Memoria2 ;[Memoria2]=
movlw .20 ;W=
movwf Memoria3 ;[Memoria3]=
nop ;no operación
movf Memoria2,0 ;W=
addwf Memoria1,0 ;W=
movwf Memoria3 ;[Memoria3]=
comf Memoria3,0 ;negación bit a bit, W=
movwf Memoria1 ;[Memoria1]=
movf Memoria2,0 ;W=
subwf Memoria3,0 ;W=
movwf Memoria2 ;[Memoria2]=
swapf Memoria2,1 ;intercambio de nibbles[Memoria2]=
nop ;no operación
nop ;no operación
goto $
end
pág. 26
Arquitectura e información del 16F877
Son instrucciones que van a forzar el valor de un bit, quiere decir que el valor del
bit es cero o bien uno.
pág. 27
Arquitectura e información del 16F877
;******************************************************
*****
;Operaciones con instrucciones de manipulación de bits
;Programación y aplicaciones PIC16F877A
;******************************************************
*****
List P=16F877
org 0000h
;----------------------------------------------
;carga valores a los registros
pág. 28
Arquitectura e información del 16F877
goto $
end
pág. 29
Arquitectura e información del 16F877
• En (24) bsf permite setear (poner en 1). En este caso al bit N°0. Como se
sabe, anteriormente el registro 1 se limpió por lo que sus 8 bits se encuentran
en 0. Finalmente se obtiene el número 1.
• En (26) bdf permite limpiar (poner en 0). En este caso al bit N°7. Como se
sabe, anteriormente el registro 2 está dado por =255= (1111111 en binario).
Por lo tanto se obtiene el número 127 (01111111).
pág. 30
Arquitectura e información del 16F877
pág. 31
Arquitectura e información del 16F877
Capítulo 3
VII. Conclusiones.
VIII. Sugerencias.
pág. 32
Arquitectura e información del 16F877
IX. Bibliografía.
• https://www.youtube.com/watch?v=O5he-1qhaSg.
• https://www.todopic.com.ar/foros/index.php?topic=12345.5;wap2.
• http://perso.wanadoo.es/luis_ju/pic4/pic4_08.html.
• http://www.cec.uchile.cl/~mcarter/EL54B/Informe%20SPDI%20presentacio
nes/pic.pdf.
• http://perso.wanadoo.es/pictob/mpasm.htm.
pág. 33
Arquitectura e información del 16F877
X. Anexos.
pág. 34
Arquitectura e información del 16F877
pág. 35
Arquitectura e información del 16F877
pág. 36
Arquitectura e información del 16F877
pág. 37
Arquitectura e información del 16F877
pág. 38
Arquitectura e información del 16F877
pág. 39
Arquitectura e información del 16F877
Participantes:
No Puntaje
CRITERIOS A EVALUAR Muy bueno Bueno Requiere Mejora
aceptable Alcanzado
Implementación del
Laboratorio: conexiones,
seguridad, orden. 3 2 1 0
Implementación del
Laboratorio: Sustento de la
labor realizada en clase a 3 2 1 0
través de un ejercicio en grupo
como reto.
Culminación del
procedimiento del laboratorio,
de los cálculos, toma de datos 4 3 2 1-0
necesarios y respuesta a las
preguntas del test.
Informe y sustentación
pág. 40
Arquitectura e información del 16F877
Informe: contenido
tecnológico, análisis de los
resultados, observaciones y 3 2 1 0
conclusiones.
Presenta la aplicación de lo
aprendido y funciona correcta
mente en físico o presenta su 4 3 2 1-0
análisis.
Puntaje Total
Comentarios o sugerencias
………………………………………
pág. 41
Arquitectura e información del 16F877
pág. 42