ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diseño de productos electrónicos con microcontroladores .Análisis estructural y funcional de un microcontrolador


Enviado por   •  15 de Agosto de 2020  •  Tarea  •  1.904 Palabras (8 Páginas)  •  658 Visitas

Página 1 de 8

ACTIVIDAD CENTRAL UNIDAD 2

Diseño de productos electrónicos con microcontroladores

Nombre de la actividad: Análisis estructural y funcional de un microcontrolador.

[pic 2]

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.

  1. 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 facilitador a través del medio utilizado para tal fin en el curso.


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 Y PINES DE SALIDA

[pic 3]

1-MCLR /VPP reset o entrada voltaje de programación

Puertos A es un puerto bidireccional de E/S

2-RA0/AN0 E/S también puede ser una entrada analógica 0.

3-RA1/AN1 E/S también puede ser una entrada analógica 1.

4-RA2/AN2/VREF E/S También puede ser entrada analógica 2 o

referencia analógica de voltaje negativo.

5-RA3/AN3/VREF+RA3 E/S También puede ser entrada analógica 3 o referencia analógica de voltaje positivo.

6- RA4/T0CKI E/S Puede ser también la entrada de reloj del modulo Temporizador 0.

7- RA5/SS/AN4 E/S También puede ser entrada analógica 4

o esclavo en la selección de puertos serial síncrono.

8-VSS referencia a tierra

9- OSC1/CLKIN entrada de oscilador de cristal

10- OSC2/CLKOUT salida oscilador de cristal

PUERTOC es un puerto bidireccional de E/S

11- RC0/T1OSO/T1CKI E/S RC0 Puede ser la salida del oscilador Timer1 o entrada de reloj de Timer1

12-RC1/T1OSI/CCP2 E/S ST Puede ser la entrada del oscilador Timer1 o entrada de Captura2/salida de Captura2/PWM2

13-RC2/CCP1 entrada Captura1/salida Comparador1/salida PWM1

14-RC3/SCK/SCL E/S Puede ser entrada reloj de reloj de sincronía serial.

15-RC4 E/S puede ser entrada de dato SPI (en modo SPI).

16-RC5 E/S puede ser salida de dato SPI (en modo SPI).
17- RC6/TX/CK E/S Puede ser pin transmisión USART.

18- RC7/RX/DT E/S Puede ser pin de recepción USART.

19-VSS G referencia a tierra.

20-VDD fuente positiva

PUERTOB es un puerto bidireccional de E/S

21-RB0/INT E/S También puede ser pin de interrupción externa.

22-RB1 E/S.

23-RB2 E/S.

24- RB3/PGM E/S Puede ser entrada de bajo voltaje de programación.

25-RB4 E/S.

26-RB5 E/S.

27- RB6/PGC E/S Reloj de programación serial.

28- RB7/PGD E/S Dato serial de programación.

  1. Comentarios de líneas de código

COMENTARIOS

                List p=PIC16F873             

Usaremos el PIC16f873

                       Include "P16F873.inc"  

Se incluye un archivo de usuario

                _config 0x3F38              

Configuracion del WFT junto con el circuito de reinicio

CBLOCK          0X20

Valor para las constantes

Loops, loops2

Definición de las constantes

ENDC

Fin bloque constantes

                            org     0x00

Direccion de memoria

                             goto  Inicio

Salto al vector de interrupcion

Inicio                 movlw   0x07        

El valor de 0x7 es movido a W

                       movwf   CMCON          

Desactivacion comparadores analogicos

                      bsf          STATUS, RP0          

Cambiamos al banco 1

                       bcf         TRISA, 0            

                       bsf  TRISB, 0          

Estado alto en el bit 0 del puerto B

                     bcf    STATUS,RP0

ciclo                        

                           btfss  PORTB,0          

Bit del puerto B en estado alto se salta a la instrucción sino sigue normal

                           goto           ciclo        

Va a la etiqueta “ciclo”

parpadeo        

                          bsf       PORTA,0          

Alto el bit 0 puerto A

                           call      retardo        

Subrutina retardo

                          bcf      PORTA,0        

                          call      retardo        

                          goto   ciclo        

retardo                    

                          CLRWDT

Limpia el Watchdog Timer

                          MOVLW     D'200'          

Carga a W con 200

                          MOVWF     loops    

Mover el valor de W  a loops

top2                 MOVLW     D'220'                 

Carga a W con 220

                          MOVWF     loops2  

Mover valor de W a loops2

top                   CLRWDT

Limpia el Watchdog Timer

                          NOP

No se ejecuta ninguna instrucción solo consume el tiempo de maquina y ocupa lugar en la memoria del programa

                          NOP

                          NOP

                          NOP

                          NOP

                          NOP

                          DECFSZ    loops2,1    

Disminuye el valor de loops2 si el resultado es 0 sino continua normal

                          GOTO      top

                          DECFSZ    loops,1    

Disminuye el valor de loops2 si el resultado es 0 sino continua normal

                         GOTO      top2

                         RETLW     0

Retorna a la siguiente intruccion después de la instrucción Call, además carga con 0 a W

                     END

Fin del programa

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (348 Kb) docx (324 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com