Professional Documents
Culture Documents
PRB1
PRB1
LIST
p=PIC16F887
#include
p16f887.inc
ORG
0x00 ;Vector de Reset
GOTO
inicio ;Programa Principal
;############################# DEFINICIONES ####################################
w_temp
status_temp
EQU
con0
EQU
0x0E ;Variable de te
mult
con1
equ
EQU
0x20
0x0F ; Variable de t
con2
EQU
0x10 ;Variable de te
dar W
guardar STATUS
mporizacion
emporizacion
mporizacion
led_uno
EQU
0x11
led_dos
EQU
0x12
led_tres
EQU
0x13
led_cuatro
EQU
0x14
led_cinco
EQU
0x15
led_seis
EQU
0x16
led_siete
EQU
0x17
led_ocho
EQU
0x18
;################### Comienzo de programa ######################################
;#######################
ORG
MOVWF
MOVF
MOVWF
BCF
DECFSZ
MOVLW
MOVWF
BCF
BSF
MOVF
MOVLW
BTFSS
MOVLW
MOVWF
led_tres,W
0x0A
STATUS,Z
0X00
led_tres
BCF TRISB,7
BCF STATUS,RP0
CLRF
MOVLW
CLRF
CLRF
CLRF
CLRF
CLRF
CLRF
CLRF
CLRF
MOVLW
INTCON
0x3F ;Variable para temporizar
led_uno ;led_uno=0
led_dos ; led_dos=0
led_tres ;led_tres=0
led_cuatro ;led_cuatro=0
led_cinco ;led_cinco=0
led_seis ;led_seis=0
led_siete ;led_siete=0
led_ocho ;led_ocho=0
B'10100000' ;Habilitamos interrupciones
MOVWF
INTCON
CALL
GOTO
led
bucle
T0IE
bucle
;###############################################################################
;Rutina prender y apagar led
led
MOVF
led_uno,W ; led uno prendid
o
MOVWF
PORTA
BSF
PORTB,0
CALL
retardo
BCF
PORTB,0
MOVF
MOVWF
BSF
CALL
BCF
MOVF
MOVWF
BSF
CALL
BCF
PORTA
PORTB,2
retardo
PORTB,2
MOVF
MOVWF
BSF
CALL
BCF
PORTA
PORTB,3
retardo
PORTB,3
MOVF
MOVWF
BSF
CALL
BCF
PORTA
PORTB,4
retardo
PORTB,4
MOVF
MOVWF
BSF
CALL
PORTA
PORTB,5
retardo
do
endido
dido
do
BCF
PORTB,5
MOVF
dido
MOVWF
BSF
CALL
BCF
PORTA
PORTB,6
retardo
PORTB,6
MOVF
MOVWF
BSF
CALL
BCF
PORTA
PORTB,7
retardo
PORTB,7
RETURN
;###############################################################################
;rutina retardo
retardo
BCF INTCON,T0IF
;Limpiar bit desborde Timer 0
CLRF TMR0
espera
BTFSS INTCON,T0IF
DECFSZ mult,F
;GOTO retardo
RETURN
;########################### FIN DE PROGRAMA #####################
END ;Fin de Programa