;ENCIENDE Y APAGA UN LED CON RETARDO DE 1 SEGUNDO
#INCLUDE
CBLOCK 0X20 ;DECLARO MIS VARIABLES
NUM1,NUM2,NUM3 ;REGISTROS OCUPADOS EN LOS RETARDOS
ENDC
ORG 0X00 ;DECLARO INICIO DE LA ESCRITURA EN LA MEMORIA DE PROGRAMA
;C O N F I G U R A C I O N D E P U E R T O S
BSF STATUS,RP0 ;CAMBIO A BANCO 1
BCF TRISB,0; DECLARO PORTB,0 COMO SALIDA
BCF STATUS, RP0; CAMBIO A BANCO 0
;P R O G R A M A P R I N C I P A L
START ;ETIQUETA QUE MARCA EL INICIO DEL PROGRAMA PRINCIPAL
BSF PORTB,0 ;ENCIENDO EL LED
CALL RETARDO;LLAMO AL RETARDO
BCF PORTB,9;APAGO EL LED
CALL RETARDO ;LLAMO A RETARDO
GOTO START; CON EL SALTO VUELVE A EMPEZAR EL CODIGO
RETARDO:
MOVLW .10
MOVWF NUM3
OTRA2:
MOVLW .200
MOVWF NUM2
OTRA1:
MOVLW .166
MOVWF NUM1
OTRA:
DECFSZ NUM1,F
GOTO OTRA
DECFSZ NUM2,F
GOTO OTRA1
DECFSZ NUM3,F
GOTO OTRA2
RETURN
END;FIN DE PROGRAMA
;***********************
; I N F O
;Los punto y coma significan, inicio de comentarios
;descripcion de los registros
;PORTB registro del microcontrolador a travez del
;cual, se tiene acceso a los pines del microcontrolador
;TRISB registro del microcontrolador que configura
;como entrada o salida los pines correspondientes
;STATUS registro del microcontrolador que en este caso
;nos sirve para poder cambiar de banco y configurar
; los pines del micro
;este es un ejemplo muy simple,
;para ayudar a quien necesite irle perdiendo el
;miedo a los microcontroladores
;Cualquier duda, quedamos a sus ordenes.
puedo usar este mismo código en el pic 18f4550? o que modificaciones debo hacerle? de antemano gracias
ResponderEliminarHola, que tal?
ResponderEliminarEl pic18f4550 pertenece a una familia diferente de microcontroladores.
Si se puede usar, pero no es directo, ya que en el 4550 necesitas usar otra palabra de configuración, declarar en otra parte los registros de propósito general, en el pic18 ya no necesitas cambiar de banco, etc.
Saludos!
;P R O G R A M A P R I N C I P A L
ResponderEliminarSTART ;ETIQUETA QUE MARCA EL INICIO DEL PROGRAMA PRINCIPAL
BSF PORTB,0 ;ENCIENDO EL LED
CALL RETARDO ;LLAMO AL RETARDO
BCF PORTB,9 ;APAGO EL LED, debería ser 0?
CALL RETARDO ;LLAMO A RETARDO
GOTO START ; CON EL SALTO VUELVE A EMPEZAR EL CODIGO