Ayuda Porfavor

Gishu

Bovino maduro
#1
Hola amigos bakunos pues miren tengo ke hacer un circuito pekeño el cual es en ensamblador el cual haga un recorrido de 5 leds de derecha a izquierda con las instrucciones RRF y RLF pero no se como usarlas necesito de su ayuda por favor y miren he echo esto en códig: Esta en MPLAB
__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST P=16F84A
INCLUDE<P16F84A.INC>

ORG 0
ret EQU 0x0C

Inicio
clrw
bsf STATUS,RP0
clrf TRISB
bcf STATUS,RP0

Principal
s1 call carga_uno
call retardo
clrw
s2 call carga_dos
call retardo
clrw
s3 call carga_tres
call retardo
clrw
s4 call carga_cuatro
call retardo
clrw
s5 call carga_cinco
call retardo
goto Principal


carga_uno
movlw b'00000001'
movwf PORTB
return

carga_dos
movlw b'00000010'
movwf PORTB
return

carga_tres
movlw b'00000100'
movwf PORTB
return

carga_cuatro
movlw b'00001000'
movwf PORTB
return

carga_cinco
movlw b'00010000'
movwf PORTB
return
retardo
movlw d'1000'
movwf ret
ciclo decfsz ret,1
goto ciclo
return

fin

END

aquí hace un recorrido pero no se como usar la instrucción RRfy RLF me seria de mucha ayuda que alguno de ustedes me guiara
 

rleonmx

Bovino Milenario
#2
quieres decir que asi como esta ya funciona?

las instrucciones rrf y rlf lo que hacen es rotar a la izquierda o a la derecha el registro

ejemplo
movlw b'01000000'
movwf registro ;aqui el registro tiene 01000000
rrf registro,f ;aqui el registro tiene 00100000

y con el rlf es a la izquierda el corrimiento

no hay gran ciencia, la hoja de datos del pic que uses viene con el total de las instrucciones

ya lo simulaste en el mplab? de que frecuencia es el cristal que usas?
 

Gishu

Bovino maduro
#3
Pues mira si lo metí en el Mplab y después al proteus para similar el funcionamiento para ver el funcionamiento del PIC 16F84A pero me seria de mucha ayuda me explikaras como meter esas instrucciones en el código ke puse en verdad me seria de mucha ayuda
 

gvz

Bovino adicto
#4
Ahhh ps mira, tu cargas W o el reg ke vayas a usar con un solo 1 ke es el ke rotara. X ejem movlw 00000001
Movwf rotador jaja o el ke se t okurra a ti y tienes que limpiar el bit d akarreo en STATUS,C o STATUS,0 xk se rota con todo y el bit carry y en t kazo tendria ke estar en cero, luego ya t decides mm dnd guardar el dato recorrido, kn 0 lo mandas a w y kn 1 a rotador, ejem
 

gvz

Bovino adicto
#5
Un poko d kodigo para explikarlo en kasteyano jaja
NO PONDRE TODO L KODIGO
Bcf status,0
Movlw 00000001

Movwf rotador; Previament dclarado

Movwf portb; es el ke tu usavas

Rlf rotador, 1; Aki puse el 1 pa ke se reguard en rotador pero ya guarda 00000010

Movf rotador,w; rotador a w
Movwf portb

Y asi t vas, obio ya n tienes ke declarar kada salida kmo en t kodigo ke pusizte xk rotate f ya lo hace, use port b xk es el ke venias usando.
Es muy importante k limpies el bit carry, suerte compa
 
Arriba