Você está na página 1de 4

UNIVERSIDAD TCNICA DE AMBATO

FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E INDUSTRIAL


PERODO ACADMICO: OCTUBRE/2015 MARZO/2015

Tema
Carrera:
Ciclo Acadmico y paralelo:
Alumnos participantes:
Mdulo y Docente:

Secuencia de encendido de 4 leds


Electrnica y Comunicaciones.
Sptimo A
Sptimo electrnica
Microcontroladores
Ing. Patricio Crdova

1.1. Tema:
SECUENCIA DE ENCENDIDO DE 4 LEDS
1.2. Objetivo :
Realizar el encendido secuencial de 4 leds mediante la programacin en
MPLAB utilizando la programacin en lenguaje Assembler.
1.3. Descripcin :
El presente programa nos permite encender 4 leds de manera secuencial, dando la
apariencia de las luces del auto fantstico; las luces se encendern de izquierda a
derecha mientras el pulsador se mantenga presionado. Para lo cual realizamos
nuestro cdigo en lenguaje assembler, lo simularemos en Proteus y posteriormente
se implementara de manera fsica, cargaremos nuestro cdigo hexadecimal al
microcontrolador PIC 16F887 mediante el PICkit 2 y lo implementaremos de
acuerdo al diagrama de Proteus.
1.4. Materiales y equipos:
DESPLAZAMIENTO DE LEDS
Microcontrolador PIC16F887.
Pulsador
4 diodos Leds.
5 resistencias de 220 ohmios.
Cables.
Fuente de 5V DC.
Quemador de PIC
Software MPLAB IDE X
Software PICkit II

MICROCONTROLADORES

UNIVERSIDAD TCNICA DE AMBATO


FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E INDUSTRIAL
PERODO ACADMICO: OCTUBRE/2015 MARZO/2015

1.5. Diagramas y esquemas:

Diagrama No.1: Encendido secuencial de 4 leds.

1.6. Cdigo comentado:


; PIC16F887 Configuration Bit Settings
LIST P=16F887
#include "p16F887.inc"

;Identificamos el tipo de PIC


;Llamamos a las librerias

; CONFIG1
; __config 0xE0D2
__CONFIG _CONFIG1, _FOSC_HS & _WDTE_ON & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF &
_CPD_OFF & _BOREN_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF
; CONFIG2
; __config 0xFFFF
__CONFIG _CONFIG2, _BOR4V_BOR40V & _WRT_OFF
CNT1
CNT2
CNT3
AUX1
AUX2

EQU
EQU
EQU
EQU
EQU

0X20
0X21
0X22
0X23
0X24

ORG 0
GOTO CONFIGURACION
ORG 5
VAR1
MOVLW 0x01
MOVWF CNT1
VAR2
MOVLW 0xFF
MOVWF CNT2
VAR3
MOVLW 0XFF
MOVWF CNT3
START
DECFSZ CNT3
GOTO START
DECFSZ CNT2
GOTO VAR3
DECFSZ CNT1
GOTO VAR2
MICROCONTROLADORES

;asigna la variable cont1

;salto a la configuracion
; crea la variable VAR
;carga en W el valor de 1
;mueve cont1 a W

;inicio del programa


;comienza condicin 3

UNIVERSIDAD TCNICA DE AMBATO


FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E INDUSTRIAL
PERODO ACADMICO: OCTUBRE/2015 MARZO/2015

RETURN
CONFIGURACION
BSF STATUS, RP0
MOVLW B'00000000'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'00000000'
MOVWF TRISC
MOVLW B'00000000'
MOVWF TRISD
MOVLW B'11111111'
MOVWF TRISE
MOVLW B'110'
MOVWF OSCCON
BSF STATUS, RP1
CLRF ANSEL
CLRF ANSELH
BCF STATUS, RP0
BCF STATUS, RP1
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE
CLRF AUX1
CLRF AUX2
MOVLW 0X00
INICIO

BTFSC PORTE,0
CALL REV1
BTFSC PORTE,1
CALL ARRIBA
CALL APAGADO
GOTO INICIO

; cambia el banco de trabajo


; limpia el puerto a trabajar

; volver al bank 0
; resetear el puerto

; realiza un llamado al retardo


;llamado a ARRIBA
;llamado a APAGADO
;salto hacia INICIO

REV1
BTFSC PORTE,1
CALL CENTRO
CALL ABAJO
GOTO INICIO
ARRIBA
MOVLW
B'00000001'
MOVWF
TRISC
CALL
VAR1
MOVLW
B'00000010'
MOVWF
TRISC
CALL
VAR1
MOVLW
B'00000100'
MOVWF
TRISC
CALL
VAR1
MOVLW
B'00001000'
MOVWF
TRISC
CALL
VAR1
GOTO INICIO

; cargar w con 00000001


; enviar ese dato al puerto trisc
;llamado retardo numero 1

;salto haca INICIO

ABAJO
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW

B'00001000'
TRISC
VAR1
B'00000100'
TRISC
VAR1
B'00000010'

MICROCONTROLADORES

UNIVERSIDAD TCNICA DE AMBATO


FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA E INDUSTRIAL
PERODO ACADMICO: OCTUBRE/2015 MARZO/2015

MOVWF
TRISC
CALL
VAR1
MOVLW
B'00000001'
MOVWF
TRISC
CALL
VAR1
GOTO INICIO
CENTRO
MOVLW
B'00000110'
MOVWF
TRISC
CALL
VAR1
MOVLW
B'00001001'
MOVWF
TRISC
CALL
VAR1
MOVLW
B'00000000'
MOVWF
TRISC
CALL
VAR1
GOTO INICIO
APAGADO
MOVLW
B'00000000'
MOVWF
TRISC
GOTO INICIO
END

;salto hacia INICIO


;fin del programa

1.7. Resultado:
Se program el encendido secuencial de 4 leds en lenguaje ensamblador mediante la
utilizacin de los bloque de Trisc, para observar el correcto funcionamiento de la
secuencia se carg el archivo en formato hexadecimal en proteus. Una vez confirmado
el correcto funcionamiento de nuestro programa se procedi a la implementacin en la
protoboard y con la ayuda del software PICKitII se quem el PIC16F887.

MICROCONTROLADORES

Você também pode gostar