Beruflich Dokumente
Kultur Dokumente
OBJETIVOS ESPECÍFICOS:
Realizar un Flujograma de la secuencia de encendido de leds y comando de led mediante pulsante.
Realizar el código de la programación de la secuencia de encendido de leds y comando de led mediante pulsante
3. Exposición
Microcontroladores
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Pic 16f877A
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Periféricos
Relé:
Es un dispositivo que consta de dos circuitos diferentes: un circuito
electromagnético (electroimán) y un circuito de contactos, al cual aplicaremos el
circuito que queremos controlar. En la siguiente figura se puede ver su simbología
así como su constitución (rele de armadura).[4]
Figura 3 Relé
Oscilador de cristal:
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Retardos en MPLAB
Cuando necesitamos que transcurra un determinado tiempo de espera antes de
que ocurra un evento como por ejemplo el encendido de una luz, LED, activación
de una bobina de un relé o lectura de una determinada entrada, se suele recurrir
a los retardos. Prácticamente casi todos los programas de microcontroladores PIC
usan en algún momento una rutina de retardo.
Los retardos por Software consisten en que el Pic se quede ¨enciclado¨ durante
un tiempo. Es decir, es necesario usar uno o varios contadores que deberán ser
decrementados, cuando dichos contadores lleguen a 0 habrá concluido el retardo.
Ejemplo con flujograma:
Bucles anidados
Estos bucles anidados consisten generar un Retardo base que se repetirá
n veces, el retardo base se hace de la manera anteriormente mencionada
usando un bucle que llamamos bucle interno, y al repetir este retardo base
n veces estamos formando un bucle mayor o bucle externo. [5]
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Con estos bucles se toma en cuenta la siguiente fórmula para calcular los
retardos con los que se requiere trabajar.
1
𝑅𝑒𝑡𝑎𝑟𝑑𝑜 = 𝑝 ∗ (𝑚 ∗ (𝑛 ∗ ))
𝐹𝑜𝑠𝑐
4. Proceso
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
RESULTADO(S) OBTENIDO(S):
Los resultados obtenidos, tanto el programa como la simulación, se pueden observar en los archivos anexos. Se
programa mediante MPLAB X IDE con la respectiva simulación en Proteus, esto es de gran ayuda, ya que se
comprueba cualquier proceso o secuencia, y evita daños en el PIC o en el circuito armado.
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CONCLUSIONES:
El microcontrolador PIC16F877A tiene una capacidad muy grande para el control de procesos, debido a ello se
puede crea un código más grande ya que el programa implementado en esta práctica no fue muy extenso.
Debido al sistema operativo de la PC, la sincronización del circuito armado con la simulación no es la misma, se
obtiene un retardo de milésimas de segundos en una secuencia pero en mientras mayor es el tiempo de ejecución,
el retardo tiende a ser de segundo.
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
RECOMENDACIONES:
Es importante el uso de un simulador como Proteus, ya que con él se pudo comprobar el correcto funcionamiento
del programa, así como también de cada una de las subrutinas y secuencias implementadas. Lo que nos permitió
realizar los cambios necesarios previos a grabado del microcontrolador. Es necesario trabajar con la misma
frecuencia tanto en la simulación en Proteus y el código en MPLAB X IDE para el PIC 16F877A, pero esta dependerá
del funcionamiento de la simulación.
Para la sincronización entre la simulación y el circuito armado, el sistema operativo de la PC debe ser lo más rápido
posible o el rango de error tiende a ser mayor.
Firma: _______________________________
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
OBJETIVOS ESPECÍFICOS:
Realizar un Flujograma de la secuencia de encendido de leds y comando de led mediante pulsante.
MARCO TEORICO
Microcontroladores
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes actividades que requieran
del procesamiento de datos digitales y del control y comunicación digital de diferentes dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos; las instrucciones, que
corresponden al programa que se ejecuta, y los registros, es decir, los datos que el usuario maneja, así como
registros especiales para el control de las diferentes funciones del microcontrolador.
Pic 16f877A
Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877 posee
varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y practico.
Algunas de estas características del PIC:
Soporta modo de comunicación serial, posee dos pines para ello.
Amplia memoria para datos y programa.
Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede
borrar electrónicamente (esto corresponde a la "F" en el modelo).
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo. [2]
Periféricos
Oscilador de cristal:
Un oscilador de cristal es un oscilador electrónico que utiliza la resonancia mecánica de un cristal vibratorio
de material piezoeléctrico para crear una señal eléctrica con una frecuencia precisa. Esta frecuencia se utiliza
comúnmente para controlar el tiempo, como en los relojes de cuarzo, para proporcionar una señal de reloj estable
para circuitos integrados digitales y para estabilizar las frecuencias de los transmisores y receptores de radio. El
tipo más común de resonador piezoeléctrico utilizado es el cristal de cuarzo, por lo que los circuitos osciladores que
los incorporan se conocieron como osciladores de cristal, pero existen otros materiales piezoeléctricos como las
cerámicas policristalinas que se utilizan en circuitos similares.[4]
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Retardos en MPLAB
Cuando necesitamos que transcurra un determinado tiempo de espera antes de que ocurra un evento como por
ejemplo el encendido de una luz, LED, activación de una bobina de un relé o lectura de una determinada entrada,
se suele recurrir a los retardos. Prácticamente casi todos los programas de microcontroladores PIC usan en algún
momento una rutina de retardo.
Los retardos por Software consisten en que el Pic se quede en un ciclo durante un tiempo. Es decir, es necesario
usar uno o varios contadores que deberán ser disminuidos, cuando dichos contadores lleguen a 0 habrán concluido
el retardo.
Bucles anidados
Estos bucles anidados consisten generar un Retardo base que se repetirá n veces, el retardo base se
hace de la manera anteriormente mencionada usando un bucle que llamamos bucle interno, y al repetir
este retardo base n veces estamos formando un bucle mayor o bucle externo. [5]
Con estos bucles se toma en cuenta la siguiente fórmula para calcular los retardos con los que se requiere
trabajar.
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
1
𝑅𝑒𝑡𝑎𝑟𝑑𝑜 = 𝑝 ∗ (𝑚 ∗ (𝑛 ∗ ))
𝐹𝑜𝑠𝑐
ACTIVIDADES DESARROLLADAS
1. Revisión de Datasheet’s.
2. Diseño de Flujograma.
Anexo A.
3. Programación en MPLAB X IDE
Anexo B.
Para la programación de retardos, se requiere que el tiempo de encendido de leds sea de 1 segundo y la frecuencia
de oscilación es de 20 MHz, por lo que reemplazando en la fórmula de retardos se obtiene:
1
𝑅𝑒𝑡𝑎𝑟𝑑𝑜 = 𝑞 ∗ (𝑝 ∗ (𝑚 ∗ (𝑛 ∗ )))
𝐹𝑜𝑠𝑐
1
1 𝑠 = 200𝑚𝑠 ∗ 200𝑚𝑠 ∗ 125𝑚𝑠 ∗ 10 ∗
20𝑀ℎ𝑧
Por lo que el valor de 𝑞 = 𝑝 = 200, el valor de 𝑚 = 125 y 𝑛 = 10 con estas condiciones se obtiene un retardo de 1
segundo. Con estos datos se implementa el retardo para el encendido y apagado de leds.
4. Simulación
Anexo C.
5. Grabado del PIC.
6. Armado del circuito.
Lista de Materiales
1 Pic 16F877A
1 Cristal de Cuarzo de 20MHz
2 Condensadores de 22pF
2 Pulsantes
1 Encapsulado de Leds
10 Resistencias de 330 ohmios
2 Resistencias de 10k ohmios
1 Fuente
RESULTADO(S) OBTENIDO(S):
Los resultados obtenidos, tanto el programa como la simulación, se pueden observar en los archivos anexos. Se
programa mediante MPLAB X IDE con la respectiva simulación en Proteus, esto es de gran ayuda, ya que se
comprueba cualquier proceso o secuencia, y evita daños en el PIC o en el circuito armado.
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CONCLUSIONES:
El microcontrolador PIC16F877A tiene una capacidad muy grande para el control de procesos, debido a ello se
puede crea un código más grande ya que el programa implementado en esta práctica no fue muy extenso.
Debido al sistema operativo de la PC, la sincronización del circuito armado con la simulación no es la misma, se
obtiene un retardo de milésimas de segundos en una secuencia pero en mientras mayor es el tiempo de ejecución,
el retardo tiende a ser de segundo.
RECOMENDACIONES:
Es importante el uso de un simulador como Proteus, ya que con él se pudo comprobar el correcto funcionamiento
del programa, así como también de cada una de las subrutinas y secuencias implementadas. Lo que nos permitió
realizar los cambios necesarios previos a grabado del microcontrolador. Es necesario trabajar con la misma
frecuencia tanto en la simulación en Proteus y el código en MPLAB X IDE para el PIC 16F877A, pero esta
dependerá del funcionamiento de la simulación.
Para la sincronización entre la simulación y el circuito armado, el sistema operativo de la PC debe ser lo más rápido
posible o el rango de error tiende a ser mayor.
Bibliografía
[1] Cifpn1hectorm.wordpress.com. Estudio de la estructura interna del PIC16f877A. Hector Marlote. [En línea].
Disponible en: https://cifpn1hectorm.wordpress.com/2013/04/10/estudio-de-la-estructura-interna-del-pic-16f877.
Consultado en: 10/12/2016.
[2] Descripción del PIC16F877. Danny Herrera. [En línea]. Disponible en:
http://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic.shtml. Consultado en: 10/12/2016.
[3] MikroElectronica_Microcontrolador PIC16F877A. [En línea]. Disponible en:
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/caracteristicas-basicas-del-pic16f887/. Consultado
en: 10/12/2016.
[4] Oscilador de Cristal. Anónimo. [En línea]. Disponible en: https://es.wikipedia.org/wiki/Oscilador_de_cristal.
Consultado en: 10/12/2016.
[5] Bucles anidados. Joel Campos. [En línea]. Disponible en:
https://campusvirtual.univalle.edu.co/moodle/pluginfile.php/161484/mod_resource/content/0/clase_3/Generar-
retardos-para-PIC-en-MPLAB.pdf
ANEXOS
ANEXO A: FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Figura 19 Flujograma
FOTOS DE LA PRACTICA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
#include "p16f877a.inc"
; CONFIG
; __config 0xFF39
__CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _BOREN_OFF & _LVP_OFF &
_CPD_OFF & _WRT_OFF & _CP_OFF
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
org 0
bsf STATUS, RP0
movlw b'00111111'
movwf TRISB
INICIO
BSF LED1 ; COLOCA EN 1 EL BIT RB0
CALL RETARDO
BCF LED1
CALL RETARDO
BSF LED2
CALL RETARDO
BCF LED2
CALL RETARDO
BSF LED3
CALL RETARDO
BCF LED3
CALL RETARDO
BSF LED4
CALL RETARDO
BCF LED4
CALL RETARDO
BSF LED5
CALL RETARDO
BCF LED5
CALL RETARDO
BSF LED6
CALL RETARDO
BCF LED6
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CALL RETARDO
BSF LED7
CALL RETARDO
BCF LED7
CALL RETARDO
BSF LED8
CALL RETARDO
BCF LED8
CALL RETARDO
BSF LED9
CALL RETARDO
BCF LED9
CALL RETARDO
explorar_boton
BTFSC BOTON ;exploramos el boton
GOTO explorar_boton ;no se presiono, entonces sigue explorarndo
CALL Retardo_20ms ;si se pulso, entonces demora de 20ms
BSF LED10
CALL RETARDO
BCF LED10
CALL RETARDO
Retardo_20ms
MOVLW D'5' ; CARGA W CON 255
MOVWF TIEMPO2 ; TIEMPO=255
nop
DECFSZ TIEMPO,F ;
GOTO $-.2
DECFSZ TIEMPO1,F ;
GOTO $-.6
DECFSZ TIEMPO2,F ;
GOTO $-.10
RETURN
GOTO INICIO
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
RETARDO
MOVLW D'20'
MOVWF TIEMPO3
MOVLW D'125'
MOVWF TIEMPO2
MOVLW D'200'
MOVWF TIEMPO1
MOVLW D'200'
MOVWF TIEMPO
GOTO explorar_boton
nop
DECFSZ TIEMPO,F ;
GOTO $-.2
DECFSZ TIEMPO1,F ;
GOTO $-.6
DECFSZ TIEMPO2,F ;
GOTO $-.10
DECFSZ TIEMPO3,F ;
GOTO $-.14
RETURN
END
Resolución CS N° 076-04-2016-04-20