#include #include unsigned char const MUXMaskaAND[16]={ 0xC3,0xE3,0xD3,0xF3,0xC7,0xE7,0xD7,0xF7, 0xCB,0xEB,0xDB,0xFB,0xCF,0xEF,0xDF,0xFF }; unsigned char const MUXMaskaOR[16]={ 0x00,0x20,0x10,0x30,0x04,0x24,0x14,0x34, 0x08,0x28,0x18,0x38,0x0C,0x2C,0x1C,0x3C }; unsigned char const SSDMaskaANDH[16]={ 0xBE,0xFE,0xBF,0xBE,0xFE,0xBE,0xBE,0xFE, 0xBE,0xBE,0xBE,0xFE,0xBF,0xBE,0xFE,0xBE }; unsigned char const SSDMaskaANDL[16]={ 0x00,0x40,0x01,0x00,0x40,0x00,0x00,0x40, 0x00,0x00,0x00,0x40,0x01,0x00,0x40,0x00 }; unsigned char const SSDMaskaORH[16]={ 0x10,0x40,0x21,0x24,0x44,0x84,0x80,0x74, 0x00,0x04,0x18,0x7C,0x29,0x2C,0x4C,0x8C }; unsigned char const SSDMaskaORL[16]={ 0x18,0x7D,0x28,0x2C,0x4C,0x8C,0x88,0x3C, 0x08,0x0C,0x10,0x74,0x20,0x24,0x44,0x84 }; unsigned char Trenutno; unsigned long a,b; /*ISR(ANA_COMP_vect){ PORTD&=SSDMaskaANDH[Trenutno]; PORTD|=SSDMaskaORH[Trenutno]; PORTB&=SSDMaskaANDL[Trenutno]; PORTB|=SSDMaskaORL[Trenutno]; }*/ ISR(TIMER0_OVF_vect){ if (Trenutno<16){ if ((!(ACSR&0x20))&&(Trenutno==0)){ PORTD&=SSDMaskaANDH[0]; PORTD|=SSDMaskaORH[0]; PORTB&=SSDMaskaANDL[0]; PORTB|=SSDMaskaORL[0]; } if (ACSR&0x20) { PORTD&=SSDMaskaANDH[Trenutno]; PORTD|=SSDMaskaORH[Trenutno]; PORTB&=SSDMaskaANDL[Trenutno]; PORTB|=SSDMaskaORL[Trenutno]; } PORTD&=MUXMaskaAND[Trenutno]; PORTD|=MUXMaskaOR[Trenutno]; Trenutno++; } } ISR(TIMER1_OVF_vect){ Trenutno=0; } int main(void){ CLKPR=0x80; CLKPR=0x00; PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0xFC; PORTD=0x01; DDRD=0x7F; TCCR0A=0x00; TCCR0B=0x01; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; TCCR1A=0x00; TCCR1B=0x03; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; GIMSK=0x00; MCUCR=0x00; TIMSK=0x82; USICR=0x00; DIDR=0x03; ACSR=0x00; Trenutno=0; PORTD&=SSDMaskaANDH[Trenutno]; PORTD|=SSDMaskaORH[Trenutno]; PORTB&=SSDMaskaANDL[Trenutno]; PORTB|=SSDMaskaORL[Trenutno]; sei(); while (1); return 0;