Está en la página 1de 9

Actividad 2

Presentado por: EHC

ACTIVIDAD CENTRAL UNIDAD 2


Diseño de productos electrónicos con microcontroladores
Nombre de la actividad: Análisis estructural y funcional de
un microcontrolador.
Objetivo

Identificar las instrucciones en un código ASM y desarrollar


diagramas de flujo de programas de automatización.

Situación

Se requiere que la llegada de camiones a la empresa sea anunciada con una señal
luminosa que parpadee mientras el vehículo se encuentre en la zona donde el sensor
de presencia está 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 con el análisis estructural y
funcional de un microcontrolador.

2. Consulte información en internet sobre la descripción de pines de entrada y


salida del PIC PIC16F873.

Temas asociados

 Análisis estructural del un microcontrolador


 Función global

1
Actividad 2
Presentado por: EHC

 Lenguaje ASM
 Diagramas de flujo

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

Una vez finalizada, envíela a su facilitador a través del medio utilizado para tal fin en
el curso.

2
Actividad 2
Presentado por: EHC

DOCUMENTO GUÍA
Diseño de productos electrónicos con microcontroladores
1. Descripción de pines de entrada y salida

DESCRIPCION DE PINES DEL MICROCONTROLADOR PIC 16F876/873

Pinout del microncontrolador PIC 16F876/873 (Microchip)

Nota: Las entradas y salidas son configurables en los puertos RA (5 bits) y RB (11 bits)

3
Actividad 2
Presentado por: EHC

4
Actividad 2
Presentado por: EHC

2. Comentarios de líneas de código

COMENTARIOS
List p=PIC16F873 modelo de PIC que se usa (PIC16F873)
Include "P16F873.inc" cargue archivo de usuario
“PIC16F873.inc”
_config 0x3F38 ajuste de bits de configuración
CBLOCK 0X20 define un bloque para las constantes
loops y loops2 con valor inicial 0x20
Loops, loops2 constantes loops y loop2
ENDC finaliza bloque definición
org 0x00 dirección de memoria del programa
donde se situará la siguiente instrucción
goto Inicio vaya a la subrutina “Inicio”
Inicio movlw 0x07 mueve 0x07 al registro de trabajo W
movwf CMCON carga el registro CMCON con el
contenido de W = 0x07 (inhibe los
comparadores)
bsf STATUS, RP0 pone a uno el bit 5 (RP0) del registro de
estado ubicándose en el banco 1
bcf TRISA, 0 pone a cero el bit 0 del registro TRISA
definiendo a RA= como salida.
bsf TRISB, 0 pone a uno el bit 0 del registro TRISB
definiendo a RB0 como entrada
bcf STATUS,RP0 pone a 0 el bit 5 del registro de estado
para regresar al banco 0.
ciclo etiqueta “ciclo”
btfss PORTB,0 prueba de bit (bit test, skip if set), check
del pin 0 del Puerto B. Si es 1 salta a la
siguiente instrucción.

5
Actividad 2
Presentado por: EHC

goto ciclo ir a ciclo


parpadeo etiqueta “parpadeo”
bsf PORTA,0 pone a uno el bit 0 del puerto A
call retardo llama a la subrutina “retardo”
bcf PORTA,0 pone a cero el bit 0 del puerto A
call retardo llama a la subrutina “retardo”
goto ciclo ir a “ciclo”
retardo etiqueta “retardo”
CLRWDT Pone a cero el registro contador del
temporizador watchdog, asi como el
predivisor
MOVLW D'200' mueve el literal D’200’al registro de
trabajo W
MOVWF loops mueve el contenido de W a loops
top2 MOVLW D'220' mueve el literal D’200’al registro de
trabajo W
MOVWF loops2 mueve el contenido de W a loops
top CLRWDT pone a cero el registro contador del
temporizador watchdog, asi como el
predivisor
NOP
NOP
NOP consume tiempo de la máquina y ocupa
NOP memoria en el programa
NOP
NOP
DECFSZ loops2,1 decrementa en contenido de lopps2 en
uno y guarda el resultado en loops2
GOTO top ir a la etiquta”top”

6
Actividad 2
Presentado por: EHC

DECFSZ loops,1 decrementa en contenido de lopps en


uno y guarda el resultado en loops
GOTO top2 Ir a top2
RETLW 0 carga W con el literal 0, y después carga
el PC (contador de programa) con el
valor que se encuentra en la parte
superior de la pila, efectuando así un
retorno de subrutina
END Fin del programa
3. Diagrama de flujo del programa de automatización (código .asm del punto 2)

7
Actividad 2
Presentado por: EHC

8
Actividad 2
Presentado por: EHC

También podría gustarte