Está en la página 1de 5

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
• 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, comprima el archivo en formato .zip o .rar, dando clic
derecho al archivo, Enviar a, Carpeta comprimida. Luego envíela a su

1
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. Descripción de pines de entrada y salida

ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA


PIN2 RA0/AN0 PIN6RA4/T0CKI
PIN3 RA1/AN1 PIN11
PIN4 RA2/AN2 Vref – RC0/T1OSO/T1CKI
PIN5 RA3/AN3/Vref + PIN 12
PIN7 RA5/SS/AN5 RC1/T1OSI/CCP2
Cada pin de esos PIN13 RC2/CCP1
puertos se puede PIN 14 RC3/SCK/SCL
configurar como
entrada o como salida
independiente
programando un par de
registros diseñados
para tal fin

2. Comentarios de líneas de código

COMENTARIOS
List p=PIC16F873 DEFINE EL MICRO A UTILIZAR
Include "P16F873.inc" AYUDA A LA MEJOR DISTRIBUCION
_config 0x3F38 PALABRAS DE CONFIGURACION DEL
PIC
CBLOCK 0X20 VARIABLE 0X20
Loops, loops2 DEFINE UNA FUNCION REPETITIBA O EN
RETARDO,EN OTRO CASO PREGUNTA SI
TERMINA EL RETARDO
ENDC SALTO CONDICIONAL
org 0x00 ES EL VECTOR DE RESET, CADA VEZ QUE
EL MICRO SE INICIE LO HARÁ DESDE AQUÍ
(YA SEA QUE CONECTARON EL
SECUENCIADOR DIRECTAMENTE O QUE LO
ENCENDIERON O QUE ALGO LE HAYA
OCURRIDO AL MICRO SALTARÁ A ESTE
PUNTO

goto Inicio VECTOR DE RESET, EN EL 16F84ES UNA


SENTENCIA DE SALTO INCONDICIONAL
DENTRO DEL ÁMBITO DE UNA FUNCIÓN.O
SALTO DE INICIO A MI PROGRAMA
Inicio movlw 0x07 OPTION = SUBRUTINA DE RETARDO EN
MILISEGUNDOS

3
movwf CMCON ASIGNACION DE PUERTO COMO ENTRADA
bsf STATUS, RP0 CAMBIO AL BANCO 1
bcf TRISA, 0 CONFIGURAMOS RA0 COMO SALIDA
bsf TRISB, 0 CONFIGURAMOS COMO ENTRADA
bcf STATUS,RP0 CAMBIO AL BANCO 1
ciclo REPETICIONES
btfss PORTB,0 salta una instrucción si rb0 contiene un 0
goto ciclo ES UNA INSTRUCCIÓN DE SALTO
INCONDICIONAL QUE PERMITE
TRANSFERIR EL CONTROL DE EJECUCIÓN
DIRECTAMENTE A OTRO PUNTO DE UN
MISMO PROGRAMA
bsf PORTA,0 ESTE CODIGO HACE LO INDICADO COMO
APAGAR UN LED O ENCENDERLO
call retardo SE RETORMA DE DONDE SE GENERO EL
LLAMADO
bcf PORTA,0
CLRWDT ESTA INSTRUCCIÓN BORRA EL
WATCHDOGD COMO EL PRESCALER LOS
BIT TO Y PD DEL REGISTRO DE ESTADO SE
PONE A “1”
MOVLW D'200' NUMEROS DE MILISEGUNDOS
MOVWF loops MOVER EL BALOR DEL REGISTRO W AL
REGISTRO F DEFINIENDO UNA FUNCION
REPETITIVA
top2 MOVLW D'220' SUBRUTINA DE RETARDO EN
MILISEGUNDOS
MOVWF loops2 CARGADO EN EL REGISTRO LOOPS
top CLRWDT LIMPIA EL TIEMPO DEL WATCHDOG
NOP CANCELAR OPERACIÓN
DECFSZ loops2,1 PREGUNTA SI TERMINO 1 MS
GOTO top PARA EL DIRECCIONAMIENTO
DECFSZ loops,1 PREGUNTA SI TERMINO
GOTO top2 PARA EL DIRECCIONAMIENTO DOLE
POSICIONAMIENTO
RETLW 0 RETORNO CON LA LETRA W
END TERMINACION DEL DISEÑO

3. Diagrama de flujo del programa de automatización (código .asm del punto


2)

4
PIC16F873

es un microcontrolador
con memoriade programa
tipo FLASHM

Lospines de entrada/salida
de este microcontrolador
estánorganizados en tres
puertos
es un microcontrolador
con memoriade
programatipo FLASHM

LOOPS
LOOPS,2

Si

Si
ASIGNACION DE
PUERTOS DE
ENTRADA

No
Si

LA
COMPILACION
ESERRONEA

El diseño
del PIC
enfocara
tiemposde
reatardo

WASHDOG,TIE
MPODE
REINICIO
CUANDO HAY
PROBLEMAS
CON EL DISEÑO

FIN

También podría gustarte