You are on page 1of 8

APRENDIZ: AGUSTIN FRANCISCO MONTAO DE LA CRUZ

ACTIVIDAD CENTRAL UNIDAD 2


Dise o de productos electr nicos con microcontroladores
Nombre de la actividad: Anlisis estructural y funcional de u n
microcontrolador.
Objetivo

Identificar las instrucciones en un cdigo ASM y desarrollar diagramas


de flujo de programas de automatizacin.

Situacin

Se requiere que la llegada de camiones a la empresa sea anunciada con una seal luminosa que
parpadee mientras el vehculo 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 cdigo
cumple con las caractersticas solicitadas.

Procedimiento:
1. Revise los contenidos del curso asociados con el an lisis estructural y funcional de un
microcontrolador.

2. Consulte informacin en internet sobre la descripcin de pines de entrada y salida del PIC
PIC16F873.

Temas asociados

Anlisis estructural del un microcontrolador


Funcin global
Lenguaje ASM
Diagramas de flujo

Entregas
Para este anlisis, utilice la gua que aparece a continuacin para desarrollar los siguientes
productos:
1. Descripcin de los pines de entrada y salida utilizados para el sistema automatizado.
2. Comentarios de las lneas de programacin del cdigo suministrado por el proveedor de
servicios.
3. Diagrama de flujo del programa de automatizacin.

Una vez finalizada, comprima el archivo en formato .zip o .rar, dando clic derecho al archivo,
Enviar a, Carpeta comprimida. Luego envela a su facilitador a travs del medio utilizado para
tal fin en el curso.

1
2
DOCUMENTO GU A
Dise o de productos electr nicos con microcontroladores
1. Descripcin de pines de entrada y salida

ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA

3
Pin 9= OSC1/CLK IN Entrada Pin 10=OSC2/CLK OUT
oscilador de cristal. Salida oscilador de cristal.
Pin 1=MCLR/VPP/THV Reset o
entrada voltaje de programacin.
Pin 11=RC0/T1OSO/T1CK1
Pin 2=RA0/AN0 RA0 Tambin RC0 Puede ser la salida del
puede ser la entrada analgica 0 oscilador Timer 1 o entrada
E/S. del reloj Timer 1. E/S
Pin 3= RA1/AN1 33 RA1 Tambin Pin 16= RC4 Puede ser
puede ser entrada analgica 1
Pin 4=RA2/AN2/VREF
salida de dato SPI (en modo
RA2 Tambin puede ser entrada SPI).
analgica 2 o referencia analgica
de voltaje negativo E/S
Pin 5=RA3/AN3/VREF RA3
Tambin puede ser entrada
analgica 3 o referencia analgica
de voltaje positivo E/S.
Pin 6=RA4/TOCKI Tambin puede
ser la entrada del reloj del mdulo
temporizador 0.
Pin 7=RA5/SS/AN4 RA4 Tambin
puede ser entrada analgica 4 o
esclavo en la seleccin de puertos
serial sincrnico E/S.
Pin 21=RB0/INT RB0 Tambin
puede ser pin de interrupcin
externa E/S.
Pin 22=RB1 E/S
Pin 23=RB2 E/S
Pin 24=RB3/PGM RB3 Puede ser
entrada de voltaje de programa
Pin 25=RB4 E/S
Pin 26= RB5 E/S
Pin 27=RB6/PGC Reloj de
programacin serial E/S.
Pin 28=RB7/PGD Dato serial de
programacin. E/S
Pin 12=RC1/T1OSI/CCP2 RC1
Puede ser la entrada del oscilador
Timer 1
O entrada del reloj del Timer E/S.
Pin 13= RC2/CCP1 RC2 Entrada
captura1/ salida comparador 1. E/S
Pin 14= RC3 Puede ser entrada
reloj de reloj de sincrona serial.
E/S
Pin 15=RC4 Puede ser entrada de
dato SPI (en modo SPI). E/S

4
2. Comentarios de lneas de cdigo

COMENTARIOS
List p=PIC16F873 ; Se usar el PIC16F873
Include "P16F873.inc" ; Se incluye el archivo PIC16F873
_config 0x3F38 ; Se configura el WDT y el circuito de
reinicio del sistema.
CBLOCK 0X20 ; Le da el valor a las constantes
nombradas.
Loops, loops2 ; Se definen las constantes
ENDC ; Se finaliza el bloque de definicin de
constantes.
org 0x00 ; Define direccin de memoria en la cual
el programa est siendo grabado.
goto Inicio ; Ir a la etiqueta de inicio
Inicio movlw 0x07 ; Movemos el valor 0x07 al registro W
movwf CMCON ; Se desactivan los comparadores
analgicos.
bsf STATUS, RP0 ; Nos cambiamos a el banco 1.
bcf TRISA, 0 ; Configuramos como salida.
bsf TRISB, 0 ; Se coloca en estado alto el bit 0 del
puerto B
bcf STATUS,RP0 ; Seleccionar el banco de memoria 0
ciclo
btfss PORTB,0 ; Se pregunta por el bit del puerto B, si
est en estado alto se salta la instruccin
siguiente, sino continua normal.
goto ciclo ; Va a la etiqueta ciclo.

parpadeo
bsf PORTA,0 ; Pone en alto al bit 0 del puerto A.

5
call retardo ; Se llama a la subrutina de retardo.
bcf PORTA,0
call retardo ; Se llama a la subrutina de retardo.
goto ciclo ; Va a la etiqueta ciclo.
retardo
CLRWDT ; Limpia el watchdog timer
MOVLW D'200' ; carga a W con 200
MOVWF loops ; Mueve el valor de W a Loops 2
top2 MOVLW D'220' ; Carga a W con 200
MOVWF loops2 ; Mueve el valor de W a Loops 2
top CLRWDT ; Limpia el Watchdog timer
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
NOP ; No se ejecuta instruccin, se consume el
tiempo de mquina y ocupa lugar en la
memoria del programa.
DECFSZ loops2,1 ; Decrementa el valor de loops2, si el
resultado es 0 se salta a la siguiente
instruccin de lo contrario sigue normal.
GOTO top
DECFSZ loops,1 ; Decrementa el valor de loops1, si el
resultado es 0 se salta la siguiente
instruccin, de lo contrario sigue normal
GOTO top2
RETLW 0 ; Retorna a la siguiente instruccin
despus de la instruccin Call, adems
carga con 0 a W.
END ; Fin del programa.
3. Diagrama de flujo del programa de automatizacin (cdigo .asm del punto 2)

6
7
8

You might also like