Sie sind auf Seite 1von 7

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

FIEC
Laboratorio de Microcontroladores Prctica 1
ENCENDIDO DE LEDS MEDIANTE INTERRUPTORES

Alumno: Luis Alberto Pinos Ullauri Paralelo: 6

Fecha de presentacin: 31 de Mayo de 2013

2013 1er TRMINO

1. Enunciado del proyecto El programa controlar el encendido de 8 diodos LED de forma alternada, a travs de la conmutacin de un switch. Si el switch est abierto, se polarizarn los diodos LED de las posiciones impares(1, 3, 5 y 7), y si est cerrado, se polarizarn los de las posiciones pares. 2. Diagrama de Bloques

SWITCH

PIC16F887

8 diodos LED

3. Diagrama de Flujo funcional del Programa principal y de las subrutinas

4. Descripcin del algoritmo o estrategia utilizada. En la topologa del circuito, se conecta un switch a RA0. Cuando se cierra el interruptor, RA0 es igual a 1, y en el puerto B se muestra el valor 0xAA, a travs de 8 diodos LED. Cuando se abre el interruptor, RA0 es igual a 0, y en el puerto B se muestra el valor 0x55. El algoritmo comienza con la configuracin de los puertos A y B, utilizamos la instruccin BANKSEL TRISB que nos permite cambiar de bancos para poder encerar al fichero TRISB y usarlo como salida digital. Se configura tambin a los ficheros ANSEL y ANSELH, para que los puertos A y B, trabajen como entradas o salidas digitales. Dentro del lazo implementado, se empieza comprobando el valor del bit 0 de PORT A, de manera que en el caso de que valga 1, se ejecuta la instruccin la instruccin siguiente, es decir pasamos a la rutina con eti queta Nuevo Valor y movemos 0x55 al registro de trabajo W para posteriormente pasar el valor al puerto B. La siguiente instruccin nos indica regresar al lazo y se volver a comprobar el valor del bit [0]. De este modo los registros cambiaran de valor con lo que el switch conmute y permitir el encendido alterno de los LEDs.

5. Listado del programa fuente en lenguaje ensamblador con comentarios en las lneas de cdigo que considere fundamentales
;************************************************************* ; LECTURA DE SWITCH EN PORTA Y ENCENDIDO DE LEDS EN PORTB ;************************************************************* ; NOMBRE: p1_led.asm ; FECHA: 26/05/2010 ; VERSION: 1.00 ; PROGRAMADOR: Carlos Valdivieso ;************************************************************* ; DESCRIPCION: ; Se coloca un interruptor en RA0. Cuando RA0=1 en el Puerto B ; deber leerse el valor hexadecimal AA y cuando RA0=0 deber ; cambiar al valor hexadecimal 55. ;************************************************************* LIST p=16F887 ; Tipo de microcontrolador INCLUDE P16F887.INC ; Define los SFRs y bits del ; P16F887 __CONFIG _CONFIG1, _CP_OFF&_WDT_OFF&_XT_OSC ; Ingresa parmetros de ; Configuracin ; Deshabilita mensajes de ; Advertencia por cambio ; Bancos ;************************************************************* ; INICIO DEL PROGRAMA ORG 0x00 de Reset) ; SETEO DE PUERTOS BANKSEL TRISB ; selecciona el banco conteniendo TRISB CLRF TRISB ; puerto B configurado como salida BANKSEL ANSEL CLRF ANSEL ; configura puertos con entradas digitales CLRF ANSELH ; configura puertos con entradas digitales BANKSEL PORTB ; selecciona el puerto B como salida CLRF PORTB BSF TRISA,0 ; DESARROLLO DEL PROGRAMA LOOP BTFSS GOTO MOVLW MOVWF GOTO NUEVO_VALOR MOVLW MOVWF GOTO END PORTA,0 NUEVO_VALOR B'10101010' PORTB LOOP B'01010101' PORTB LOOP ; prueba del bit 0 del puerto A ; mueve 0xAA al registro W ; pasa el valor al puerto B ; Comienzo del programa (Vector errorlevel -302

; mueve 0x55 al registro W ; pasa el valor al puerto B

; fin del programa

6. Copia impresa del circuito armado en PROTEUS para la simulacin en el momento de su ejecucin Circuito con switch abierto, RA=1

Circuito con switch cerrado, RA=0

7. Conclusiones

Se logr familiarizar con el funcionamiento de la herramienta de desarrollo MPLAB y PROTEUS, aplicando el cdigo de un programa simple descrito en la prctica, el cual se encarga del encedido alternado de los diodos LED a travs de la conmutacin de un interruptor y el manejo de los ficheros del PIC 16FF87

Se ley el cdigo del programa, y con la herramienta debug se analiz cada


instruccin, de manera que no se hizo complejo entender el funcionamiento, la lgica y el orden de las diferentes instrucciones presentadas en el cdigo

8. Recomendaciones

La prctica va de acuerdo al syllabus de la parte terica de Microcontroladores, pero tal vez es importante recomendar una explicacin ms profunda de las instrucciones que la prctica nos presenta, de manera que contribuya a la integracin de los conocimientos aprendidos.

ANEXO DE RESPUESTAS A PRCTICA 1

INTEGRANTE : Luis Alberto Pinos Ullauri PARALELO: 6

Indique la funcin que desempean cada uno de los siguientes conos:

Run.- Ejecuta el programa hasta que consiga un punto de quiebre (Breakpoint) o hasta que se detenga el programa (Halt). Loscambios en los registros se observaran slo cuando se detenga la ejecucin del programa. Halt.- Detiene la ejecucin del programa. Animate.- Ejecuta el programa de forma animada. Se pueden observar los cambios en los registros a medida que estos ocurren. Step Into. -Ejecuta paso a paso el programa entrando a las Subrutinas. Step Over.- Ejecuta paso a paso el programa principal. En unainstruccin CALL, ejecuta el llamado a subrutina, retorna y se detiene en la direccin siguiente a la llamada. Luego de este retorno, se puede continuar la ejecucin paso a paso. Step Out.- Se sale de una subrutina sin finalizar su ejecucin, y regresa a la lnea siguiente de la instruccin CALL de donde parti. Reset.- Lleva al PC (Program Counter) a la direccin 00h (Vector de Reset) y restablece las acciones y opciones a sus valoresiniciales, dependiendo de la herramienta y dispositivo seleccionado. El tipo de reset puede ser por Watchdog, Brown out, procesador, MCLR.

Das könnte Ihnen auch gefallen