Página 1 de 1

Simulacao Proteus funciona para 16F e nao para 18F. Porque?

MensagemEnviado: 11 Jun 2007 20:30
por GILBERTO--JASMIN
Porque o seguinte codigo 'e simulado perfeitamente no Proteus 7.1 para o PIC16F84A e nao funciona para o PIC18F458.

// Codigo PIC16F84A

#include <16F84A.h>
#fuses HS,NOPROTECT,NOWDT
#use delay(clock=20000000)
#byte PORTB= 0X06


void main(){
set_tris_b=0x00;
delay_ms(1000);
PORTB = 0XAA;
}

//CODIGO PIC18F458

#include <18F458.h>
#fuses HS,NOPROTECT,NOWDT
#use delay(clock=20000000)
#byte PORTB= 0X06

void main(){
set_tris_b=0x00;
delay_ms(1000);
PORTB = 0XAA;
}


Sei que tem varios outros metodos para se setar uma porta, output_bit,output_high,output_low,output_x,output_toggle.

Gostaria de saber o porque do codigo acima nao estar funcionando perfeitamente, se alguem ja passou por este problema e se conseguiu resolver tal problema.

J'a que meu objetivo e descobrir o porque do problema, ja que setar os bits da porta poderia utilizar outros metodos, sendo que os outputs funcionam perfeitamente.

MensagemEnviado: 13 Jun 2007 14:07
por GILBERTO--JASMIN
Ninguém? Nenhuma resposta

MensagemEnviado: 13 Jun 2007 16:55
por pbernardi
Olha, eu não acho o proteus lá muito estável. Ele NÃO reproduz fielmente o comportamento do PIC. Já vi situacões em que o programa rodava no PIC mas não no PROTEUS e vice-versa.

Portanto, dá pra usá-lo com referência, mas não como verdade absoluta. Já tentou ver se o programa roda num PIC18F458 mesmo?

Outra tentativa é simular no próprio MPLAB e ver se o pino sobe. Isso dá certo se o programa não for muito complexo e não tiver muitos sinais externos.