Microcontroladores - que hace?

 
Vista:

que hace?

Publicado por ines (1 intervención) el 14/05/2008 02:09:53
hola necesito saber con detalle que es lo que hace el siguiente codigo, lo agradecere de ante mano, pero porfavor me agradaria saber que significa el codigo paso a paso

list p=16f84a ;Indica el tipo de pic
W EQU 0x00 ;
FACTORA EQU 0X0C
FACTORB EQU 0X0D
AUX EQU 0x0E
ESTADO EQU 0X03
PORTA EQU 0X05
PORTB EQU 0X06
PCL EQU 0x02

ORG 0 ; siempre empieza en la direccion 0
goto INICIO ; Saltamos al inicio del programa
ORG 5 ; se deja espacio para las interrupciones

INICIO
bsf ESTADO,5
movlw 0x00 ; Con un 0x00 en ADCON1 se programan
movwf PORTB ;
movlw 0XFF
movwf PORTA
bcf ESTADO,5

ADQUIEREA
bsf PORTB,7
movf PORTA,0
andlw 0x0F
movwf FACTORA
btfsc PORTA,4
goto ADQUIEREA
bcf PORTB,7
call ESPERA
bsf PORTB,7
ADQUIEREB
movf PORTA,0
andlw 0x0F ; W =W(AND) 00001111 dejamos solo 4 bits hacia abajo
movwf FACTORB
btfss PORTA,4
goto ADQUIEREB
call ESPERA
call MULTIPLICA
call CONVIERTE
movwf PORTB
goto ADQUIEREA

ESPERA
movlw 0xFF
movf AUX
VUELTA
decfsz AUX,1
goto VUELTA
return

MULTIPLICA
movf FACTORA,1
btfsc ESTADO,2
retlw 0x00
movf FACTORB,1
btfsc ESTADO,2
retlw 0x00
movlw 0x00
BUCLE
addwf FACTORA,0
decfsz FACTORB,1
goto BUCLE
return

CONVIERTE
andlw 0x0F
addwf PCL,1
retlw b'00011111'
retlw b'00000110'
retlw b'01011011'
retlw b'01001111'
retlw b'01100110'
retlw b'01101101'
retlw b'01111101'
retlw b'01000111'
retlw b'01111111'
retlw b'01101111'
retlw b'01110111'
retlw b'01111100'
retlw b'01011000'
retlw b'01011110'
retlw b'01111001'
retlw b'01110001'

END
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder