0% encontró este documento útil (0 votos)
94 vistas9 páginas

Laboratorio 1

Este documento describe los microcontroladores PIC y el lenguaje ensamblador. Explica las características de varios microcontroladores PIC como el PIC16F84A, PIC16F873A, PIC16F877 y PIC18FXXX. También describe el lenguaje ensamblador, compiladores, directivas e instrucciones. Finalmente, muestra un ejemplo de código en lenguaje ensamblador para hacer parpadear un LED con un PIC16F877A.
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)
94 vistas9 páginas

Laboratorio 1

Este documento describe los microcontroladores PIC y el lenguaje ensamblador. Explica las características de varios microcontroladores PIC como el PIC16F84A, PIC16F873A, PIC16F877 y PIC18FXXX. También describe el lenguaje ensamblador, compiladores, directivas e instrucciones. Finalmente, muestra un ejemplo de código en lenguaje ensamblador para hacer parpadear un LED con un PIC16F877A.
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
Está en la página 1/ 9

Laboratorio Microcontroladores

Práctica 1: Lenguaje ensamblador


LABORATORIO #1
Catalina Aparicio Niño, U00122414
Juan Pablo Torres Contreras, U00121921
MICROCONTROLADORES PIC Y LENGUAJE ENSAMBLADOR

INTRODUCCIÓN compilador toma un texto (código fuente)


Los microcontroladores PIC son una escrito en un lenguaje de alto nivel y lo
familia tipo RISC fabricado por traduce a un lenguaje comprensible por
Microchip Technology Inc. caracterizados las computadoras (código objeto).
por una arquitectura sumamente Instrucciones: Son aquellos nemónicos
minimalista. En el presente informe se que son convertidos por el ensamblador
hablará acerca de las características de los en código máquina que puede ejecutar el
principales microcontroladores núcleo del microcontrolador. En la gama
pertenecientes a la familia PIC, junto con media (PIC16xxx) cada nemónico se
la debida programación assembler y convierte en una palabra en la memoria
simulaciones correspondientes siguiendo de programa.
las instrucciones referidas a esta familia Directivas: Son pseudo-instrucciones que
con el fin de conocer más acerca de estos controlan el proceso de ensamblado del
dispositivos y su adecuada aplicación. programa, pero no son parte del código.
Son indicaciones al programa
OBJETIVOS ensamblador de cómo tiene que generar el
 Analizar las características y código máquina.
especificaciones de Macros: Secuencia de nemónicos que
microcontroladores PIC. pueden insertarse en el código fuente del
 Revisar las características del ensamblador de una manera abreviada
lenguaje ensamblador, la instalación mediante una simple llamada.
y uso del IDE MicroChip.
 Realizar programación assembler Microcontroladores PIC:
haciendo uso de instrucciones Un PIC es un circuito integrado
referidas a diferentes programable (Programmable Integrated
microcontroladores PIC. Circuited), el cual contiene todos los
 Implementar la programación usando componentes para poder realizar y
el IDE de MicroChip y el simulador controlar una tarea, por lo que se
Proteus. denomina como un microcontrolador.
 PIC16F84A: es un microcontrolador
MARCO TEÓRICO gama media de 8 bits que físicamente
Lenguaje ensamblador: El lenguaje consta de 18
ensamblador o assembly es un lenguaje pines, su
de programación de bajo nivel. Consiste memoria de
en un conjunto de mnemónicos que programa es
representan instrucciones básicas para los de tipo flash,
computadores, microprocesadores, lo que permite Imagen 1 PIC16F84A
microcontroladores y otros circuitos grabarlo hasta
integrados programables. unas 10000 veces. Es realmente
Compilador: Son programas o sencillo de manejar. Sus principales
herramientas encargadas de compilar. Un características son:
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador
•Set de solo 35 instrucciones reprogramable tipo flash. Sus
•Memoria de programa de 1 KB características principales son:
(equivale a 1024 instrucciones) •40 pines
•Máxima velocidad de operación: 20 •Memoria de programa de 8 KB
MHz •Máxima velocidad de operación: 20
•68 Bytes de RAM MHz
•64 Bytes de EEPROM •368 Bytes de RAM
•4 fuentes de interrupción •256 Bytes de EEPROM
•2 puertos de salida •Set de 35 instrucciones
•13 Líneas de I/O configurables •14 interrupciones
individualmente •Arquitectura Harvard
•25 mA de corriente por pin •CPU RISC
 PIC16F873A: es un  PIC16F877A: Este microcontrolador
microcontrolador gama media de 8 de 40 pines es uno
bits fabricado de los más usados
por MicroChip, en proyectos
el cual cuenta escolares pues
con memoria de cuenta con una
Imagen 2 PIC16F873A
programa de tipo gran cantidad de Imagen 4PIC16F877A
EEPROM Flash mejorada, lo que documentación en foros de internet y
permite programarlo fácilmente es en el cual también se basan una
usando un dispositivo programador gran cantidad de libros. Sus
de PIC. Sus características características principales son:
principales son: •18 pines
•28 pines •Set de solo 32 instrucciones
•Memoria de programa de 7 KB •Memoria de programa de 2 KB
•Máxima velocidad de operación: 20 •Máxima velocidad de operación: 20
MHz MHz
•192 Bytes de RAM •224 Bytes de RAM
•128 Bytes de EEPROM •128 Bytes de EEPROM
•Alimentación de voltaje 4V~5.5V •2 Timer de 8bits
•22 Líneas de I/O configurables •1 Timer de 16 bits
individualmente  PIC18FXXX: pertenecen a la familia
•Temperatura de operación -40°C ~ de rango medio
85°C. avanzado de los
 PIC16F877: este microcontrolador micros de 8 bits de
posee varias características que lo Microchip. Poseen
hacen un un repertorio de 75 Imagen 5 PIC18FXXX
dispositivo instrucciones en modo estándar, mas
muy versátil, 8 instrucciones especiales que solo
eficiente y trabajan cuando el microcontrolador
Imagen 3 PIC16F877
practico. opera en modo extendido. Sus
Posee una características principales son:
amplia memoria para datos y • Puerto USB V2.0 que puede
programa, con memoria trabajar en modo low speed (1.5
Mb/s) y Full speed (12 Mb/s).
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador
•RAM 1-Kbyte accesible por USB. microcontrolador diseñado para ser
•Reloj externos hasta de 48 MHz. programado en lenguaje C.
•Oscilador interno de 31 KHz – 8
MHz configurable por software. PROCEDIMIENTO
•Pines con salida de alta corriente de Los microcontroladores son circuitos
hasta 25 mA. integrados programables, capaces de
•4 timers de los cuales: hasta 2 ejecutar las órdenes grabadas en su
pueden ser utilizados como módulos memoria, ya que incluye sistemas para
de captura/comparación/PWM. controlar elementos de entrada/salida. A
•Memoria FLASH con 100,000 continuación, se mostrará algunas
ciclos de lecturas escritura típicos. aplicaciones del microcontrolador
•Memoria EEPROM con 1,000,000 PIC16F877A.
ciclos de lectura escritura típicos y 1. Parpadeo:
retención de datos de hasta 40 años. Código:
•Programación con código de
protección.
•Programación ICSP vía dos pines.
Programación microcontroladores PIC
Los microcontroladores de la familia
PIC16F se han popularizado debido a su
bajo costo y tamaño, por lo que se han
usado en numerosas aplicaciones, que van
desde los automóviles a decodificadores
de televisión. Es muy popular su uso por
los aficionados a la robótica y electrónica.
Este tipo de microcontroladores pueden
ser programados tanto en lenguaje
ensamblador como en Basic y
principalmente en C, para el que existen
numerosos compiladores. Cuando se
utilizan los compiladores Basic, es
posible desarrollar útiles aplicaciones en
tiempo récord, especialmente dirigidas al
campo doméstico y educacional. Mientras
que los microcontroladores de la familia
PIC18F como pertenecen al rango medio
avanzado de los micros de 8 bits de
Microchip, poseen un repertorio de 75
instrucciones en modo estándar. Uno de
los detalles más importantes del PIC18 se
pensó para ser programado en lenguajes
de alto nivel, como C, y fue por eso que
Microchip desarrollo el hardware a la vez
que lo hacía con el compilador, para
amoldarlo a las características de este
último, al cual se denominó C18. Así,
PIC 18 se transformó en el primer
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador

Imagen 6 Parpadeo Led apagado

Imagen 7 Parpadeo Led encendido

Análisis: El código para parpadeo del


LED usando el microcontrolador
PIC16F877A fue realizado correctamente
pues se puede notar en la simulación de
las imágenes 6 y 7 donde se cumple su
funcionamiento. En el código realizado en
assembler, se observan las principales
acciones que se deben realizar para
cumplir la tarea de parpadeo con la
función bsf (Led encendido) y bcf (Led
Simulaciones: apagado), siguiendo un tiempo de retardo
adecuado, regido por las rutinas en
LAZO_R1, LAZO_R2 y LAZO_R3.
Dentro del código, cabe resaltar el uso del
“nop”, o no operation, con el fin de
obtener una exactitud en los ciclos,
dejando un número de rutina par (10).

2. On-Off Button
Código:
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador

Imagen 10 Acción Off

Análisis: En esta aplicación del


PIC16F877A, de encender y apagar un
led haciendo uso de dos botones, se
observó el correcto funcionamiento de la
programación, guiándonos directamente
hacía las subrutinas de prender y estado,
donde se muestra que al recibir un Bit por
el puerto B1 (Presionar Botón 1), el led se
enciende, y al recibir un Bit por el puerto
Simulaciones:
B2 (Presionar botón 2), el led tiene la
orden de apagarse.
3. Secuencia desorden
Código:

Imagen 8 Simulación proteus On-Off

Imagen 9 Acción On
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador
pulsación y no genera la respuesta
esperada.
4. Encender y apagar 5 leds
Código:

Simulaciones:

Imagen 11 Simulación Proteus PIC16F877A

Simulaciones:

Imagen 12 Simulación Proteus PIC16F877A Imagen 13 Simulación 5 leds apagados

Análisis: En el circuito mostrado en la


imagen 12 no se muestra una secuencia
ordenada, debido a que el tiempo de
rebote en que se pulsa el botón influye
sobre el tiempo de ejecución, lo que
genera un desorden. Si el tiempo es muy
corto, la secuencia se confundirá con la
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador

Imagen 14 Simulación 5 leds encendidos

Análisis: Esta simulación cumple el


mismo funcionamiento que la actividad 2
del presente laboratorio, con la diferencia
de que se usan más puertos de salida para
ubicar más leds al circuito. Al presionar el
botón 1, se recibe un bit por el puerto B1,
por lo que se prenden todos los leds al
mismo tiempo, y cuando se presiona el
botón 2, se recibe un bit por el puerto B2,
por lo que el programa ordena a los leds a
apagarse.
5. Encender y apagar 6 leds
secuencialmente
Código:

Simulaciones:

Imagen 15 Simulación secuencia 6 leds apagados


Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador
de los microcontroladores tipo
PIC de Microchip.
 En todos los programas realizados
para PIC, es necesario de la
configuración, declaración de
variables, configuración de
puertos, el programa principal, y
Imagen 16 Simulación 6 leds proceso
rutinas (en el caso de necesitarse).
 Cuando son impares las rutinas,
los ciclos son inexactos, por lo
que se usa “nop” que no realiza
ninguna operación, pero cuenta
como una instrucción normal, que
es aproximadamente 1µs.
 La programación en assembler es
muy importante para el uso de los
Imagen 17 Simulación 6 leds encendidos microcontroladores PIC, pues es
allí donde se configura todas las
Análisis: En las imágenes 15, 16 y 17 se
acciones que puedan realizar
puede observar el correcto
estos.
funcionamiento del encendido de los 6
 MpLab y Proteus son excelentes
leds en secuencia, esto gracias a la
programas para el correcto
adecuada programación en assembler,
entendimiento de los
donde es importante destacar que cuando
microcontroladores, debido a que
se presiona el botón 1, el puerto B1 recibe
muestran todo lo requerido en la
un bit, lo que genera el inicio de la
programación de estos, y la
secuencia de leds encendidos desde el
simulación para evaluar su
puerto C0 hasta C5, y cuando se presiona
funcionamiento.
el botón 2, se recibe un bit por el puerto
B3, lo que provoca que los leds se  El tiempo al prender y apagarse
apaguen. En la simulación se observan los un led conectado a un
leds encenderse uno después de otro, esto microcontrolador PIC, es el
debido al retardo presentado entre cada tiempo que tarda el programa en
puerto de salida para que se note la ejecutar, en este tipo de PIC cada
secuencia, lo mismo ocurre cuando los instrucción normal tarda 1µs y una
leds se apagan, el tiempo de retardo para instrucción ciclo tarda 2µs, esto
ambas acciones es el mismo. dependiendo de la frecuencia del
oscilador.
CONCLUSIONES
BIBLIOGRAFIA
 La familia de los PIC16F, usada
en el presente laboratorio, es muy
didáctica para los estudiantes y
para aplicaciones grandes o
pequeñas hablando
académicamente.
 La familia PIC18F fue la primera
en ser programada en lenguaje C
Laboratorio Microcontroladores
Práctica 1: Lenguaje ensamblador
Anonimo. (05 de 06 de 2020). PIC16F84. Obtenido de
https://es.wikipedia.org/wiki/PIC16F84
Cosas de ingenieria. (2019). Cosas de ingenieria. Obtenido de Microcontrolador
PIC16F877A: https://cosasdeingenieria.com/esp/item/24/51/microcontrolador-
pic16f877a
Hernandez, S. (2014). Sherlin.xbot.es. Obtenido de
http://sherlin.xbot.es/microcontroladores/microcontroladores-de-gama-media/4-
microcontrolador-pic-16f84
Herrera, D. (2004). Monografias. Obtenido de PIC 16F877:
https://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic.shtml
Martinez, D. (12 de 09 de 2017). Prezi. Obtenido de Caracteristicasde la familia 18f y 16 f:
https://prezi.com/p/8um2q3_s_73g/caracteristicasde-la-familia-18f-y-16-f/
Mouser. (2019). Mouser. Obtenido de PIC16F873A:
https://co.mouser.com/ProductDetail/Microchip-Technology/PIC16F873A-I-SP?
qs=0R2K%2FH4DmMPxNriMaf52iA%3D%3D

También podría gustarte