Aus RN-Wissen.de
Version vom 20. August 2007, 11:39 Uhr von SprinterSB_alt (Diskussion | Beiträge) (REVERT: Änderungen von Kotwurst rückgängig gemacht)

Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

Dieser Artikel ist noch lange nicht vollständig. Der Auto/Initiator hofft das sich weitere User am Ausbau des Artikels beteiligen.

Das Ergänzen ist also ausdrücklich gewünscht! Besonders folgende Dinge würden noch fehlen:

C und Assembler-Programmbeispiele



DTMF - (Dual Tone Multiple Frequency: „Doppeltonmehrfrequenz“) ist die bei der analogen Telefontechnik gebräuchliche Wähltechnik und ist das heute überwiegend in der Telefonvermittlungstechnik genutzte Verfahren zur Übermittlung der Rufnummer an das Telefonnetz oder einer Telefonanlage.

Grundlagen

Je nach Telefonziffer werden 2 Frequenzen üblagert.

1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz
1
2
3
A
770 Hz
4
5
6
B
852 Hz
7
8
9
C
941 Hz
*
0
#
A

Diese Töne werden von der Telefonvermittlung erkannt und der Teilnehmer mit der entsprechenden Nummer verbunden. Wobei die Buchstaben A-D nur bei speziellen Anwendungen verwendet werden.

AVR & DTMF

Bascom

Mit Bascom kann man leicht einen solchen Ton generieren:

Dtmfout

Syntax:
Dtmfout String, Dtmftime

Dabei ist Dtmftime die Dauer des Tones´. Damit ein Telefon den Ton als einen DTMF-Ton erkennt, sollte die Dauer min. 70ms betragen.

Hier ein Programmbeispiel:

$regfile = "2313def.dat"
$crystal = 4000000

Dim Counter As Byte

Enable Interrupts

Do
  For Counter = 0 To 15
    Dtmfout Counter , 200
    Waitms 250
  Next Counter
  Wait 1
Loop

End

Das obrige Programm erzeugt alle 16 DTMF-Töne nacheinander auf dem OC1 Port eines AVRs. Bascom benützt Timer1 für die DTMF Generierung.


Folgendes sollte beim Programmieren beachtet werden: Die Reihenfolge ist: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,*,#.
Das bedeutet der DTMF-Wert für die Raute, ist 15. Für die Zahl 3 ist er 4...usw

Autor: hackgreti


LiFePO4 Speicher Test