DTMF-Touch Tone dekoder med hjälp av Microchip PIC mikroprocessor (4 / 9 steg)
Steg 4: Programmering sekvensen av toner att upptäcka
LED kommer att utfärda 2 långsam blinkar när det driver upp i programmeringsläget och 3 långsam blinkar när det i avkoda läge.
Programmering sker genom att tillämpa audio input som innehåller strängen av toner avkodas. Ljudet måste vara tillräckligt amplitud att upptäckas, men inte av sådan stor amplitud att insignalen är klippt och förvrängd. Någon källa av ljud kan användas. Tonerna måste vara en tillräckligt lång tid att upptäckas av algoritmen. Lysdioden tänds en giltig ton är att upptäcka. Sekvensen av toner lagras i mikroprocessorer inre EEPROM. Tonar strängen kan vara så länge som 100 siffror.
Schematiskt visar ett enkelt arrangemang som gör att nästan alla gemensamma touch tone telefon används för att generera toner för programmering och experimenterande. Observera att kretsen visas här inte är tänkt att ansluta till telefonlinjen! 9v batteri ger ström till telefon och 330 ohm motståndet begränsar strömmen i kretsen. De två terminalerna till vänster ansluta till en telefon och uttagen till höger ansluta till audio-ingången på den detektor krets och marken
När en knapp trycks på telefonen, bör du kunna höra det i mottagaren. Diagrammet visar en vågform jag fångat med ett oscilloskop på ingång till mikroprocessorn. Vågformen visas genererades av en telefon som var ansluten till mikroprocessorn använder denna krets.
Produktionen av en dator ljudkort kan också användas för programmering. Ansluta ljudkortet line out till audio-ingången på banan och spela en wave-fil som innehåller varje ton att programmeras. Du måste experimentera med produktionsvolymen att säkerställa att nivån till audio-ingången på mikroprocessorn är sådan att detektorn kommer att fungera korrekt.
När strängen har förts in, ta bort bygeln JMP1. Detta signalerar mikro att programmeringen är slutförd. LAMPAN blinkar nu två snabbt blinkar, följt av 2 sekunder bort, följt av två snabba blinkar och sedan upprepa som blinkar sekvensen på obestämd tid för att indikera att programplaneringen har slutförts. Om du inte tar bort bygeln JMP1 innan stänga, programmering är inte fullständig och du kommer att behöva upprepa processen.