INFORME DE LABORATORIO 1
APAGADO Y ENCENDIDO DE UN LED
MICROPROCESADORES
INTEGRANTES : - ANDRES FELIPE LEON SALDAÑA 19266
- EDWIN RICARDO QUINTERO LEON 19251
DESCRIPCIÓN DEL CASO
Se requiere ver la oscilación de un led ( apagado y encendido constante), y que este tenga una frecuencia determinada, en nuestro caso a 5.55 Hertz o cada 0.18 segundos.
La oscilación debe ser producida por un micro controlador PIC16F877A, el cual sera programado en un lenguaje de programación de bajo nivel, en nuestro caso usamos lenguaje ensamblador o mejor conocido como assembler, adicionalmente a esta instrucción principal, el programa deberá reiniciarse con un pulsador.
FOTO DEL MONTAJE AVALADO POR EL DOCENTE:
Imagen de el voltaje en función del tiempo medido con un osciloscopio agilent desde el pin de salida Nº 37 del micro controlador.
Imágenes del montaje del circuito avalada por el docente.
ANÁLISIS DE DISEÑO CON DEFINICIÓN DE MATERIALES Y RECURSOS PARA DARLE SOLUCIÓN AL CASO
Como primera medida en necesario saber y aplicar los pasos a seguir para poder construir y quemar el programa en nuestro micro controlador, estos se resumen en 4 importantes pasos:
1) Idea o caso problema:
Se desea encender un ver el apagado y encendido de un led, a una frecuencia que se encuentre en el rango de la vision humana, a su vez este se debe reiniciar cada vez que un pulsador (P1) sea activado.
2) Algoritmo:
* Encender y apagar un led automáticamente y a una frecuencia constante.
* Al momento en que P1 sea pulsado, el led reiniciara su oscilación.
3) Diagrama de flujo:
4) Programa o código Assembler
Hay que tener en cuenta que a la hora de construir el código es necesario tener en cuenta que su estructura se basa a partir de 4 importantes partes:
* LIBRERÍAS O HERRAMIENTAS
(Se escoge el micro controlador que se utilizara)
* CONFIGURACIÓN DEL MICRO CONTROLADOR
* CONFIGURACIÓN DEL LOS PERIFÉRICOS
(Se declaran variables)
* PROGRAMA FINAL
Con estos importantes pasos y conociendo el datasheet o comandos del micro controlador es suficiente para construir el código.
#INCLUDE<p16f877A.inc> ; Definición del microcontrolador es decir la librería.
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
CONTA1 EQU 0X20 ; CONTADOR 1. Definición de registros de propósito general,
CONTA2 EQU 0X21 ; CONTADOR 2. Definición de registros de propósito general,
BSF STATUS,5 ; Se escoge el Banco 1 para programar Puertos.
BCF STATUS,6
BCF TRISB,5 ; B5 como salida para render y apagar el led.
BCF STATUS,5 ; Se escoge el Banco 0 para prender y apagar el led.
BCF STATUS,6
LED
BSF PORTB,5 ; Prende el led.
CALL TIEMPO1 ; Se da tiempo1 para que el led se vea prendido.
BCF PORTB,5 ; Apaga el led.
CALL TIEMPO1 ; Se da tiempo1 para que el led se vea apagado.
GOTO LED ; Regresa a preguntar.
TIEMPO1
MOVLW 0XC5 ; Valor con que se carga el contador 1.
MOVWF CONTA1
NIVEL1
MOVLW 0X97 ; Valor con que se carga el contador 2.
MOVWF CONTA2
NIVEL2
DECFSZ CONTA2,1 ; Se resta en 1 el contador 2 y se pregunta si es cero.
GOTO NIVEL2 ; Aun el contador 2 no es cero.
DECFSZ CONTA1,1 ; Se resta en 1 el contador 1 y se pregunta si es cero.
GOTO NIVEL1 ; Aun el contador 1 no es cero.
RETURN ; Retorna de la subrutina.
END
Finalmente se genera el archivo .asm com MPLAB y nos disponemos a quemarlo en el micro controlador con un PICK IT 3
ESO ES TODO AMIGOS MUCHAS GRACIAS !!!





