0% encontró este documento útil (0 votos)
174 vistas

Informe de Practica2

Este documento presenta un informe de práctica sobre el uso de los simuladores MPLab y Proteus para programar un microcontrolador PIC. El objetivo es garantizar el correcto manejo de los simuladores y facilitar información para comprender conceptos básicos de microcontroladores. Se incluye el código fuente en ensamblador para MPLab, el circuito en Proteus y el algoritmo de la práctica que muestra números binarios en LEDs a través de los simuladores.

Cargado por

Bryan Mdlo
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)
174 vistas

Informe de Practica2

Este documento presenta un informe de práctica sobre el uso de los simuladores MPLab y Proteus para programar un microcontrolador PIC. El objetivo es garantizar el correcto manejo de los simuladores y facilitar información para comprender conceptos básicos de microcontroladores. Se incluye el código fuente en ensamblador para MPLab, el circuito en Proteus y el algoritmo de la práctica que muestra números binarios en LEDs a través de los simuladores.

Cargado por

Bryan Mdlo
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/ 13

UNIVERSIDAD ESTATAL

PENÍNSULA
DE SANTA ELENA

FACULTAD DE SISTEMAS Y
TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y
TELECOMUNICACIONES

MATERIA:
Microcontroladores

TEMA:
Informe de practica #2 Mplab-Proteus

AUTOR:
Bryan Malavé De la O

DOCENTE
Ing. Sendey Vera G.

SEMESTRE
Electrónica 7/1

FECHA DE ELABORACIÓN
8 de agosto del 2020

SANTA ELENA – ECUADOR


2020 – 2021
Contenido
a. INTRODUCCION....................................................................................................................3
b. OBJETIVOS............................................................................................................................3
I. Objetivo principal.............................................................................................................3
II. Objetivos específicos........................................................................................................3
c. CODIGO FUENTE (ASEMBLER) – MPLAB...............................................................................4
d. CIRCUITO ELECTRONICO – PROTEUS....................................................................................6
e. ALGORITMO DE PRACTICA...................................................................................................7
f. CONCLUSIONES..................................................................................................................13
a. INTRODUCCION

Los microcontroladores es un avance tecnológico que cambio el mundo como lo conocemos.


Estos dispositivos están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en
general. Se los puede encontrar en cualquier dispositivo electrónico, controlando el
funcionamiento de los dispositivos comunes como ratones y teclados de los computadores, en
los teléfonos y en los hornos microondas y los televisores de nuestro hogar.
Las extensas áreas de aplicación de los microcontroladores, que se pueden considerar
ilimitadas,
exigirán un gigantesco trabajo de diseño y fabricación.
La aplicación de los microcontroladores se sigue desarrollando y se pueden considerar
ilimitadas.

b. OBJETIVOS
I. Objetivo principal.

- Diseñar un ejemplo de simulación para garantizar un correcto manejo de los


simuladores que utilizaremos en la realización del ejercicio y facilitar la información
necesaria para que los estudiantes logren una mayor comprensión sobre los
microcontroladores conceptos básicos, algoritmos y software que se necesitan saber al
momento de programar este tipo de dispositivos.

II. Objetivos específicos.

- Conocer el entorno del software Mplap.


- Conocer el entorno del software de Proteus.
- Determinar los pasos necesarios para programar un microcontrolador con el software
Mplab y simularlo en conjunto con el software Proteus.
- Formular un ejemplo para lograr editar, ensamblar, depurar y simular el programa.
- Corroborar los resultados de la simulación con la parte real.
c. CODIGO FUENTE (ASEMBLER) – MPLAB
Lenguaje ensamblador

El lenguaje máquina es difícil de utilizar por el hombre ya que se aleja de su forma natural de
expresarse, por esto se utiliza el lenguaje ensamblador, que es la forma de expresar las
instrucciones de una forma más natural al hombre y que, sin embargo, es muy cercana al
microcontrolador porque cada una de sus instrucciones se corresponde con otra en código
máquina que el microcontrolador es capaz de interpretar.

El lenguaje ensamblador utiliza nemónicos que son grupos de caracteres alfanuméricos que
simbolizan las órdenes o tareas a realizar con cada instrucción. Los nemónicos se
corresponden con las iniciales del nombre de la instrucción en inglés, de forma que
"recuerdan" la operación que realiza la instrucción, lo que facilita su memorización.

Programa ensamblador

El programa ensamblador es un software que se encarga de traducir los nemónicos y símbolos


alfanuméricos del programa escrito en ensamblador por el usuario a código máquina, para que
pueda ser interpretado y ejecutado por el microcontrolador.

El programa escrito en lenguaje ensamblador recibe la denominación de código fuente,


archivo fuente o fichero fuente. Suele tener la extensión *.asm. El archivo fuente debe ser
traducido a código máquina, de lo cual se encarga el programa ensamblador. La mayoría de los
ensambladores proporcionan a su salida un fichero que suele tener la extensión *.hex. Este
fichero puede ser grabado en la memoria de propia mediante la utilización de un grabador de
microcontroladores.

El ensamblador mas utilizado para los PIC es el MPASM, que trabaja dentro de un entorno
software denominado MPLAB.

Código fuente

El código fuente está compuesto por una sucesión de líneas de programa. Todos los ficheros
fuente poseen una estructura similar independiente del procesador utilizado. Cada línea de
programa suele estar compuesta por 4 campos o columnas separados por uno o más espacios
o tabulaciones. Los campos son:

1. Campo de etiquetas.
2. Campo del código de operación.
3. Campo de operandos y datos.
4. Campo de comentarios.

CODIGO DE LA PRACTICA

;***************************** Ensam_01.asm **********************************


; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================
; Por los diodos LED conectados al Puerto B visualiza el valor de una constante, por ejemplo
; el número binario b'01010101'.
; ZONA DE DATOS
*****************************************************************************
LIST P=16F84A ; Procesador utilizado.
INCLUDE <P16F84A.INC> ; En este fichero se definen las etiquetas del PIC.
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; Configuración para el
; grabador.
CONSTANTE EQU b'01010101' ; Por ejemplo, la constante tiene este valor.

; ZONA DE CÓDIGOS
****************************************************************************
ORG 0 ; El programa comienza en la dirección 0 de la
Inicio ; memoria de programa.
bsf STATUS,RP0 ; Pone a 1 el bit 5 del STATUS.Acceso al Banco1.
clrf TRISB ; Las líneas del Puerto B configuradas como salida.
bcf STATUS,RP0 ; Pone a 0 el bit 5 del STATUS. Acceso al Banco 0.
movlw CONSTANTE ; Carga el registro de trabajo W con la constante.
Principal
movwf PORTB ; El contenido de W se deposita en el puerto de salida.
goto Principal ; Crea un bucle cerrado e infinito

END ; Fin del programa.

; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================

INTRUCCIONES UTILIZADAS EN EL PROGRAMA

- List P=16F84A: Indica el tipo de procesador utilizado.


- Include <P16F84A.INC>: Indica el fichero donde se localizan las etiquetas que nombran
a los diferentes registros y el valor que le corresponde a cada uno, es decir, en el
fichero P16F84A.INC se muestra como hay que nombrar a todos los registros propios
del microcontrolador. Este fichero se localiza en el directorio principal del programa
ensamblador.
- __CONFIG: esta directiva indica la configuración elegida para el proceso de grabación
del microcontrolador. En este caso:
1) No hay protección de código (_CP_OFF).
2) No se habilita el Watchdog (_WDT_OFF).
3) Se habilita el reset mediante Power_Up Timer (_PWRTE_ON).
4) Se utiliza el oscilador por cristal de cuarzo (_XT_OSC).

Es importante resalta que “__CONFIG” se inicia con dos subrayados (guion bajo), no
con uno. Este error es muy frecuente en los primeros programas.

- org (Set program origin): Esta directiva indica al programa ensamblador la dirección en
memoria de programa a partir de la cual deben ensamblarse las instrucciones del
código fuente. Es decir, la dirección de la memoria de programa donde se van a
almacenar esas instrucciones es la fijada por la <expr> de la directiva.
- bsf f,b (Bit set f): Pone a uno el bit ‘b’ del registro ‘f’.
- clrf f (Clear f): El contenido del registro ‘f’ se borra (se carga con b’00000000’) y el flag
Z se activa a uno. Esta instrucción también se podría considerar como aritmética.
- bcf f,b (Bit Clear f): Pone a cero el bit ‘b’ del registro ‘f’.
- movlw k (Move liberal to W): El registro W se carga con el valor de los 8bits de la
constante ‘k’. Ningún flag del registro de estado es afectado.
- movwf f (Move W to f): Carga el contenido del registro W al registro ‘f’. Ningún flag
del registro de estado es afectado.
- goto k: En casi todos los programas se usa la instrucción de salto incondicional goto k
(Unconditional Branch) que produce un salto a la dirección del programa indicada por
‘k’. la constante literal “k” es la dirección de destino del salto, es decir, la nueva
dirección de memoria de programa a partir de la cual comenzaran a leerse las
instrucciones después de ejecutar la instrucción goto. Así pues, esta instrucción
simplemente carga la constante k en el constante k en el contador de programa (PC).
- END (End Program Block): Indica el fin del programa. Es la única directiva obligatoria.
Al ensamblar un programa, el programa ensamblador debe saber dónde tiene que
detener el proceso, para eso está la directiva END, la cual debe estar en la última línea
del programa y explícitamente le indica al ensamblador el fin de aquel. Todas las líneas
posteriores a la línea en la que se encuentra esta directiva son ignoradas y no se
ensamblan.

En este código ensambler lo único que sucede es que siempre va a mantener seteado la salida
‘01010101’, por mas que se cambien las entradas, esto pasa en el comando movlw el cual
siempre toma el valor de la constante.

d. CIRCUITO ELECTRONICO – PROTEUS.

Circuito electrónico de la practica en Proteus.

En el software de Proteus observamos la parte física de lo que seria la parte de la


programación en Mplab, como se aprecia en la figura la salida del PIC16F84A tiene el mismo
valor seteado ‘01010101’.
e. ALGORITMO DE PRACTICA

1. Abrir el software Mplab.

Al abrir el Mplab solo se trabaja en la pestaña de Unitled Workspace.

2. Escoger el pic1684 en el software Mplab.

Para realizar esa configuración entrar en la opción de configure en la barra de tareas


de programa y escoger la opción select device, buscar el dispositivo a utilizar en la
simulación y seleccionamos ok.

3. Transcribir el código del archivo


Tener mucho cuidado al transcribir la codificación cualquier fallo en la codificación
podría generar un error.
4. Guardar el archivo nombre_del_archivo.asm.

Una vez listo el código procedemos a guardar el archivo con su nombre respectivo y extensión
correcta .asm, en este caso el archivo será guardado como Ensam_01.asm.

5. Compilar

Para compilar nuestro programa ir a la opcion de Proyect y seleccionar Quickbuild (no .asm
file), esperamos a que compile y debera salir lo de la imagen a la derecha si aparece un
mensaje con letras color rojo el programa tiene un error debera revisar la codificacion si esta
correcta.
PROTEUS

6. Abrir el software de Proteus

Para crear un archivo en proteus deberá seleccionar la opción de new proyect, asignarle un
nombre y escoger el tipo de simulación por defecto dándole siguiente hasta que salga la
pantalla de trabajo. En este caso nuestro practica en Proteus se llamará ensam_01.

7. Seleccionar el pic16f84a en la librería de proteus.

Para colocar un dispositivo a utilizar en la simulación seleccionamos la opción Component


Mode ubicada 2da de las opciones del lado izquierdo de la pantalla, seleccionamos la P en
devices para que nuestra pestaña se abra y buscar nuestro dispositivo.

8. Colocar los dispositivos de la simulación en la ventana de trabajo.

Una vez encontrado los dispositivos por su nombre (PIC16F84A, Logicstate, res) selecciona ok
para colocarlos en el panel de trabajo.
9. Construir en el simulador el esquema correspondiente para el esquema dado del
ejercicio.

Una vez teniendo todos los dispositivos necesarios para realizar la simulación, se realiza la
respectiva conexión.

10. Configuración del PIC16F84A en Proteus.

Una vez concluido el esquema, dar un clip sobre el pic, aparece un cuadro de dialogo, en la
sección de program file. Colocar el archivo nombre_del_archivo.cof generado por MPLAB, y
cambiando la frecuencia de operación del PIC a 4Mhz.
11. Simular el circuito

Cambiamos las señales de entrada conforme a nuestros gustos y confirmamos los resultados
esperados en este caso las entradas no nos generaran ningún cambio en las salidas del PIC ya
que siempre saldrá el valor ‘01010101’.

CASO 1: combinación 0 0 0

CASO 1: combinación 0 0 1

CASO 1: combinación 0 1 0
CASO 1: combinación 0 1 1

CASO 1: combinación 1 0 0

CASO 1: combinación 1 0 1
CASO 1: combinación 1 1 0

CASO 1: combinación 1 1 1

En todos los casos de combinaciones, tenemos como resultado el valor de ‘01010101’ tal
como definimos en la codificación del software Mplab.

f. CONCLUSIONES

- Después de realizar la respectiva codificación, simulación y compilación en el software


utilizado en la practica #1 definimos los métodos o pasos a seguir para realizar y
familiarizarnos con los programas conociendo cada vez mas lo que se puede realizar al
momento de programar un PIC.

También podría gustarte