(→AVR & Dtmf) |
|||
Zeile 8: | Zeile 8: | ||
Je nach Telefonziffer werden 2 Frequenzen üblagert. | Je nach Telefonziffer werden 2 Frequenzen üblagert. | ||
− | {| | + | {| {{Blauetabelle}} |
| | | | ||
|1209 Hz | |1209 Hz | ||
|1336 Hz | |1336 Hz | ||
|1477 Hz | |1477 Hz | ||
+ | |1633 Hz | ||
|- | |- | ||
|697 Hz | |697 Hz | ||
− | |1 | + | |<div align="center">1</div> |
− | |2 | + | |<div align="center">2</div> |
− | |3 | + | |<div align="center">3</div> |
+ | |<div align="center">A</div> | ||
|- | |- | ||
|770 Hz | |770 Hz | ||
− | |4 | + | |<div align="center">4</div> |
− | |5 | + | |<div align="center">5</div> |
− | |6 | + | |<div align="center">6</div> |
+ | |<div align="center">B</div> | ||
|- | |- | ||
|852 Hz | |852 Hz | ||
− | |7 | + | |<div align="center">7</div> |
− | |8 | + | |<div align="center">8</div> |
− | |9 | + | |<div align="center">9</div> |
+ | |<div align="center">C</div> | ||
|- | |- | ||
|941 Hz | |941 Hz | ||
− | |* | + | |<div align="center">*</div> |
− | |0 | + | |<div align="center">0</div> |
− | |# | + | |<div align="center">#</div> |
+ | |<div align="center">A</div> | ||
|} | |} | ||
− | Diese Töne werden von der Telefonvermittlung erkannt und der Teilnehmer mit der entsprechenden Nummer verbunden. | + | 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 === | === AVR & Dtmf === | ||
Zeile 41: | Zeile 46: | ||
==== Bascom ==== | ==== Bascom ==== | ||
− | Mit Bascom | + | Mit [[Bascom]] kann man leicht einen solchen Ton generieren: |
+ | <pre> | ||
+ | Dtmfout | ||
+ | |||
+ | Syntax: | ||
+ | Dtmfout String, Dtmftime | ||
+ | </pre> | ||
+ | Hier ein Programmbeispiel: | ||
<pre> | <pre> | ||
$regfile = "2313def.dat" | $regfile = "2313def.dat" | ||
Zeile 61: | Zeile 73: | ||
End | End | ||
</pre> | </pre> | ||
+ | |||
+ | 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,*,#. <br/> '' | ||
+ | Das bedeutet der Dtmf-Wert für die Raute, ist 15. Für die Zahl 3 ist er 4...usw | ||
+ | |||
+ | [[Kategorie:Microcontroller]] |
Version vom 28. Juli 2007, 07:27 Uhr
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: Mehr Grundlagen und vor allem C-Programmbeispiele/ Algorithmen etc. |
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
Hier ein Programmbeispiel:
$regfile = "2313def.dat" $crystal = 4000000 Dim Counter As Byte Enable Interrupts Do For Counter = 0 To 15 Dtmfout Counter , 500 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