Академический Документы
Профессиональный Документы
Культура Документы
Tema
Carrera:
Ciclo Acadmico y paralelo:
Alumnos participantes:
Mdulo y Docente:
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
; 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
;salto a la configuracion
; crea la variable VAR
;carga en W el valor de 1
;mueve cont1 a W
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
; volver al bank 0
; resetear el puerto
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
ABAJO
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
MOVLW
B'00001000'
TRISC
VAR1
B'00000100'
TRISC
VAR1
B'00000010'
MICROCONTROLADORES
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
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