Actividad Central Unidad 3
Actividad Central Unidad 3
Actividad Central Unidad 3
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:
Temas asociados
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
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