DTMF Touch Toon Decoder met Microchip PIC Microprocessor (6 / 9 stap)

Stap 6: Uitgang voor seriële modus

Als hulp bij foutopsporing, heb ik een uitgang voor seriële modus waarin sommige nuttige informatie voor de experimentator toegevoegd.

Er waren geen extra pinnen beschikbaar om te gebruiken als een speciale uitgang voor seriële, dus het moet een pin delen met de LED-indicator. Seriële modus fungeert de LED niet langer als een indicator van een geldige DTMF-Toon. De LED zal verschijnen verlichte hele tijd, met opvallende flikkeren als seriële data wordt verzonden.  De LED geeft nog voorwaarden zoals succesvolle power up (2 of 3slow knippert, afhankelijk van de modus), succesfullprogramming (2 snel knippert, eindeloos herhaald), en geen geldig programma (4 snel knippert, eindeloos herhaald)

Voor het aanroepen van de uitgang voor seriële-modus, moet u kort de input A/D-pin van de microprocessor gebruikt voor geluidsinvoer (pin 7 van U1 in het schema) op grond. Vervolgens fietsen macht naar het circuit.  Wanneer de microprocessor opnieuw instelt, zal het de status van de lijn voor geluidsinvoer controleren en zien dat het zit dicht bij 0 volt, terwijl het normaal dicht bij +2.5 volt zitten zal.   Natuurlijk moet u Verwijder de korte op grond op de audio-ingang, anders audio-ingang op grond zal worden kortgesloten. Het is alleen nodig dat de audio-ingang op grond worden kortgesloten tijdens het resetten van de microprocessor.  Het kan worden verwijderd zodra de LED twee keer na macht omhoog knippert.

U weet dat de uitgang voor seriële actief is als u ziet dat de LED flikkeren en u de seriële stream op uw computer vindt.

Als u wilt controleren de seriële uitgang met een PC, moet u de 5 volt uitgang van de microprocessor omzetten in RS-232 niveaus die kunnen worden gelezen door een seriële poort van de computer. Een circuit met behulp van de MAX232-chip kan worden gebruikt voor dit doel.

Een regel van de output wordt verzonden telkens wanneer die de frequenties zijn geveegd. De velden met gegevens worden gescheiden door komma's. Deze uitgang kan worden gemakkelijk opgenomen door een terminalprogramma zoals Hyperterminal en vervolgens geïmporteerd naar Microsoft Excel voor verdere verwerking indien gewenst.

Bij het configureren van een terminal om te bekijken van de uitvoer, zijn de instellingen te gebruiken 9600 baud, 8N1, geen pariteit en geen datatransportbesturing.

De debug output bevat de volgende informatie, van links naar rechts:
* De uitvoer waarde voor elk van de 8 frequenties, uitgedrukt in decimale notatie. De waarden zijn van 5 cijfers lang, en omvatten voorloopnullen.
* De uitvoer van de logica. Dit zal ofwel 0-9, #, *, A, B, C, D voor geldige Toon paren, "S" als geen tonen worden gedetecteerd, of "?" als er een ongeldige combinatie van tinten worden gedetecteerd.

Een steekproef van de uitgang voor seriële is hieronder opgenomen:

03767,00041,00081,00054,03763,00054,00084,00028,1

In dit voorbeeld wordt werd het cijfer "1" ontdekt. Merk op dat het filter output waarden voor de eerste rij-frequentie en de eerste kolom frequentie veel groter dan de andere 6 frequenties zijn, zoals zou worden verwacht voor DTMF cijfer "1".

De code ziet er voor het hetzelfde cijfer worden gedetecteerd in twee opeenvolgende veegt alvorens die Toon wordt waargenomen, voor zowel programmeren en decoderen.  De uitgang voor seriële maakt een nieuwe lijn toont alleen het cijfer gedetecteerd, zodat die aan de gebruiker, opvalt zoals wordt weergegeven in de seriële voorbeelduitvoer hieronder:

03883,00032,00043,00116,03465,00033,00064,00069,1
03705,00078,00044,00084,03996,00066,00061,00050,1
1
03767,00041,00081,00054,03763,00054,00084,00028,1

Als de microprocessor resets in Toon modus gedetecteerd terwijl de seriële modus ook is ingeschakeld, is het eerste ding dat zal worden toegezonden de volgorde van de Toon te detecteren die momenteel in de microprocessor is geprogrammeerd.  Dit ziet er als 'PROGXXX... X".  Als er geen geldig programma bestaat, zal het "Nee PROG" doorgeven.  Als de microprocessor wordt opnieuw ingesteld in programmeermodus te activeren met de seriële modus ingeschakeld, zal het de geprogrammeerde volgorde een de programmering modus pin is bracht van hoge naar lage doorgeven.  Nogmaals, dit ziet er als 'PROGXXX... X".  Deze bepalingen zijn handig voor het controleren dat de volgorde die u probeert te programmeren in de micro correct was geprogrammeerd.

Gerelateerde Artikelen

Met behulp van MT8870 DTMF-Decoder met Arduino

Met behulp van MT8870 DTMF-Decoder met Arduino

DTMF DECODERS worden gebruikt om te detecteren van DTMF-tonen Genrated door mobiele telefoon DTMF toetsenbord.In dit project gaan we te decoderen de DTMF-tonen in 4 bit Output en deze uitvoer wordt gegeven aan de arduino die detecteert de druk op de
Laat een PIC microprocessor program

Laat een PIC microprocessor program

OK hoe hard kan een PIC microprocessor programmering worden?Nou het hangt ervan af, sommige zijn harder dan anderen voor verschillende redenen, de programmeertaal, het type microprocessor, het gebruiksgemak van de software voor het bewerken en vooral
LED LYT Meter: LED, PIC Microcontroller en bewegende gemiddelde Code

LED LYT Meter: LED, PIC Microcontroller en bewegende gemiddelde Code

Hallo iedereen, dank u voor het controleren van mijn eerste Instructable. Ik heb genoten van het zien van je creaties door de jaren heen en hou van wat jullie allemaal dragen. Dit project is een spin-off van een die ik onlangs zag hier en ik wil een
Interfacing een M74HC238 3-8 lijn Decoder met een Arduino (voorbeeld)

Interfacing een M74HC238 3-8 lijn Decoder met een Arduino (voorbeeld)

dit is een basic tutorial ontworpen om u een basiskennis van het gebruik van een M74HC238 3-8 lijn Decoder.Zoals de naam al impliceert, hoeft u alleen 3 digitale pinnen op je Arduino waarmee alle 8 uitgangen.Het project kan je (maximaal 8) afzonderli
Het interpreteren van de draairichting van een digitale draaischakelaar met een PIC

Het interpreteren van de draairichting van een digitale draaischakelaar met een PIC

de doelstelling voor dit Instructable dient ter illustratie van hoe een digitale (quadrature gecodeerd) interface draaischakelaar met een microcontroller. Maak je geen zorgen, ik zal uitleggen wat quadrature gecodeerd betekent voor ons. Deze interfac
Virtuele touch scherm spel met behulp van Zybo

Virtuele touch scherm spel met behulp van Zybo

Virtuele Touch-screen Game hands-on leerprogramma voor de Zybo zal bevatten stapsgewijze instructies voor het aanpassen van uw hardware te emuleren scherm van de aanraking op eenvoudige inch TFT-scherm met behulp van camera en vinger detectie.Vereist
Morse Code Encoder/Decoder met LinkIt One

Morse Code Encoder/Decoder met LinkIt One

Dit is het tweede project met behulp van de LinkIt een boord in de vorige instructable toonde ik u hoe te bouwen van een afstand meetlint.In deze tutorial ga ik om u te tonen hoe maak je een Morse Code Decoder/Encoder met de LinkIt One. De output kan
Microchip PIC Library to Control een 20 door 4 LCD over I2C

Microchip PIC Library to Control een 20 door 4 LCD over I2C

Dit Instructable presenteert een 'C'-bibliotheek voor het beheersen van een enkele 20 door 4 LCD op basis van de HD44780 LCD controller over I2C met behulp van de NXP PCF8574 externe 8 bits IO Expander. Het LCD-scherm kan is geconfigureerd voor 4 bit
7 segment LED-display met een PIC controller en Flowcode V5

7 segment LED-display met een PIC controller en Flowcode V5

Allereerst, als u vragen hebt, voel je vrij om commentaar te leveren! Ik zou meer dan blij om uw vraag zo goed mogelijk beantwoorden!Gebruikte materialen:-PIC 18F452 Microcontroller (PIC-microcontroller met genoeg pinnen zal doen)-7 segment gemeensch
Touch scherm Overlay met Arduino

Touch scherm Overlay met Arduino

mijn vriend Ankush kocht een Nintendo DS-vervanging onlangs Touch schermen en breakout boards voor een "Arduino motorfiets RGB led" project werkt hij aan. Na het met weinig succes met de Touch Screen-bibliotheek en andere tutorials online beslot
Moderne blauwe doos met een PIC-12F683

Moderne blauwe doos met een PIC-12F683

een blauw vak is een elektronisch apparaat dat wordt uitgevoerd, repliceert de tonen die werden gebruikt om over te schakelen van interlokale telefoongesprekken. Ze kon u uw eigen gesprekken rondsturen en normale telefoon schakelen en facturering te
Infrarood Decoder met de LinkIT ONE

Infrarood Decoder met de LinkIT ONE

Universele afstandsbedieningen bug u? Wenst u dat uw home entertainment-center kan automatisch inschakelen het maandag avond voetbal zodra u liep de deur na het werk? Goed met de LinkIt One kan het allemaal ook. Met behulp van enkele handige infraroo
Arduino - Touch sensor schakelaar met behulp van de KY-036

Arduino - Touch sensor schakelaar met behulp van de KY-036

Hallo mensen! Hier gaan we weer!... Ik heb een ander voorbeeld op een van de sensoren die ik heb gemaakt.Dit keer maakte ik een voorbeeld voor de KY-036 Touch sensor.Volg de volgende stap voor het schema en de code.Stap 1: Schematische Code & onderde
TFT Touch gebaseerd UI met Arduino UNO

TFT Touch gebaseerd UI met Arduino UNO

I, m dol van TFT LCD-display. Dus besloten heb ik om het te leren. Er was al bibliotheek beschikbaar voor dit werk. Maar ik vond de meeste van hen was voor verschillende controllers. Er was een vent op intructables die deze bibliotheken voor spfd5408