COMPORTAMENTO ESTRANHO DO PROTEUS

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
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);
}
}
}