Vous êtes sur la page 1sur 7

ACTIVIDAD CENTRAL UNIDAD 3

Diseño de productos electrónicos con microcontroladores


Nombre de la actividad: Manejo de salidas en un
microcontrolador: LED y Display de 7 segmentos
Objetivo

Identificar las instrucciones en un código ASM para el


manejo de salidas a un LED y a un Display.

Situación

La empresa requiere que la llegada de camiones a la empresa sea anunciada con una
señal luminosa que parpadee y en un display de 7 segmentos aparezca el número de
la puerta donde se ha activado el sensor de presencia instalado. Se ha adquirido un
sistema automatizado con microcontroladores y usted debe revisar si el código
cumple con las características solicitadas.

Procedimiento:

1. Revise los contenidos del curso asociados al Manejo de salidas a un LED y a


un Display de 7 segmentos.
2. Consulte información para profundizar sobre el funcionamiento y
programación de leds y display.

Temas asociados

 Configuración de un display de 7 segmentos


 Lenguaje ASM

1
Entregas
Para este análisis, puede utilizar la guía que aparece a continuación para desarrollar
los siguientes productos:
1. Comentarios de las líneas de programación del código suministrado por el
proveedor de servicios.
2. Descripción de los pines de entrada y salida utilizados para el sistema
automatizado
3. Diagrama de flujo del programa de automatización.

Una vez finalizada, comprima el archivo en formato .zip o .rar, dando clic derecho al
archivo, Enviar a, Carpeta comprimida. Luego envíela a su facilitador a través del
medio utilizado para tal fin en el curso.

2
DOCUMENTO GUÍA
Diseño de productos electrónicos con microcontroladores
1. Comentarios de líneas de código

COMENTARIOS
List p=16F628A define el micro a utilizar
radix Hex Usaremos la numeración Hexadecimal
w equ 0 Se crea variable w con valor 0
f equ 1 Se crea variable f con valor 1
PCL equ 0x02 Dirección registro PCL, contador de
programa.
Estado equ 0x03 Cargar la variable Estado en equ 0x03
PuertaA equ 0x05 Asignar posición 5 como PuertaA
PuertaB equ 0x06 Asignar posición 6 como PuertaB
VALOR equ 0x0C Cargar la variable equ en 0x0C
org 0 Ir a la posición 0
goto Empiezo Salta a Empiezo
org 5 Ir a la posicion5 si hay interrupción
Empiezo bsf Estado,5 Colocar en uno Banco de memoria 1
clrw Coloca en cero el registro w
movwf PuertaB Coloca los pines del puertaB como
salidas.
movlw 0xff Escribe FF en el registro w
movwf PuertaA Coloca los pines del puertoA como
entradas.
bcf Estado,5 Vuelve al Banco o
Explora movf PuertaA,w Movemos el contenido de puertaA a
w
movwf VALOR Mover el valor de w a VALOR
comf VALOR,f Invierte los valores de f y los

3
coloca en VALOR
clrw Coloca el registro w a cero
Btfss VALOR,0 Comprueba que EL pin 0 de VALOR
este en 1, sino vaya a la sgte línea
goto bit_1 Salta a bit_1
addlw 0x01 Sumamos 01h a w y lo deposita en
w
bit_1 btfss VALOR,1 Comprueba el bit 1 VALOR esté e
uno
goto bit_2 Salta a bit_2
addlw 0x02 Sumamos 02h a w y lo deposita en
w
bit_2 btfss VALOR,2 Comprueba que el bit 2 de VALOR
este en 1
goto bit_3 Salta a bit_3
addlw 0x04 Sumamos 04h a w y lo deposita en
w
bit_3 btfss VALOR,3 Comprueba que el bit 3 de VALOR
este en 1
goto visual Salta a visual
addlw 0x08 Sumamos 08h a w y lo deposita en
w
visual call display Salta y llama a Display
movwf PuertaB Mover el valor de w a PuertaB
goto Explora Salta a Explora
display addwf PCL,f Acumulador
retlw 0x3f Retorne el valor de w
retlw 0x06 1
retlw 0x5b 2
retlw 0x4f 3

4
retlw 0x66 4
retlw 0x6d 5
retlw 0x7d 6
retlw 0x07 7
retlw 0x7F 8
retlw 0x6F 9
retlw 0x77 A
retlw 0x7C B
retlw 0x39 C
retlw 0x5E D
retlw 0x79 E
retlw 0x71 F
END Fin
2. Descripción de pines de entrada y salida

ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA


2 RA0/AN0 - Puerto A 21 RB0/INT -
3 RA1/AN1 - Puerto A Port B
4 RA2/AN2/Vref/CVref 22 RB1 - Port B
- Puerto A 23 RB2 - Port B
5 RA3/AN3/Vref - 24 RB3/PGM -
Puerto A Port B
6 RA4/TOCK1/C1OUT 25 RB4 - Port B
- Puerto A 26 RB5 - Port B
7 RA5/AN4/SS/C2OUT 27 RB6/PGC -
- Puerto A Port B
28 RB7/PGD -
Port B
3. Diagrama de flujo del programa de automatización (código .asm del punto 1)

INICIO
5
Declaración de
variables

Configura puerto A
como entrada y puerto
B como salida

No W=W+01
Valor
Bit_1=1
?

Si

No W=W+01
Valor
Bit_2=1
?

Valor No W=W+01
Bit_3=1
?

VISUAL

PCL=PCL+W

W=PUERTAB

Visualizacion en el

display

Fin

6
7