www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit PIC und DTMF ein Relais schalten


Autor: Chrischan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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-.-)

Autor: Juergen G. (jup)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chrischan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Philipp F. (philippfister)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chrischan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Marcus0100 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Marcus0100 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hst du in der Ausbildung gelernt, wenn es schon an dieser simplen 
Aufgabe scheitert?

Kopfschüttel...

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mensch Jens, deine herablassende kindische Haltung darfst du ganz allein 
für dich behalten, zeig halt mal wies geht!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.