Microcontroladores - Si

 
Vista:

Si

Publicado por Consulta de codigo (2 intervenciones) el 04/08/2023 09:12:51
;DESPLAZAMOS UN BIT O UN CONJUNTO DE BOST A LA LIZQUIERDA EN RB0
;UTILIZANDO INSTRUCCION DE ROTATE
;VERSION PARA OSCULADOR CRISTAL X MHZ


processor 16f887
include <p16f887.inc>

__CONFIG _CONFIG1, _FOSC_INTRC_NOCLKOUT & _WDTE_OFF & _PWRTE_OFF & _LVP_OFF


J equ H'20'
K equ H'21'
N equ H'22'
M equ H'23'


org 0


CONFIGURAR:

bsf STATUS,RP0 ;ACCESO AL BANCO1
clrf TRISB ;Puerto B como salidas
bcf STATUS,RP0 ;Acceso al banco 0

movlw d'12'
movwf M ;Inicializa M a 12


INICIALIZA:

movlw d'3'
movwf N ;Inicializa N a 3
movlw b'00000001'
movwf PORTB ;enciende bit RB0
movlw d'1'
call DELAY


DESPLAZA:
RLF PORTB,f ;Gira (desplaza a travès de "Carry") in bit a la vez del Puerto B
movlw d'1'
call DELAY

decfsz M,f
goto SIGUE
goto STOP

SIGUE:
decfsz N,f
goto DESPLAZA
goto INICIALIZA


STOP:
goto STOP


;RUTINA DE RETARDO

DELAY:
movwf J ; J:= W
jloop: movwf K ; K:= W
kloop: decfsz K,f ; K = K-1, Saltar al siguiente si es 0
goto kloop
decfsz J,f ; J = J-1, Saltar al siguiente si es 0
goto jloop
return


end



Hay algo mal en este codigo? Lo analizo y no logro encontrar el error
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