//ATtiny13 SLEEP_test
#include <avr/io.h>
#include <avr/wdt.h> // здесь организована работа с ватчдогом
#include <avr/sleep.h> // здесь описаны режимы сна
#include <avr/interrupt.h> // работа с прерываниями
#include "bitop.h"
#define   F_CPU 1200000UL    //Частота генератора 9600000/8
#include <util/delay.h>
//-------------------------------------
#define    SIG 2
//--------------------------------
unsigned char FLAG = 0;
//--------------------
void CPU_Init(void);
void sleep_wdog (void);
/***********************************/

ISR(WDT_vect)
    {
		sleep_disable();     // Запрещаем сон
		wdt_disable();  // Выключаем watchdog
		//asm("wdr"); 
	}
/************************************************/	
int main(void)
{
	CPU_Init();
	while(1)
	{
		setbit(PORTB, SIG);
		sleep_wdog ();
		clrbit (PORTB, SIG);
		sleep_wdog ();
	}
		
		
 } // окончание бесконечного цикла	
//*************************************************		

		void CPU_Init(void) // инициализация порта
		{
			PORTB = 0b00000000;
			DDRB = 0b00010100; 
		//*********настройка WDT******************
			setbit(WDTCR,WDTIE); // разрешить прерывание от WDT
			clrbit(WDTCR, WDE);
			set_sleep_mode(SLEEP_MODE_IDLE);
			sei(); // enable global interrupts
		}
//*********************************************************************	
 void sleep_wdog (void)
      {
		wdt_reset(); // сбрасываем
		wdt_enable(WDTO_1S); // настройка прескалера на 1s и разрешение работы WDT
		sleep_enable();
		sleep_cpu();
	  }