Gast
#2860548
Hallo,
Ich habe folgendes Programm geschrieben aber es macht nicht was ich
von ihm erwarte könnten Sie mir bitte weiter helfen !!!
Untersuchen des Tastenprellens.
An Pin 0 von Port D wird ein mechanischer Taster zu Masse
angeschlossen.
An Port B schliessen wir über Vorwiderstände 4-8 LED's an, um die
Anzahl Tastendrücke anzuzeigen. Achte darauf, dass nicht zu viel
Strom
aus dem AVR gezogen wird, also Widerstände genügend gross wählen.
Das Prellverhalten des Tasters muss nun mit höherer Taktfrequenz
schlimmer
sein als mit niedriger.
#include <avr/io.h>
typedef unsigned char Byte;
typedef unsigned int Word;
Byte bitD0;
Byte npress;
int main(void)
{
DDRD = 0x00;
DDRB = 0xff;
PORTD= 0xff;
bitD0 = 1;
while(1)
{
if (!( PIND & bitD0 ))
{ if(bitD0==1)
{ npress++ ;
bitD0 = 0;
PORTB = 0x00;
}
}else
{ bitD0 = 1; }
}
}
danke
Claude