Das Erkenne des Tons sollte so ähnlich wie beim tastenentprellen gehen.
Wie genau hängt davon ab welcher pin genutzt wird. Heir ein Beispiel:
Am besten wäre da wohl ein Timer Eingang zum zählen (z.B. T1,T0). Alle etwa 10-100 ms wird im Interrupt der Zähler ausgelesen um zu sehen ob in der Letzten Zeit ein Ton ankam. Wenn da mehr als 1-5 Counts waren, war da wohl ein Ton. Die genaue Grenze muß man eventuell optimieren, sollte aber nicht kritisch sein.
So hat man dann eine abfarge des Eingangs auf to oder nicht. Die Länge des Tone läßt sich dann darüber feststellen wie oft hintereinander man den Ton festgestellt hat.