Hola que tal a todos !!!!
Tengo este codigo en Assembler, quisiera ayuda para poder traducirlo a Lenguaje C, todo esto para MPLAB IDE.
El codigo siguiente fue comentado por
JoaquinFerrero.
Gracias de antemano, O espero algun texto de referencia para poder lograr mi objetivo que es realizar este codigo en C.
Tengo este codigo en Assembler, quisiera ayuda para poder traducirlo a Lenguaje C, todo esto para MPLAB IDE.
El codigo siguiente fue comentado por
JoaquinFerrero.
Código:
#INCLUDE <P18F4550.INC>
ORG 0X00 ; vector de RESET
GOTO INICIO
ORG 0X08 ; vectores de interrupción
GOTO IntT0_ISR
INICIO:
MOVLW 0XFE ; definir entradas y salidas (1:entrada, 0:salida)
MOVWF TRISD ; en PORTD
BSF PORTD,0 ; activar bit 0 de PORTD
MOVLW 0XFB ; inicializar temporizador 0
MOVWF TMR0H ; con 0XFB1E = 64 286
MOVLW 0X1E
MOVWF TMR0L
MOVLW B'10001000' ; activar temporizador 0
MOVWF T0CON ; 16 bit, reloj interno, no preescalado
BSF INTCON,TMR0IE ; activar indicador interrupción de sobrepaso
BSF INTCON,GIE ; activar todas las interrupciones
Bucle:
GOTO Bucle ; no hacer nada más que esperar una muerte placentera
IntT0_ISR: ; ¡Oops! Tenemos una interrupción...
BTFSS INTCON,TMR0IF ; ¿es una interrupción por sobrepaso?
GOTO Fin_intT0 ; no, terminamos
BCF INTCON, TMR0IF ; desactivamos indicador de interrupción por sobrepaso
MOVLW 0XFB ; inicializar temporizador 0
MOVWF TMR0H ; con 0XFB1E = 64 286
MOVLW 0X1E
MOVWF TMR0L
BTG PORTD,0 ; cambia el bit 0 de PORTD
Fin_intT0:
RETFIE ; retorno de interrupción
END
Gracias de antemano, O espero algun texto de referencia para poder lograr mi objetivo que es realizar este codigo en C.
Última edición: