Dekodér DTMF tónů

30.12.2001

Popis zapojení

Zařízení se skládá ze 3 hlavních celků. Tím hlavním je nepochybně mikrokontrolér PIC16C84, který funguje jako převodník BCD kódu na 7-segment, pamět na naprogramovaná čísla (EEPROM) a v neposlední řadě jako kompletní ovládací logika. Dalším funkčním celkem je displejová část. Jelikož z důvodu malého množství výstupů PICu a nutnosti ovládat 9 sedmisegmentovek, bylo nutné použít něco, co toto dokáže. Tím nečím je dekatický čítač 4017, který pomocí dvou vstupů (SET, RESET) umožňuje multiplexně přepínat segmenty. Jsou použity 7segmentovky se společnou anodou. No a poslední částí je převodník DTMF na BCD kód, který dokáže PIC zpracovat. Je řešen klasickým způsobem a to s CM8870 z něhož se také využívá jeho oscilátor k taktování PICu. Napájecí napětí je 7 až 20V.

Ovládání

Zařízení obsahuje 3 tlačítka MODE, SAVE, CLR.

Význam:
MODE: přepíná režimy zařízení
SAVE: uloží naprogramované číslo do eeprom
CLR: vymaže displej a čítače

Po zapnutí zařízení se na displeji objeví uvítací pozdrav „AHOJ“ a od tohoto okamžiku se na displeji začnou zobrazovat přijaté čísla. Pro lepší přehlednost jsem program doplnil o tzv. pomlčkování, tedy pokud nepříjde do 2 sekund další číslo, tak se čísla na displeji posunou a místo dalšího čísla se objeví pomlčka.

Co to umí dál? Po následovném stisku MODE se čísla jakoby posunou doprava. Ne, není to chyba, pouze se výpis čísel posunul o 4 cifry dopředu – tedy pokud něco nepostřehnete, tak máte ještě šanci, jak to napravit.

Po dalším stisku tlačítka MODE se objeví nápis

Ct  00000, což je čítač počtu tónů, které PIC zpracoval. Dalšími stisky MODE se posunete do počítání naprogramovaných čísel. Displej pak vypadá takto Sel-1 00 a Sel-2 00 Poslední funkcí je vypnutí. Na displeji se objeví nápis OFF a do několika sekund se displej vypne a všechno zatuhne. Stačí pak stisknout tlačítko CLR a zařízení se opět probudí.

Programování vlastních čísel

Program PICu dokáže čítat 2 selektivková čísla a proto si nejprve musíme rozmyslet, ke kterému čítači naše číslo přiřadíme. Poté si vezmeme ručku nebou jakoukoliv jinou radiostanici. Lze také použít kamaráda, který nám programovací kód vyťuká přes éter. Jak tedy na to? Dejme tomu, že chceme naprogramovat číslo 7410 do čítače1. Tedy naše číslo je dlouhé 4 cifry, pak kód, který musíme vyslat je 41X7410, kde X je jakékoliv číslo a na něm vůbec nezáleží. Jen je nutné ho tam napsat, protože do eeprom se zapisují pouze 5 místné kombinace. Ten přídavek 41 před naším číslem znamená, že číst se mají pouze 4 cifry (proto páté může být cokoliv) a že se to má zapsat do čítače 1. Poté si počkáme až se na displeji objeví pomlčka a stiskneme tlačítko SAVE. Pokud vše proběhlo v pořádku, na displeji se rozsvítí EE, naopak v případě špatného zápisu nápis OFF.

Další příklady

Selektivka 58476 do čítače 2 = 5258476 (5 cifer, 2 čítač, 58476 číslo)
Selektivka 25 do čítače 1 = 21XXX25 (2 cifry, 1 čítač, 25 číslo)
Selektivka 1234 do čítače 2 = 42X1234 (4 cifry, 2čítač, 1243 číslo)

Soubory ke stažení

Schéma zapojení
Dokumentační balík