Interupt auf 6 Tasten?

OP #4547637
Lesenswert?

Guten Tage,

Als Anfänger, möchte ich mit ein Mega 8515 6 Tasten abfragen über 
Interrupt. ich habe aber nur INT0 und INT1 gibt es trik um dieser 
probleme zu lösen?

Ich möchte ein Uhr aufbauen wo ich die Datum und Zeiten einstellen kann. 
Ich programiere in ASM mit STK 500 und AtmelStudio 8

Danke für die Antworten
Claude
Gast #4547687
Lesenswert?

Andreas schrieb:
> Stefan schrieb:
>> Indem du sie entkoppelst mit Dioden.
>
> Ich habe ein ähnliches Problem. Könntest du das mit den Dioden etwas
> näher erläutern?

Ich heiße nicht Stefan aber vielleicht meint er:

Jeden Taster auf der einen Seite mit GND verbinden.
Die andere Seite der Taster mit verschiedenen Eingängen am Mega 
verbinden, vorzugsweise den Pins eines Ports. Pullups nicht vergessen.
Dann noch von jedem dieser Eingänge eine Diode auf zB INT0 schalten.
Jetzt kann jeder Taster einen INT0 auslösen ohne einen anderen Portpin 
zu beeinflussen.
In der ISR kann dann der Portpin des auslösenden Tasters gesucht werden.

Vorteilhafter ist aber sicher die Pollingmethode aus dem Artikel 
"Entprellung".
Gast #4547689
Lesenswert?

vasuch schrieb:
> Jeden Taster auf der einen Seite mit GND verbinden.
> Die andere Seite der Taster mit verschiedenen Eingängen am Mega
> verbinden, vorzugsweise den Pins eines Ports. Pullups nicht vergessen.
> Dann noch von jedem dieser Eingänge eine Diode auf zB INT0 schalten.
> Jetzt kann jeder Taster einen INT0 auslösen ohne einen anderen Portpin
> zu beeinflussen.

Vielen Dank. Jetzt habe ich es kapiert!
OP #4547756
Lesenswert?

ist schon richtig, kein Tasten in Interrupt, aber so werden ertmal für 
Anfänger erklärt wie ein Interrupt funtioniert, und Erlich gesagtich 
kann mit ein dioden matrix (das ist doch ein) noch nicht anfangen, wenn 
nicht ein bisschen mehr erklärung rauskomm wie kanne ich erkennen daß 
das ist die Taste 1 und nicht die 5 die gerade gedrückt wurde?
Claude
#4547760
Lesenswert?

Im einfachsten Fall: jede Taste an einen eigenen (beliebigen) Pin, alle 
zusammen über Dioden dann an einen weiteren interruptfähigen Pin. Jede 
Taste löst also den gemeinsamen Int aus, und in der zugehörigen ISR kann 
man dann abklappern, welche Taste es nun war.
Alternativ gibts noch bei vielen AVRs pinchange-Interrupts. Aber auch da 
muss man nachschauen, welcher Pin es nun genau war (Interrupts sind in 
Gruppen zusammengefasst).
Aber: lass es sein.
OP #4547768
Lesenswert?

H.Joachim S. schrieb:
> Im einfachsten Fall: jede Taste an einen eigenen (beliebigen) Pin, alle
> zusammen über Dioden dann an einen weiteren interruptfähigen Pin. Jede
> Taste löst also den gemeinsamen Int aus, und in der zugehörigen ISR kann
> man dann abklappern, welche Taste es nun war.
> Alternativ gibts noch bei vielen AVRs pinchange-Interrupts. Aber auch da
> muss man nachschauen, welcher Pin es nun genau war (Interrupts sind in
> Gruppen zusammengefasst).
> Aber: lass es sein.

Danke Joachim, ich verstehe schon besser, das bedeutet auch dass ich 
nicht mit die Tasten der STK arbeiten kann, aber das ist nicht relevent
Claude

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren