Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Solucion Actividad Central 2

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 10

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.

1
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. Descripción de pines de entrada y salida
Cabe aclarar que los pines de un microcontrolador pueden funcionar como
entrada o salida todo depende de la configuración
ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA
RAO/ANO RCO/T10SO/T1CKI
Pin. 2 E/S Digital o Pin. 11 E/S Digital.
Entrada Análoga 0. Salida del oscilador
RA1/ AN1 Timer 1 o entrada de
Pin 3. E/S Digital o reloj Timer 1.
Entrada Análoga 1. RCI/T10SI/CCP2.
RA2/ AN2 Vref - Pin. 12 E/S Digital.
Pin. 4 E/S Digital o Entrada del oscilador
Entrada Análoga 2. Timer1. Entrada
RA3/ AN3/ Vref + captura 2; Salida
Pin. 5 E/S Digital o compara 2; Salida
Entrada Análoga 3. PWM 2
RA 4/ T0CKI RC2/CCP1.
Pin. 6 Bit 4 del puerto Pin. 13 E/S Digital.
A Entrada Captura 1;
( E/S bidireccional) Salida compara 1;
También se utiliza Salida
como entrada del reloj PWM 1.
al temporizador/ RC3/SCK/SCL.
contador TMR0. Salida Pin. 14 E/S Digital.
de colector abierto. Línea de reloj serial
RA5/ SS/ AN5. asíncrono en el modo
Pin. 7 E/S Digital o SPI y el modo I2C
Entrada Análoga 4. RC4/SDI/SDA.
También lo usa el Pin. 15 E/S Digital.
puerto el puerto serial Línea de datos en el
síncrono. modo SPI o en el
RB0/INT. modo I2C
Pin. 21 Bit 0 del puerto RC5/SDO.
B (E/S Bidireccional) Pin. 16 E/S Digital.
Buffer E/S: TTL/ST. RC6/TX/ CK
También se utiliza Pin. 17 E/S Digital.

3
como entrada de Transmisión asíncrona
interrupción externa (USART) o reloj
(INT). síncrono (SSP).
RB1 RC7/RX/DT.
Pin. 22 Bit 1 del puerto Pin. 18 E/S Digital.
B (E/S Bidireccional). Recepción asíncrona
Buffer E/S: TTL. (USART) o línea de
RB2. datos (SSP).
Pin. 23 Bit 2 del Puerto V DD
B (E/S Bidireccional). Pin. 20 voltaje de
Buffer E/S: TTL alimentación DC (+)
RB3. VSS.
Pin. 24 Bit 3 del puerto Pin. 8,19 Referencia de
B ( E/S bidireccional). voltaje (GND).
Buffer E/S: TTL MCLR
RB4. Pin. 1
Pin. 25 Bit 4 del puerto Entrada de Reset al
B (E/S Bidireccional). microcontrolador.
Buffer E/S: TTL. Voltaje de Entrada
Interrupción por durante la
cambio del pin. programación.
RB5. OSC1/CLKIN
Pin 26. Bit 5 del puerto Pin. 9
B (E/S Bidireccional). Entrada oscilador
Buffer E/S: TTL. cristal oscilador /
Interrupción por Entrada fuente de reloj
cambio del pin. externa.

RB6. OSC2/CLKOUT
Pin 27 Bit 6 del puerto Pin 10. Salida oscilador
B (E/S Bidireccional). cristal. Oscilador RC:
Buffer E/S: TTL/ ST. Salida con un ¼
Interrupción por frecuencia OSC1.
cambio del pin.
Entrada de reloj para
programación serial
RB7.
Pin. 28 Bit 7 del puerto
B (E/S Bidireccional).
Buffer E/S: TTL/ST.

4
Interrupción por
cambio del pin.
Entrada de datos para
programación serial.

2. Comentarios de líneas de código

COMENTARIOS
List p=PIC16F873 Define el micro a utilizar.
Include "P16F873.inc" Directivas del procesador
_config 0x3F38 Palabras de configuración del PIC.
CBLOCK 0X20 BARIABLE 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
movwf CMCON ASIGNACION DE PUERTO COMO
ENTRADA
bsf STATUS, RP0 CAMBIO AL BANCO 1

5
bcf TRISA, 0 CONFIGURAMOS RA0 COMO
SALIDA
bsf TRISB, 0 COMO ENTRADA
bcf STATUS,RP0 CAMBIO AL BANCO 1
ciclo
btfss PORTB,0 Como el port b, en este caso vale
cero su función es saltar la
instrucción e ir directamente a
“goto inicio”
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, EL CUAL DEBE ESTAR
ROTULADO CON UN
IDENTIFICADOR ESPECIAL
LLAMADO ETIQUETA. CONSTITUYE
UN MECANISMO VITAL PARA
PROGRAMAR EN LENGUAJES
PRIMITIVOS COMO COBOL, BASIC
Y ENSAMBLADOR POR CUANTO
PERMITE SIMULAR
CONSTRUCCIONES DE CONTROL
ESTRUCTURADAS DE LAS CUALES
CARECEN DICHOS LENGUAJES,
TALES COMO LOS CICLOS Y
ESTRUCTURAS DE SELECCIÓN
MÚLTIPLE (CASE/SWITCH). EL
ENSAMBLADOR INCLUSO
PROPORCIONA UN AMPLIO
CONJUNTO DE INSTRUCCIONES
DE SALTO --VARIANTES DEL
GOTO-- SIN LAS CUALES SERÍA
PRÁCTICAMENTE IMPOSIBLE
PRODUCIR PROGRAMAS DE
IMPORTANCIA
parpadeo
bsf PORTA,0 ESTE CODIGO HACE LO INDICADO
COMO APAGAR UN LED O

6
ENCENDERLO
call retardo LLAMA AL RETARDO
bcf PORTA,0 ESTE CODIGO HACE LO INDICADO
COMO APAGAR UN LED O
ENCENDERLO
call retardo LLAMA AL RETARDO
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, EL CUAL DEBE ESTAR
ROTULADO CON UN
IDENTIFICADOR ESPECIAL
LLAMADO ETIQUETA. CONSTITUYE
UN MECANISMO VITAL PARA
PROGRAMAR EN LENGUAJES
PRIMITIVOS COMO COBOL, BASIC
Y ENSAMBLADOR POR CUANTO
PERMITE SIMULAR
CONSTRUCCIONES DE CONTROL
ESTRUCTURADAS DE LAS CUALES
CARECEN DICHOS LENGUAJES,
TALES COMO LOS CICLOS Y
ESTRUCTURAS DE SELECCIÓN
MÚLTIPLE (CASE/SWITCH). EL
ENSAMBLADOR INCLUSO
PROPORCIONA UN AMPLIO
CONJUNTO DE INSTRUCCIONES
de retardo
retardo
CLRWDT ESTA INSTRUCCIÓN BORRA EL
WATCHDOGD COMO EL
PRESCALER LOS BIT TO Y PD DEL
REGISTRO DE ESTADO SE PONE A
“1” SINTAXIS [IABEL]CIRUDI
FLAXGS AFECTADOS :TO PD
MOVLW D'200' EL NUMERO DE MILISEGUNDOS
LLEGA
MOVWF loops MOVER EL BALOR DEL REGISTRO

7
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 ESTA INSTRUCCIÓN BORRA EL
WATCHDOGD COMO EL
PRESCALER LOS BIT TO Y PD DEL
REGISTRO DE ESTADO SE PONE A
“1” SINTAXIS [IABEL]CIRUDI
FLAXGS AFECTADOS :TO PD
NOP Secuencia de instrucciones del
lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en
absoluto.
NOP Secuencia de instrucciones del
lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en
absoluto.
NOP Secuencia de instrucciones del
lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en
absoluto.
NOP Secuencia de instrucciones del
lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en
absoluto.
NOP Secuencia de instrucciones del
lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en

8
absoluto.

Secuencia de instrucciones del


NOP lenguaje de programación de
computadoras, o comando de
protocolo informático que
efectivamente hace nada en
absoluto.
DECFSZ loops2,1 PREGUNTA SI TERMINO 1 MS
GOTO top Saltar al top 1.
DECFSZ loops,1 Decrementa en 1 loops y pregunta
si es cero y salta, sino continua
GOTO top2 Salta al top 2.
RETLW 0 Retorna con W=0.
END Significa que todo termino.

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


punto 2)

9
10

También podría gustarte