Está en la página 1de 7

ESCUELA POLITÉCNICA NACIONAL

ESCUELA DE FORMACIÓN DE TECNÓLOGOS


TECNOLOGÍA EN ELECTROMECANICA

Laboratorio de Microprocesadores

TRABAJO PREPARATORIO

Práctica No: _5_


Tema: Implementación de manejo de entradas y salidas en bajo nivel

Realizado por:

Estudiante: Simbaña Gilson Grupo:

(Espacio Reservado)
Fecha de entrega: ____ / ____ / ____f. _________________________
Año mes día Recibido por:
Sanción: ____________________________________________________

PERÍODO
2019 – B
ESCUELA POLITÉCNICA NACIONAL ESFOT

TEM425L - LABORATORIO DE MICROPROCESADORES


PREPARATORIO - PRÁCTICA 4
1. Objetivos:
- Armar un circuito microcontrolador basado en el PIC16F870.
- Implementar circuitos utilizando el microcontrolador PIC 16F870 para el manejo de
dispositivos de salida: como LEDs que muestren información acorde a las condiciones de
diseño requeridas.
- Utilizar el programador disponible en el laboratorio para transferir el programa al
microcontrolador PIC16F870.

2. Desarrollo
2.1 Diseño
1. Elaborar un programa utilizando lenguaje de bajo nivel que cumpla con los siguientes
requerimientos:
Desarrollar un programa en Assembler, que permita realizar lo siguiente:
 Martes: Ingresar 2 números binarios de 3 bits, por el pórtico B del microcontrolador
(primer número por RB2, RB3, RB4 y segundo número por RB5, RB6, RB7) y mostrar
el resultado de una operación matemática por el pórtico C. La operación matemática
dependerá del estado de los bits bajos del pórtico B, RB0 y RB1, de acuerdo con la
siguiente tabla:

 Incluir los diagramas de flujo de los programas creados que explique el


funcionamiento de los mismos.
 Realizar las respectivas simulaciones probando el funcionamiento de los diseños
realizados.

2.1.1 Diagrama de conexiones


Para el respectivo diseño de la simulación del circuito del PIC 16f870 se requiere del
programa ISIS de Proteus.
- Realizar las respectivas simulaciones probando el funcionamiento de los diseños
realizados.
LIST P=16F870
#INCLUDE <P16F870.INC>
ORG 0X00
VAR EQU 0X20
VAR1 EQU 0X21
VAR2 EQU 0X22

BCF STATUS,6

Laboratorio de Microprocesadores Práctica 4


ESCUELA POLITÉCNICA NACIONAL ESFOT

BSF STATUS,5
MOVLW 0XFF
MOVWF TRISB
CLRF TRISC
BCF STATUS,5
CLRF PORTC

INICIO
MOVF PORTB,W
ANDLW B'00000011'
MOVWF VAR
BTFSS VAR,RB1
GOTO LAZO
GOTO LAZO1

LAZO1
BTFSC VAR,RB1
BTFSC VAR,RB0
GOTO LAZO2
GOTO LAZO3

LAZO
BTFSS VAR,RB1
BTFSC VAR,RB0
GOTO LAZO4
GOTO LAZO5

; COMPLEMENTO RB1=0,RB0=0 (Valor del número 1)


LAZO5
MOVF PORTB,W
ANDWF B'00011100'
MOVWF PORTC
GOTO INICIO

;COMBINACIÓN RB1=0,RB0=1 (Resta de 2 números binarios de 3 bits)


LAZO3
MOVF PORTB,W
ANDLW B'00011100'
MOVWF VAR1
MOVF PORTB,W
ANDLW B'11100000'
MOVWF VAR2
RRF VAR2,F
RRF VAR2,F
RRF VAR2,F
MOVF VAR2,W
SUBWF VAR1,W
ANDLW B'00001111'
MOVWF PORTC
GOTO INICIO

Laboratorio de Microprocesadores Práctica 4


ESCUELA POLITÉCNICA NACIONAL ESFOT

; COMBINACIÓN RB1=1,RB0=0 (Suma de 2 números binarios de 3 bits)


LAZO4
MOVF PORTB,W
ANDLW B'00011100'
MOVWF VAR1
MOVF PORTB,W
ANDLW B'11100000'
MOVWF VAR2
RRF VAR2,F
RRF VAR2,F
RRF VAR2,F
MOVF VAR2,W
ADDWF VAR1,W
ANDLW B'00001111'
MOVWF PORTC
GOTO INICIO

;COMBINACIÓN RB1=1,RB0=1 (Valor del número 2)


LAZO2
MOVF PORTB,W
ANDLW B'11100000'
MOVWF VAR1
RRF VAR1,F
RRF VAR1,F
RRF VAR1,F
MOVF VAR1,W
MOVWF PORTC
GOTO INICIO

END
- Incluir los diagramas de flujo de los programas creados que explique el
funcionamiento de los mismos

INICIO

Crear 3 variables

Configurar
Puerto C como salida
Lazo

Configurar Mover el contenido


de PORTC a una A
Puerto B como entrada
variable

Laboratorio de Microprocesadores Práctica 4


ESCUELA POLITÉCNICA NACIONAL ESFOT

RB0=0
Testear pin RB1 Testear pin RC6 Mover el puerto B a
Work (W)
RC7=1 RB0=1
RB0=1 Mover el puerto B a
Testear pin RB0 Hacer la operación
B Work (W) ANDLW B’00011100’
RB0=0
Hacer la operación
Mover el puerto B a
ANDLW B’00011100’ Presentar en el Puerto
Work (W)
de salida (PORTC)

Guardo en la variable
Hacer la operación (VAR1)
ANDLW B’00011100’ Lazo

Mover el puerto B a
Guardo en la variable
Work (W)
(VAR1)

Hacer la operación
Mover el puerto B a
ANDLW B’11100000’
Work (W)

Guardo en la variable
Hacer la operación
(VAR2)
ANDLW B’11100000’

Rotar a la derecha tres


Guardo en la variable
veces (RRF) la VAR2
(VAR2)

Rotar a la derecha tres Sumar el contenido de


veces (RRF) la VAR2 work(W) y la variable
(VAR1)

Restar el contenido de
Presentar en el Puerto
work(W) y la variable Lazo
de salida (PORTC)
(VAR1)

Presentar en el Puerto
de salida (PORTC) Lazo

Laboratorio de Microprocesadores Práctica 4


ESCUELA POLITÉCNICA NACIONAL ESFOT

Mover el puerto B a Rotar a la derecha tres


B
Work (W) veces (RRF) la VAR1

Presentar en el Puerto
Hacer la operación de salida (PORTC)
ANDLW B’11100000’

Lazo
Guardo en la variable
(VAR1)
FIN

2.2.1 Diagrama esquemático


- Realizar las respectivas simulaciones probando el funcionamiento de los diseños
realizados.

Para la posición RB1= 0 Y RB0= 0 se debe realizar la operación complemento del primer
número.
Para la posición RB1= 0 Y RB0= 1 se debe realizar la operación de resta de los numero
binarios.
Para la posición RB1= 1 Y RB0= 0 se debe realizar la operación suma de los 2 numero binarios
Para la posición RB1= 1 Y RB0= 1 se debe mostrar el valor de segundo número.

Laboratorio de Microprocesadores Práctica 4


ESCUELA POLITÉCNICA NACIONAL ESFOT

3. Bibliografía

[1] Wanadoo, «MPLAB-IDE,» 2017. [En línea]. Available:


http://perso.wanadoo.es/pictob/mplab.htm.. [Último acceso: 2019].

[2] Microchip, «Microchip,» [En línea]. Available: https://www.microchip.com/mplab/mplab-x-ide..


[Último acceso: 2019].

Laboratorio de Microprocesadores Práctica 4

También podría gustarte