estou com problemas na simulacao

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

estou com problemas na simulacao

Mensagempor vanessa » 26 Set 2011 08:04

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
vanessa
Bit
 
Mensagens: 27
Registrado em: 29 Mar 2011 18:10

Mensagempor ze » 26 Set 2011 10:34

hummm pisca led. uma nobre aplicação pro pic.
-a configuração dos fusíveis já vai junto com o .hex. portanto é a mesma do mplab
-Voce pode carregar o .cof no proteus assim tem como debugar melhor.
-voce pode debugar no mplab mesmo. É pra ver qual dos 2 (ou dos 3) está fazendo cagada. Antes de enviar pro proteus use a função View Simulator Logic Analizer e visualize o pino do led
-Ve se dorme um pouco hein.
bj
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor proex » 26 Set 2011 10:51

Tem uma instrução ai nesse programa que é incompatível com o MPLAB e o PROTEUS.

Veja: movlw ~(1<<GP1) ;

O MPLAB e o PROTEUS nao reconhecem esse tipo de montagem de instrução.

No meu MPLAB, isso gera erro. No seu não?....tem certeza?

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor vanessa » 26 Set 2011 12:17

certeza absoluta. estou usando o mplab v7.31e o isis 7.6 spo.
vanessa
Bit
 
Mensagens: 27
Registrado em: 29 Mar 2011 18:10

Mensagempor MOR_AL » 26 Set 2011 19:32

Bons projetos.
MOR_AL
Editado pela última vez por MOR_AL em 28 Set 2011 22:52, em um total de 1 vez.
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor vanessa » 27 Set 2011 18:28

Consegui achar o problema
Foi tentando verificar o que o Proex disse, acabei tropecando na solucao.
Era uma coisa muito simples, eu estava crente que se eu substituisse os arquivos .asm, (modificasse eles e salvasse) o mplab automaticamente atualizaria o .hex do processador, mas isso nao acontece. Ou seja voce pode configurar a vontade o proteus para usar o seu .asm, mas ele nao atualiza o .hex correspondente. agora eu estou fazendo o building all no mpalb e ATUALIZANDO (clicando com o botao direito sobre o processador no isis) o .HEX
Perdi muito tempo mas, com certeza, valeu a pena.
Obrigado a todos pela ajuda.
vanessa
Bit
 
Mensagens: 27
Registrado em: 29 Mar 2011 18:10

Mensagempor proex » 27 Set 2011 18:58

Mesmo assim, aquela instrução esquisita continua dando mensagem de erro no meu MPLAB.


.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor vtrx » 27 Set 2011 19:52

movlw ~(1<<GP1) ;

Esta expressão equivale a setar GP1 como saída(NOT em 1 no GP1).
Aqui rodou...
Para setar como entrada,movlw 1<<GP1.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x