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
;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


0