Hi Leute, im Rahmen meiner Ausbildung hab ich ein Projekt bekommen in dem ich mittels DTMF Decoder und einem PIC 16f877 oda 16F84a ein Relais schalten. Vorgabe ist: mit der Kombination Ton 1,2,3,4 ein Relais zur Ansteuerung bringen..Quasi ein kleines Zahlenschloss. Das mit den Ausgängen und der Codetabelle ist mir klar..nur es hapert an der Programmierung des PICs Nun meine Fragen: Muss ich unbedingt eine zeitliche Abfrage machen ob und wie lange das DTMF Signal am Eingang anliegt machen oder ist es auch ohne möglich? Habe über google diverse Quellcodes gefunden(siehe Anhang), wie müsste ich den umändern damit nur ein Realis mit dem richtigen Code geschaltet wird?(mir liegen grad erst di grundlagen mit PIC-.-)
Welcher DTMF Decoder? Bsp. MT8870 gibt Dir direkt einen 4-Bit code aus, brauchst also nur die Zahlen zu lesen und deinen Code zu erkennen. Ju
ja davor ist ein dtmf decoder mt8870 nur ich hab keine ahnung wie ich dem beibringe die werte einzulesen und sich zu merken..der unterricht an der berufsschule ist nicht so tierfgründig.. über die Q-Ausänge wird ja der jeweilige binärcode eingelesen...über portb z.b. der soll aber erst die 1(ton 1= q1 high)einlesen...alles andere soll nicht gelten und dann die 2(ton2= q2 high)... bedingungen hab ich nicht drauf und wir arbeiten direkt mit der programmierumgebung von microship.. thx für die antwort
Hallo Chrischan! Bin auch in der Ausbildung und lernen auch mit diesem Steinzeitmodell eines Microcontrollers ;-). Nun frage ich dich willst du ein komplett lauffähiges Programm oder was "erwartest" du? Gruß Philipp
nee nen komplettes programm kann ich ja nicht verlangen^^ auch wenn es top wäre.. ich brauche eher nen anstoß wie ich die bedingungen realisiere...im bascom kann ich ja IF Then Else verwenden...das hab ich eben noch gefunden... bin grad dabei mir das im bascom zu schreiben...denke da komme ich wohl eher zum ziel, weil wie ich das nicht hinbekomme mit der bedingung der richtigen codeeingabe.... ich versuche es grad mit xor-verknüpfung des eingangsports..kann das aber erst ende der woche "in real life" testen... zur simulation nutze ich proteus da läuft es soweit... viell hast du ne idee? hoffe ich habs so gut es geht verständlich geschrieben^^ greetz
xor ist eine gute Idee. Subtraktion würde auch gehen. Du XORst dein eingelesenes Byte mit deinem Vergleichswert. Ist das Ergebnis gleich Null (das Bit STATUS,Z ist auf 1 gesetzt) dann waren die verglichenen Bytes gleich. Auswerten tust du das Bit mit btfss oder btfsc. Darüber kannst du dann auch deine Verzweigung realisieren. Schau dir die Befehle einfach mal an (sprut.de ist dein Freund). Ist im Assembler der 16F recht umständlich gemacht, funktioniert aber. Gruß Sven
Hallo, habe mal ne Schaltung aus Elektor nachgebaut, dort war ein PIC16C84 verbaut, hat auch gut funktioniert. Bin noch am Suchen, das war schon ein älteres Heft, wenn ich es finde, melde ich mich wieder. Gruß Marcus
Was hst du in der Ausbildung gelernt, wenn es schon an dieser simplen Aufgabe scheitert? Kopfschüttel...
Mensch Jens, deine herablassende kindische Haltung darfst du ganz allein für dich behalten, zeig halt mal wies geht!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.