Está en la página 1de 3

Reyes Gálvez María Fernanda

Sistemas Digitales
Secuencia de encendido de LEDs
Ejercicio:
Diseñar, codificar y simular un programa para un PIC16F84A que
controle el encendido de 8 LEDs conectados al puerto B con una
secuencia que corra de derecha a izquierda y luego de izquierda a
derecha.
Diagrama de Flujo

Código
#include <xc.inc>
;Secuencia de encendido de LEDs de derecha a izquierda y de izquierda a
derecha
;Zona de configuración general
PROCESSOR 16F84A
CONFIG FOSC=XT
CONFIG WDTE=OFF
CONFIG PWRTE=OFF
CONFIG CP=OFF
;Definición de la sección del código
PSECT Programa, class=CODE, delta=2, abs
ORG 00h
Programa:
GOTO INICIO
Reyes Gálvez María Fernanda
Sistemas Digitales
;Zona de configuración de los puertos
;Configuramos todo el puerto B como salida y el puerto A como entrada
INICIO:
BSF STATUS, 5
CLRF TRISB
BCF STATUS, 5
PRINCIPAL:
CLRF PORTB ;limpiar el Puerto B
;inicia la secuencia de encendido de LEDs de derecha a izquierda
MOVLW 11111110B
MOVWF PORTB
MOVLW 11111101B
MOVWF PORTB
MOVLW 11111011B
MOVWF PORTB
MOVLW 11110111B
MOVWF PORTB
MOVLW 11101111B
MOVWF PORTB
MOVLW 11011111B
MOVWF PORTB
MOVLW 10111111B
MOVWF PORTB
MOVLW 01111111B
MOVWF PORTB
;Inicia la secuencia de encendido de LEDs de izquierda a derecha
MOVLW 10111111B
MOVWF PORTB
MOVLW 11011111B
MOVWF PORTB
MOVLW 11101111B
MOVWF PORTB
MOVLW 11110111B
MOVWF PORTB
Reyes Gálvez María Fernanda
Sistemas Digitales
MOVLW 11111011B
MOVWF PORTB
MOVLW 11111101B
MOVWF PORTB
MOVLW 11111110B
MOVWF PORTB
GOTO PRINCIPAL ;se regresa al inicio, se hace como un ciclo
END Programa

Pruebas y Resultados de la simulación

De izquierda a derecha

De derecha a izquierda

Conclusiones:

La conclusión a la que llegue, fue que es muy sencillo hacer este


programa, pero con un poco mas de practica se puede modificar el
código para que sea más corto y eficiente.

En primera instancia, de estema manera es mas sencillo para mi de esta


manera, ya que si lo cambio a una toma de decisión se me hace más
difícil de seguir y aunque el diagrama de flujo y el código es mas
largo es mas sencillo para mi entender como es el programa.

También podría gustarte