Página 1 de 2

COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 15:31
por Pask
Amigos fiz a simulação do código abaixo no Proteus e o led fica piscando quando deveria permanecer aceso após eu pressionar o botão ligado ao pino PD0 do AVR Atmega32. Alguém saberia me explicar este comportamento estranho do Isis? Estou tentando iniciar em programação de microcontroladores AVR mas já esbarrei neste problema estranho!

cpp code
void main() {
ddrb=255;
ddrc=255;
ddrd=254; / / Pino PD0 configurado como entrada. Demais pinos são saídas
portb=0;
portc=0;
portd=0; // Todos os ports inicializados com zero.
pud_bit=1; // Resistores de pull_up desabilitados.

while(1) {
if(pind0_bit==1) //No ISIS o led conectado no pino PB0 pisca. Por que?
{
pinb0_bit=1;
delay_ms(100);
}
}
}

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 16:54
por proex
Pisca porque o Proteus esta simulando errado. Não confie nas simulações desse programa.
Alias, não confie em nenhum simulador.

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 17:38
por Pask
Mas porque as simulações dão certo com o PIC?

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 18:07
por proex
Pask escreveu:Mas porque as simulações dão certo com o PIC?


As simulações com Pic também falham. Comigo aconteceu exatamente como o seu ai, só que com o Pic.

Ai vc mexe mexe mexe e de repente ele começa a funcionar e vc não consegue descobrir por que nao funcionava antes.

.

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 18:21
por Pask
Que doideira. Então só montando o circuito numa protoboard mesmo...rsrsrsrs

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 30 Abr 2015 19:14
por Pask
Agora, o código abaixo funcionou mas ele está contando os atrasos de tempo em dobro, ou seja, um delay de 1000ms ele conta como 2s, um delay de 2000ms ele conta como 4s e assim por diante. Já conferi tudo e está tudo certo. Todas as configurações de clock e cristal ou oscilador interno foram experimentadas e não dá certo mesmo. Mas este erro de contagem somente acontece no Proteus, pois no debugador do MikroC for AVR está tudo ok.

cpp code
void main() {
ddrb=0b11111111;
ddrc=0b11111111;
ddrd=0b11111111;
portb=0b00000000;
portc=0b00000000;
portd=0b00000000;
while(1)
{
pind0_bit=1;
delay_ms(1000); / / aqui ele conta 2000ms
pind0_bit=0;
delay_ms(1000); / / aqui ele conta mais 2000ms (??????????)
}
}

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 01 Mai 2015 10:01
por Pask
Vejam a resposta do pessoal da Labcenter Electronics (fabricante do Proteus) para o meu problema relatado traduzida para o português:

Oi,

Infelizmente, muitos resultados inesperados aparecem devido ao fato do uso de cópias ilegais de software. Posso sugerir que você compre uma cópia legalizada em: http://www.labcenter.com/ordering/cprices.cfm e então eu posso fornecer-lhe apoio.

Kind regards,
David Spencer - Labcenter Electronics.
New Youtube channel: http://www.youtube.com/channel/UCFNnl5S532GMtwXJUYRo_wQ

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 04 Mai 2015 22:02
por brasilma
Rsrsrs :roll: :wink: :lol:

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 05 Mai 2015 10:57
por Pask
Segue agora o código correto para vocês e que funcionou também no Proteus. Na verdade, eu estava usando os registradores errados para comandar os ports do Atmega8. Descobri isto vendo um vídeo no Youtube em que um cara estava escrevendo um código para um botão comandar um led usando outro compilador e adaptei o código para o MikroC. Aí deu tudo certo.

cpp code
void main( ) {

ddrb=0b11111110;
ddrc=0b11111111;
ddrd=0b11111111;
portb=0b00000000;
portc=0b00000000;
portd=0b00000000;

while(1)
{
if(pinb0_bit==1)
{
portb.b1=1;
delay_ms(10);
}
else portb.b1=0;
}
}

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 05 Mai 2015 14:34
por tcpipchip
Eles sempre pedem o arquivo DSN para ver se é ilegal...

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 05 Mai 2015 15:47
por Pask
O produto deles é muito caro.

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 05 Mai 2015 19:16
por tcpipchip
Mas vale a pena amigo!

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 12 Mai 2015 12:15
por tcpipchip
Liberado 8.3

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 13 Mai 2015 12:20
por Pask
Como assim?

Re: COMPORTAMENTO ESTRANHO DO PROTEUS

MensagemEnviado: 14 Mai 2015 06:42
por tcpipchip
Já esta disponivel a 8.3 BETA