Está en la página 1de 3

list

p=16f887

#include<p16f887.inc>
__CONFIG _CONFIG1, _FOSC_INTRC_NOCLKOUT & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON
& _CP_ON & _CPD_OFF & _BOREN_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF
ORG

0x00

;Configuracion de puertos
BSF
CLRF

STATUS,RP0
TRISB

;BSF

TRISC,2 ;Activando Pin2 del puerto C para entrada del pu

MOVLW
MOVWF
MOVWF

0xFF
TRISC
TRISD

BSF

STATUS,RP1

CLRF
CLRF

ANSELH
ANSEL

BCF
BCF

STATUS,RP1
STATUS,RP0

;Puerto B como salida

lsador

;CONTADOR

EQU 0x20 ; declaracion de variables


cblock 0x20
CONTADOR
CONTADOR2
d1
d2
d3
CO
c1
c2
c3
endc

MAIN

MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF

0xFF
PORTD
0x20
CONTADOR
0x08
CONTADOR2

DEC

DECFSZ CONTADOR,1
GOTO
MUESTRA
GOTO
FINAL

MUESTRA

MOVF

CONTADOR,W

;ADDLW
CALL
MOVWF
COMF
btfss
GOTO
CALL
MOVLW
MOVWF
CALL
GOTO

b'00000001'
B7S
CO
CO,0
PORTD,0
MUESTRA
ROTAR
0x08
CONTADOR2
Delay
DEC

FINAL

MOVF
;ADDLW
CALL
MOVWF
COMF
CALL
CALL
GOTO

CONTADOR,W
b'00000001'
B7S
CO
CO,0
ROTAR
Delay
MAIN

B7S

ADDWF
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW

PCL,1
0x3F
0x06
0x5B
0x4F
0x66
0x6D
0x7D
0x07
0xFF
0x67
0x77
0x7C
0x39
0x5E
0x79
0x71

RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW

0x71
0x79
0x5E
0x39
0x7C
0x77
0x67
0xFF
0x07
0x7D
0x6D
0x66
0x4F
0x5B
0x06
0x3F

MOVWF
CALL
RLF
nop

PORTB
Delay0.1
PORTB,0

ROTAR

DECFSZ CONTADOR2,1
GOTO
ROTAR
RETURN
;DEC2
;
;

GOTO
;RETURN

Delay
;999990 cycles
movlw
movwf
movlw
movwf
movlw
movwf

0x07
d1
0x2F
d2
0x03
d3

decfsz
goto
decfsz
goto
decfsz
goto

d1, f
$+2
d2, f
$+2
d3, f
Delay_0

goto
goto
goto

$+1
$+1
$+1

Delay_0

;6 cycles

;4 cycles (including call)


return
Delay0.1
;499994 cycles
movlw
movwf
movlw
movwf
movlw
movwf
Delay_0.1
decfsz
goto
decfsz
goto
decfsz
goto

0x03
c1
0x18
c2
0x02
c3
c1, f
$+2
c2, f
$+2
c3, f
Delay_0.1
;2 cycles

goto

$+1
;4 cycles (including call)

return
END

También podría gustarte