Попробуй вот так, и как фьюзы выставил ?
Код
/*****************************************************
Chip type : ATtiny13A
AVR Core Clock frequency: 1,200000 MHz
*****************************************************/
#include <tiny13a.h>
#include <delay.h>
int scan;
interrupt [EXT_INT0] void ext_int0_isr(void)
{
delay_ms(10);
#asm("cli") // просыпаемся, и запрещаем преривания.
}
void main(void)
{
DDRB=0x01;
GIMSK=0x40;
MCUCR=0b00110000; //режим power down
GIFR=0x40;
ACSR=0x80;
#asm("sei")
while (1)
{
if(PINB.1==0){ // если нажать кнопку, то сработает прерывание, и с каждым проходом инкрементируем переменную
scan++;
delay_ms(30); //задержка для одного прохода. Можно регулировать время удержания
}
if(PINB.1==1){ //если кнопка отпущена, то разрешаем прерывание и идем спать
delay_ms(10);
scan=0;
#asm("sei")
#asm("sleep")
}
if(scan>=100){ // можно тоже регулировать время. В даноом случае 3 сек. (30мс*100проходов=3000мс)
scan=0;
if(PORTB.0==0){ // включение, или отключение порта выхода
PORTB.0=1;
}else{
PORTB.0=0;
}
}
}
}