UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA MECÁNICA INFORME DE LABORATORIO N°2 CURSO : SISTEMAS EMBEBIDOS (MT136 A) GRUPO N° : 2 ALUMNOS : Calderón Oscanoa, Ronny 20122516F Farceque Cruz, Yonatan 20124568C Huasupoma Malca, Enrique 20121046F Lucas Vargas, Eder 20121011H Quintanilla Albites, Rubén 20121066G PROFESOR :Ing. Furukawa Fukuda, Roberto FECHA DE PRESENTACIÓN : 31/10/2015
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD DE INGENIERÍA MECÁNICA
INFORME DE LABORATORIO N°2
CURSO: SISTEMAS EMBEBIDOS (MT136 A)
GRUPO N°: 2
ALUMNOS:
Calderón Oscanoa, Ronny 20122516F
Farceque Cruz, Yonatan 20124568C
Huasupoma Malca, Enrique 20121046F
Lucas Vargas, Eder 20121011H
Quintanilla Albites, Rubén 20121066G
PROFESOR: Ing. Furukawa Fukuda, Roberto
FECHA DE PRESENTACIÓN: 31/10/2015
LABORATORIO N° 2
PARTE N°1
Ejemplo N°16
Aplicaciones con interrupciones
Código en MPLAB
Ejercicio 1
Generar por el pin RB2 del PIC16F84 una señal de 1KHz (DC=50%) utilizando Interrupciones.
Para generar una señal de 1KHz utilizamos el TMR0 como temporizador. La señal de reloj se obtiene del Cristal de 4MHz (Tclk = 1µs).
Utilizando el pre-escaler (1/2 o Tclk = 2us), con lo cual el TMR0 se llena en 512 µs. Debemos hacer que el TMR0 comience a contar en 6 para que se desborde a los 500 µs.
Habilitamos la Interrupción por desbordamiento (TOIF=1), de ésta manera liberamos al CPU de estar consultando el estado del bit TOIF.
Nota: Hay que poner a ‘0’ el bit TOIF por software. Hay que considerar las instrucciones que se ejecutan entre el salto.
Código MPLAB
Ejemplo N°17
Código en MPLAB
Ejemplo N°18
Código en MPLAB
Ejemplo N°19
Memoria EEPROM de Datos.
Aplicación:
Escribir una sub-rutina para leer un dato de la EEPROM.
El dato leído se debe mostrar en el PORTB.
Utilice la opción: Windows - EEPROM Memory para visualizar el contenido de la EEPROM.
Código en MPLAB
Ejemplo N°20
Memoria EEPROM de Datos.
Aplicación:
Escribir una sub-rutina para escribir un dato de la EEPROM.
Código en MPLAB
Ejemplo N°21
Watch Dog Timer (WDT)
Aplicación:
Utilizando el MPLAB, habilite el WDT y mida el tiempo de generación del RESET.
Código en MPLAB
Ejemplo N°21
Watch Dog Timer (WDT)
Aplicación:
Utilizando el MPLAB, habilite el WDT y mida el tiempo de generación del RESET.
Código en MPLAB
Ejemplo N°22
Modo de Bajo Consumo (SLEEP)
Aplicación:
Escribir un programa que muestre el proceso de recuperación del PIC16F84 del modo SLEEP ante una interrupción externa.
Código en MPLAB
Ejemplo N°23
TMR1 como reloj de tiempo real
Código en MPLAB
Ejemplo N°24
USO del TMR2
Código en MPLAB
Aplicación CCP
CCP (Modo Captura)
Aplicación: Medir el tiempo existente entre los impulsos que llegan al pin RC2/CCP1.
Solución:
- TMR1 como temporizador.
- Modo captura con cada flanco descendente.
- Generar una interrupción en el modo de captura para cargar las variables.
- Multiplicar el valor capturado por el factor del pre-divisor para calcular el tiempo exacto.