Practica 2 Microcontroladores
Practica 2 Microcontroladores
Practica 2 Microcontroladores
LITORAL
FIEC
Laboratorio de Microcontroladores
Prctica
Encendido de LEDs
Alumnos
Jos Daniel Plas
Maritza Chvez T
Paralelo: 8 Grupo: 2
Fecha de presentacin:
07 - 11 - 2014
2014 2 TRMINO
Fuente
PIC16F887
LEDs
Inicio
Counter=Counter-1
no
Counter=0
si
FIN
Seteo de Puertos
Inicializacin de variables
El nmero binario
01010101 se lo mueve a
PORTB
El nmero hFF se lo
mueve a counter
Se ejecuta el retardo
El nmero binario
10101010 se lo mueve a
PORTB
Se ejecuta el retardo
;*********************************************************************
; ENCENDIDO Y APAGADO DE LEDS EN PORTB USANDO
RETARDOS
;*********************************************************************
;
;
;
;
NOMBRE:
FECHA:
VERSION:
PROGRAMADOR:
p2_ret.asm
31/05/2010
1.00
Carlos Valdivieso
;*********************************************************************
;
DESCRIPCION:
; Este es similar al p1_led.asm con la novedad que ahora no se usa el
; interruptor en RA0 sino que se crean retardos de tiempo con la
; instruccin "decfsz counter" (decremente la variable counter y salte
; si es cero). Dicha instruccin decrementa el file counter, previamente
; cargado con FFh hasta 00h. Cuando counter alcanza el valor de cero
; se salta la prxima instruccin y contina el programa, esto permite
; que se genere un retardo que depende del reloj y del valor cargado
en
; counter. El mismo retardo se usar para mantener los LEDs
; encendidos o apagados .
; En este ejercicio el reloj parte a una velocidad de 4MHz porque
; se usa un oscilador externo, para luego por software seleccionar
; el reloj interno a 32KHz mediante el registro OSCON.
;*********************************************************************
LIST
INCLUDE
p=16F887
P16F887.INC
;Tipo de microcontrolador
;Define los SFRs y bits del
;P16F887
-302
;Deshabilita mensajes de
;advertencia por cambio
;bancos
;*********************************************************************
;DEFINICION DE VARIABLES
; las variables en el 16F887 pueden escribirse a partir de la
;posicin de memoria de datos 0x20
cblock 0x20
; Block of variables starts at address 20h
counter
; Variable "counter" at address 20h
endc
;************************************************************************
;INICIO DEL PROGRAMA
org 0x00
; Address of the first program instruction
banksel OSCCON
bcf
bcf
bcf
bsf
OSCCON,6
OSCCON,5
OSCCON,4
OSCCON,0
;SETEO DE PUERTOS
banksel
TRISB ; Selects bank containing register TRISB
clrf
TRISB ; All port B pins are configured as outputs
banksel
ANSEL
clrf
ANSEL
clrf
banksel
ANSELH
PORTB ; Selects bank containing register PORTB
;INICIALIZACION DE VARIABLES
clrf
PORTB
clrf
counter
;DESARROLLO DEL PROGRAMA
;se cargan patrones alternados de unos y ceros en el puerto B
;entre cada patrn de nmeros se llama a un retardo.
inicio
movlw
movwf
movlw
movwf
call
movlw
movwf
movlw
movwf
call
goto
retardo
decfsz counter
; Variable "counter1" is decremented by 1
goto
retardo
; remains in loop retardo
return
end
; End of program;
************************************************************************
7. Conclusiones
8. Recomendaciones