Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <avr/io.h>
- #include <avr/interrupt.h>
- #include <util/delay.h>
- #define seg_a ~(1<<PA0)
- #define seg_b ~(1<<PA1)
- #define seg_c ~(1<<PA2)
- #define seg_d ~(1<<PA3)
- #define seg_e ~(1<<PA4)
- #define seg_f ~(1<<PA5)
- #define seg_g ~(1<<PA6)
- #define seg_kropka ~(1<<PA7)
- #define C0 (seg_a & seg_b & seg_c & seg_d & seg_e & seg_f)
- #define C1 (seg_b & seg_c)
- #define C2 (seg_a & seg_b & seg_d & seg_e & seg_g)
- #define C3 (seg_a & seg_b & seg_c & seg_d & seg_g)
- #define C4 (seg_b & seg_c & seg_f & seg_g)
- #define C5 (seg_a & seg_c & seg_d & seg_f & seg_g)
- #define C6 (seg_a & seg_c & seg_d & seg_e & seg_f & seg_g)
- #define C7 (seg_a & seg_b & seg_c)
- #define C8 (seg_a & seg_b & seg_c & seg_d & seg_e & seg_f & seg_g)
- #define C9 (seg_a & seg_b & seg_c & seg_d & seg_f & seg_g)
- #define W1 (1<<PC0)
- #define W2 (1<<PC1)
- #define W3 (1<<PC2)
- #define W4 (1<<PC3)
- volatile uint8_t setne,sekundy,dziesietne,dziesiatki;
- volatile uint8_t a=0,b=1,c=2,d=3;
- volatile uint8_t tab1[] = {C0,C1,C2,C3,C4,C5,C6,C7,C8,C9};
- int main(void) {
- // USTAWIENIA ADC *****************************************************************
- ADMUX |= (1<<REFS0)|(1<<REFS1); // 1,1V VREF
- ADCSRA |= (1<<ADEN); // ADC ENABLE
- ADCSRA |= (1<<ADPS0)|(1<<ADPS1)|(1<<ADPS2); // preskaler
- // USTAWIENIA PORTÓW **************************************************************
- DDRC |= 0xff;
- PORTC |= 0xff;
- DDRA |= 0xff;
- PORTA |= 0xff;
- // USTAWIENIA TIMERA 0 ************************************************************
- TCCR0 |= (1<<CS00)|(1<<CS02); // preskaler 1024
- TCNT0 = 204;
- TIMSK |= (1<<TOIE0);
- sei(); // globalne zezwolenie na przerwania
- while(1) {
- PORTC &= ~(1<<PC0);
- PORTA &= ~(1<<PA0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement