Buenas, soy nuevo en ASSEMBLER, necesito su ayuda, he estado todo el día (sin exagerar), tratando de hacer correr el sgte codigo en mi PIC 16F873A, que enciende y apaga un LED:
Cuento corto, cuando programo el codigo con un programador externo, el codigo funciona bien, pero si le cargo el bootloader al PIC, y luego programo vía bootloader , el programa no anda, ni siquiera se prende el LED. El bootloader esta bueno, ya que he hecho andar muchos otros programas en C. ¿cual podría ser el problema? Gracias por su ayuda.
Código:
;**********************************************************
; Processor: PIC16F873 at 20 MHz
; Function: Flash a LED connected to RA0
; Hardware: Testboard K3a
; Filename: 873flash.asm
; Author: Lars Petersen, oz1bxm@pobox.com
; Credit: Tony Nixon's LED flasher
;**********************************************************
LIST P=16F873A, R=DEC ; Use the PIC16F873 and decimal system
#include "P16F873A.INC" ; Include header file
__config _CP_OFF & _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _BODEN_ON
CBLOCK 0x20 ; Declare variable addresses
Loop1,Loop2
ENDC
;
; -----------
; INITIALIZE
; -----------
;
ORG 0x000 ; Program starts at 0x000
;
CLRF PORTA ; Initialize port A
CLRF PORTB ; Initialize port B
CLRF PORTC ; Initialize port C
;
BSF STATUS,RP0 ; RAM bank 1
;
CLRF TRISA ; All pins port A output
CLRF TRISB ; All pins port B output
CLRF TRISC ; All pins port C output
;
; ------------------------
; FUNCTION OF PORT A PINS
; ------------------------
;
MOVLW 6
MOVWF ADCON1 ; All pins digital I/O
;
BCF STATUS,RP0 ; RAM bank 0
;
; ----------
; MAIN LOOP
; ----------
;
Main BSF PORTA,0 ; Turn on LED connected to RA0
CALL delay
BCF PORTA,0 ; Turn off LED connected to RA0
CALL delay
GOTO Main
;
; ---------------
; DELAY 250 MSEC
; ---------------
;
delay MOVLW 250
MOVWF Loop1
Outer MOVLW 250
MOVWF Loop2
Inner NOP
NOP
DECFSZ Loop2,F
GOTO Inner ; Inner loop = 5 usec.
DECFSZ Loop1,F
GOTO Outer
RETURN
END
;**********************************************************
Cuento corto, cuando programo el codigo con un programador externo, el codigo funciona bien, pero si le cargo el bootloader al PIC, y luego programo vía bootloader , el programa no anda, ni siquiera se prende el LED. El bootloader esta bueno, ya que he hecho andar muchos otros programas en C. ¿cual podría ser el problema? Gracias por su ayuda.