Momentan habe ich leider keine keramikkondensatoren.
Mein wunderschönes Programm.Code:#include <avr/io.h> #define F_CPU 1000000 #include <util/delay.h> #include <stdint.h> int main(void) { int time = 0; int second = 0; int time_e = 0; int time_z = 0; int tast = 0; DDRB = 255; DDRA = 225; DDRD = 0; PORTD = 255; DDRC = 225; while(1) { if (PIND == (PIND & 0b11101111)) { if (tast == 0) { tast = 1; PORTC = 0b00000001; } else { tast = 0; PORTC = 0b00000000; } } if (tast == 0) { second = 0; } if (PIND == (PIND & 0b10111111))// 5 ist taster links { time--; } if (PIND == (PIND & 0b11011111))// hier ist das problem { time++; } time_z =(time/10); time_e = time - (time_z*10); if (time_z == 6) { PORTA = 0b00111111; } if (time_z == 5) { PORTA = 0b00011111; } if (time_z == 4) { PORTA = 0b00001111; } if (time_z == 3) { PORTA = 0b00000111; } if (time_z == 2) { PORTA = 0b00000011; } if (time_z == 1) { PORTA = 0b00000001; } if (time_z == 0) { PORTA = 0b00000000; } if (time_e==9) { PORTA = PORTA + 0b01000000; PORTB = 0b11111111; } else if (time_e==8) { PORTB = 0b11111111; } else if (time_e==7) { PORTB = 0b01111111; } else if (time_e==6) { PORTB = 0b00111111; } else if (time_e==5) { PORTB = 0b00011111; } else if (time_e==4) { PORTB = 0b00001111; } else if (time_e==3) { PORTB = 0b00000111; } else if (time_e==2) { PORTB = 0b00000011; } else if (time_e==1) { PORTB = 0b00000001; } else if (time_e==0) { PORTB = 0b00000000; } _delay_ms(200); second ++; if (second == 300) { time --; second = 0; } } }
Wie genau macht man da smit den fuse bits? Ich benutze AVR studio.







Zitieren

Lesezeichen