/*****************************************************
Comments: в данной программе я вывожу число 88....., при старте 8 первого разряда потушена , а 8 второго разряда горит на полную.....,
далее 8 первого разряда плавно начинает набирать яркость и в это же время 8 второго разряда начинает плавно тухнуть ....., когда 8 второго 
разряда потухнет то 8 первого разряда будет гореть на полную......,далее 8 первого разряда будет постепенно тухнуть а 8 второго разряда 
постепенно набирать яркость и т.д.
p.s.: к 4 младшим битам порта D  подключена К155ИЛД1, а к 4 и 5 биту подключены драйверы анодов газорозрядных индикаторов

Chip type               : ATmega8
Program type            : Application
AVR Core Clock frequency: 1,000000 MHz
*****************************************************/
#include <mega8.h>
#include <delay.h>

unsigned char var;


/*****************************************************************************************/
interrupt [TIM2_OVF] void timer2_ovf_isr(void) // Timer2 срабатывает по перерполнению
{
PORTD=0x28;  //зажигаю цифру 8 второго разряда и тушу циыру 8 первого разряда
}
/****************************************************************************************/


/****************************************************************************************/
interrupt [TIM2_COMP] void timer2_comp_isr(void) // Timer2 срабатывает по совпадения
{
PORTD=0x18; //зажигаю цифру 8 первого разряда и тушу циыру 8 второго разряда
}
/****************************************************************************************/


void main(void)
{

PORTD=0x00;
DDRD=0xFF;  // конфигурирую порт D на выход

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 15,625 kHz
// Mode: Fast PWM top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x4C;
TCNT2=0x00;
OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0xC0;

// Global enable interrupts
#asm("sei")

while (1)
      {
      for (var=250;var>=1;var--)
           {
            OCR2=var;              // регулирую яркость измеяя значение регистра совпадения
            delay_ms(100);
            };
            
            delay_ms(4000);
          
            
        for (var=1;var<=250;var++)
           {
            OCR2=var;               // регулирую яркость измеяя значение регистра совпадения
            delay_ms(100);
            };
            
            delay_ms(4000);


      }
}
