Estou tentando fazer este programa rodar no proteus mas sempre aparece o erro "mpasmwin.exe reported error code (1L).
daí eu vou no mplab e faço um projeto usando o arquivo lkr, e o mplab faz tudo ok (build sucessfull),
ai eu tento usar o .hex que o mplab gerou e apesar de o proteus nao dar mensagem de erro ele tambem nao faz funcionar a simulacao.
ja gastei mais de 36 horas tentando resolver isso.
Ja ouvi dizer que o problema seria com a palavra de configuracao, que no mplab a palavra de configuracao nao precisa estar certinha, mas que no proteus ela precisava estar bem correta, sera que tem a ver?
que modificacoes eu teria que fazer neste .asm que postei abaixo para nao precisar usar o arquivo .lkr?
qualquer ajuda fico muito agradecida
;************************************************************************
; *
; Filename: MA_L1-Flash_LED-50p-inline.asm *
; Date: 1/7/08 *
; File Version: 1.0 *
; *
; Author: David Meiklejohn *
; Company: Gooligum Electronics *
; *
;************************************************************************
; *
; Architecture: Midrange PIC *
; Processor: 12F629 *
; *
;************************************************************************
; *
; Files required: none *
; *
;************************************************************************
; *
; Description: Lesson 1, example 2 *
; *
; Flashes an LED at approx 1 Hz. *
; LED continues to flash until power is removed. *
; *
; Uses inline 500 ms delay routine *
; *
;************************************************************************
; *
; Pin assignments: *
; GP1 - indicator LED *
; *
;************************************************************************
list p=12F675
#include <p12F675.inc>
errorlevel -302 ; no warnings about registers not in bank 0
;***** CONFIGURATION
; ext reset, no code or data protect, no brownout detect,
; no watchdog, power-up timer, 4Mhz int clock
__CONFIG _MCLRE_ON & _CP_OFF & _CPD_OFF & _BODEN_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
;***** VARIABLE DEFINITIONS
UDATA_SHR
sGPIO res 1 ; shadow copy of GPIO
dc1 res 1 ; delay loop counters
dc2 res 1
;**********************************************************************
RESET CODE 0x0000 ; processor reset vector
; calibrate internal RC oscillator
call 0x03FF ; retrieve factory calibration value
banksel OSCCAL ; then update OSCCAL
movwf OSCCAL
; initialisation
movlw ~(1<<GP1) ; configure GP1 (only) as an output
banksel TRISIO
movwf TRISIO
clrf sGPIO ; start with shadow GPIO zeroed
;***** Main loop
flash ; toggle LED
movf sGPIO,w ; get shadow copy of GPIO
xorlw 1<<GP1 ; flip bit corresponding to GP1
banksel GPIO ; write to GPIO
movwf GPIO
movwf sGPIO ; and update shadow copy
; delay 500ms
movlw .244 ; outer loop: 244 x (1023 + 1023 + 3) + 2
movwf dc2 ; = 499,958 cycles
clrf dc1 ; inner loop: 256 x 4 - 1
dly1 nop ; inner loop 1 = 1023 cycles
decfsz dc1,f
goto dly1
dly2 nop ; inner loop 2 = 1023 cycles
decfsz dc1,f
goto dly2
decfsz dc2,f
goto dly1
goto flash ; repeat forever
END