Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<avr\io.h>
- #include<avr\interrupt.h>
- #define F_CPU 1000000L
- volatile char kolumna=0;
- ISR(TIMER1_COMPA_vect) //PROCEDURA OBSŁUGI timer1
- {
- DDRA=(1<<kolumna); //jedna linia na wejście
- PORTA=~(1<<kolumna);
- kolumna++;
- if(kolumna==4){kolumna=0;}
- PORTD=PINA;//wyświetlenie stanu PINA na POTRD
- }
- int main(void)
- {
- DDRA=0xff; //KLAWIATURA na (wiersze|kolumny)
- //wszystkie linie na wyjście
- PORTA=0xff; //podciągnięcie kolumn
- DDRD=0xff; //DIODY
- TCCR1B|=(1<<CS10) | (1<<CS12);//preskaler na tryb CTC
- TCCR1B|=(1<<WGM12); //ustawienie trybu CTC
- OCR1A=1050; // wartosc dla licznika okolo 1s
- TIMSK|=(1<<OCIE1A); //bit znacznika zezwolenia (porównanie)
- sei();//zezwolenie na globalne przerwania
- while(1){}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement