Hallo,
ich habe einen DTMF-Decoder mit Dotmatrix-Anzeige, nach diesen
Schaltplan gebaut.
http://www.hagi-online.org/picmicro/dtmfdotmatrix.html
Das Problem ist das auf der Dotmatrix-Anzeige immer nur eine LED
leuchtet, das bedeutet wenn auf dem Telefon eine Zahl gedrückt wird
leuchtet nur eine LED auf, wenn ich eine andere Zahl drücke leuchtet
eine andere LED auf der Matrix-Anzeige auf, aber sie zeigt nicht die
Zahl an.
Woran kann das liegen ?
Entferne den PIC und schließe LED's mit Vorwiderstand an die Q Ausgänge
des DTMF Decoders an. Dann siehst Du, ob der richtig arbeitet.
Danach sehen wir weiter. Mach das erstmal.
So hab ich gemacht:
wenn ich anschalte ist Leuchten Q1, Q2, Q3, Q4
Zahl 1: Q1
Zahl 2: Q2
Zahl 3: Q1, Q2
Zahl 4: Q3
Zahl 5: Q3, Q1
Zahl 6: Q2, Q3
Zahl 7: Q1, Q2, Q3
Zahl 8: Q4
Zahl 9: Q1, Q4
Ist das richtig so?
Storm87 schrieb:> Danke!>> Aber was kann es sonst sein, meint ihr der PIC ist defekt, wie kann ich> den Prüfen?
Muß ja nicht kaputt sein, vielleicht ist nur ein Fehler im Programm.
Zeig doch mal den Sourcecode, vielleicht kann dir dann geholfen werden.
Strom87 schrieb:> Ist das richtig so?
Das ist die Binärdarstellung der Zahlen. Ist wahrscheinlich so
beabsichtigt (gibt ja auch Binäruhren) oder ein BCD-7Segment-Decoder
soll nachgeschaltet werden, was allerdings relativ unsinnig ist, wenn
man schon einen PIC verwendet.
Die Gedankengänge fremder Entwickler sind oft unerforschlich. Vielleicht
ist das Ganze auch einfach nicht fertiggeworden.
Ich tippe auf einen Hardcore-Binärfan.
Gruss Reinhard
Reinhard Kern schrieb:>> Das ist die Binärdarstellung der Zahlen. Ist wahrscheinlich so> beabsichtigt (gibt ja auch Binäruhren) oder ein BCD-7Segment-Decoder
Aus dem 8870 kommt ein BCD-Code raus, das sind die 4 Ausgänge Q1..Q4.
Und die meinte Storm87 damit, als er die Tabelle "Zahl 1: Q1..."
schrieb.
Der PIC soll daraus erstmal eine lesbare Zahlendarstellung machen auf
der Dotmatrix-Anzeige. Und nun ist die Frage, ist der PIC kaputt oder
stimmt das Programm nicht?
Da fällt mir noch eine ganz dumme Frage an den Storm87 ein:
Ist der PIC überhaupt programmiert, oder hast du ihn gekauft und
eingelötet?
Sorry, aber es kann ja sein, daß jemand nicht weiß, daß das ein
Prozessor ist, der erst ein Programm braucht, um seine Aufgabe zu
erfüllen.
Bernd S. schrieb:> Sorry, aber es kann ja sein, daß jemand nicht weiß, daß das ein> Prozessor ist, der erst ein Programm braucht, um seine Aufgabe zu> erfüllen.
Ist keine dumme Frage,hätte ich auch als erstes gestellt.
Wobei,wenn bei unterschiedlichen Signalen unterschiedliche LEDs der
Matrix aufleuchten,muss ja was drauf sein.
Sicher dass die Leitungen an die Matrix richtig angeschlossen sind?
Richtige Matrix (column Anode)?
Reinhard Kern schrieb:> Das ist die Binärdarstellung der Zahlen. Ist wahrscheinlich so> beabsichtigt
Das glaube ich nicht. Zu Binärdarstellung hätten ja 4 LEDs genügt, dafür
nimmt doch niemand ein 5x7 Dotmatrix.
> oder ein BCD-7Segment-Decoder> soll nachgeschaltet werden, was allerdings relativ unsinnig ist, wenn> man schon einen PIC verwendet.
Und vor allem auch ein Dotmatrix-Display. Wenn der Plan war, einen
Siebensegmentdecoder zu verwenden, wäre wohl auch ein
Siebensegment-Display verwendet worden. Dafür braucht's dann ganz sicher
auch keinen PIC mehr, da hätte es dann ein primitives 4Bit-Latch vor dem
Siebensegmentdecoder getan.
> Vielleicht> ist das Ganze auch einfach nicht fertiggeworden.
Das könnte sein. Vielleicht ist aber auch nur irgendein Debugmodus in
der Software aktiviert, dessen Aufgabe halt genau ist, einfach nur das
Binärmuster des DTMF-Decoders anzuzeigen. Wenn ich sowas so bauen würde,
wäre auf jeden Fall so ein Debugmodus drinne.
Allerdings würde ich das nicht so bauen. Ich würde einfach nur einen AVR
nehmen und den die ganze Arbeit erledigen lassen, einschließlich der des
DTMF-Decoders.
Wenn ich die Doku auf der Homepage richtig lese, wird nur die gedrückte
Taste im Ziffernblock angezeigt:
1 2 3 A
4 5 6 B
7 8 9 C
* 0 # D
Also kann eigentlich immer nur EINE Led in der Matrix leuchten ;-)
Tachen schrieb:> Wenn ich die Doku auf der Homepage richtig lese, wird nur die gedrückte> Taste im Ziffernblock angezeigt:>> 1 2 3 A> 4 5 6 B> 7 8 9 C> * 0 # D>> Also kann eigentlich immer nur EINE Led in der Matrix leuchten ;-)
Du hast Recht, das könnte man auch so interpretieren.
Auf der Homepage steht:
> Zusätzlich wird über eine DotMatrix-Anzeige angezeigt,> welche Taste zuletzt gedrückt wurde.
Aber da steht nicht, ob eine Ziffer oder nur ein Punkt an der richtigen
Stelle angezeigt wird. Ich hatte bis jetzt angenommen, daß das
entsprechende Zeichen auf der Anzeige dargestellt wird.
Aber bevor wir den Sourcecode nicht sehen, ist das nur ein Raten...
John schrieb:> Hast Du vielleicht diese Schaltung aufgebaut?> http://www.hagi-online.org/picmicro/dtmfled.html
Entschuldige die Zwischenfrage, aber er hat doch die Schaltung verlinkt,
die er aufgebaut hat. Und er spricht auch von Dotmatrix-Anzeige.
Warum fragst du jetzt nach einer anderen Schaltung? Ich dachte, über die
Schaltung gibt's keinen Zweifel?
Bernd S. schrieb:> Warum fragst du jetzt nach einer anderen Schaltung?
Weil die von mir verlinkte Schaltung genau das macht, was er in seinem
erstem Post beschreibt.
Seine Schaltung macht das wahrscheinlich auch, nur eben nicht mit
einzelnen Dioden, sondern mit einer Matrix-Anzeige.
Mal sehen, ob er noch den Sourcecode postet, dann sehen wir weiter...
P.S.: nicht übelnehmen, ich war nur verwundert...
Danke an Davis, jetzt wissen wir wenigstens, daß wirklich die Zeichen
auf der Dotmatrix angezeigt werden sollen und nicht nur ein Punkt pro
Ziffer.
Das heißt jetzt aber trotzdem, daß wir nicht wissen, was im PIC
passiert. Ist das Programm richtig und fehlerfrei? Und ist der PIC
überhaupt programmiert?
Das obige ist ja nur eine Zeichentabelle und kein Programm.
Die Ausgänge vom 8870 (Q1..Q4) sind ja erstmal richtig, das hat Storm87
schon überprüft.
Bernd S. schrieb:> Mal sehen, ob er noch den Sourcecode postet, dann sehen wir weiter...
Den Sourcecode gibt es als Download auf der Seite.
(Erste Position in der Stückliste -> Disketten-Symbol)
John schrieb:> Im Download sind die Hex-Files von allen DTMF-Decoder Versionen> enthalten.> Was ist wenn er das falsche File programmiert hat?
Das ist auch möglich.
Den Download-Link hatte ich übersehen. Sonst hätte ich nicht paarmal
nach dem Sourcecode gefragt, sorry...
Jetzt schauen wir mal, ob sich Storm87 nochmal meldet, nachdem er den
PIC auf richtige Programmierung überprüft hat. Vielleicht war das ja
alles...
Danke für den Tipp mit der Programmierung, hab den Code von der Seite
genommen. Aber örgend was stimmt da nicht, ich schau mir das noch mal
genau an und meld mich wieder.
So, kann ich überhaupt den PIC direkt auf der Platine Programmieren oder
brauch ich noch eine Brenner Platine für den Pic? Weil es klappt nicht
richtig.
Storm87 schrieb:> Weil es klappt nicht richtig.
Was klappt nicht? Von selbst wird das Programm nicht in den PIC wandern.
Wie hast du denn versucht, es dort rein zu bekommen?
Storm87 schrieb:> Mit einem Brennprogramm, aber reicht das oder brauch ich noch eine Pic> Brennplatine
Wie hast du denn das hex-File vom Brennprogramm auf den PIC bekommen?
Du mußt doch irgendwas am PIC angeschlossen haben?
Beschreib das mal bitte, wie du das gemacht hast.
Es gibt zwei Möglichkeiten.
Entweder du steckst den PIC in ein Programmiergerät, was am PC hängt.
Dann kann das Brennprogramm den PIC im Programmiergerät brennen.
Oder du möchtest ihn in der Schaltung programmieren, dann brauchst du
einen Programmieradapter (PICKIT oder was ähnliches). Der Adapter stellt
dann das Bindeglied zwischen dem PC und deiner Schaltung mit dem PIC
her. Und damit kannst du dann den PIC brennen. Für das Programmieren in
der Schaltung müssen die Anschlüsse am PIC so belegt sein, wie du das
auf dem Bild siehst.
ich hatte gedacht ich kann ihn einfach auf der Platine über die
com-schnittstelle übertragen, auf der Seite steht ja nichts weiter dazu.
ich werde mich dann wohl noch mal mit der ganzen sache beschäftigen.
Kann ich denn einfach so einen PIC Programmer bei E... kaufen?
Storm87 schrieb:> ich hatte gedacht ich kann ihn einfach auf der Platine über die> com-schnittstelle übertragen, auf der Seite steht ja nichts weiter dazu.> ich werde mich dann wohl noch mal mit der ganzen sache beschäftigen.> Kann ich denn einfach so einen PIC Programmer bei E... kaufen?
Du hast bestimmt die COM deines PC an die 9polige Buchse in deiner
Schaltung angeschlossen, stimmts? Das funktioniert aber nicht, denn die
Schnittstelle in deiner Schaltung gibt nur die gedrückten Zahlen seriell
raus, damit du sie über den PC oder eine andere Schaltung auswerten
kannst. Und das funktioniert auch erst dann, wenn der PIC programmiert
ist und läuft. Lies mal die Beschreibung auf der Webseite.
Die Schnittstelle ist kein Eingang!
Dein Brennprogramm muß dir doch nach dem Brennversuch eine Meldung
ausgegeben haben? Und das war doch bestimmt eine Fehlermeldung, oder?
Was hast du eigentlich für ein Brennprogramm benutzt?
Hier sind mal zwei Varianten, die für deinen Zweck geeignet wären:
http://www.conrad.de/ce/de/product/160402/PICkit-3-Debug-Express-DebuggerProgrammer-DV164131-Microchip-DV164131-Ausfuehrung-PICkit-3-Debug-Express-DebuggerProghttp://www.reichelt.de/Programmer-Entwicklungstools/DV-164131/3/index.html?;ACTION=3;LA=446;ARTICLE=87178;GROUPID=2969;artnr=DV+164131
Es kann auch noname-Varianten geben oder Nachbauten. Da mußt du aber
dann schauen, ob sie von deinem Brennprogramm unterstützt werden.
Was hast du für ein Programm zum Brennen benutzt?
Hallo Storm,
laut Beschreibung sollte der Brenner funktionieren.
Mit dem Brennprogramm kenn ich mich leider auch nicht aus. Ich arbeite
nicht mit PIC. Aber prinzipiell sollte es so funktionieren, daß dein
Brennprogramm erstmal den Brenner erkennen sollte. Wenn das der Fall
ist, mußt du den richtigen PIC auswählen. Dann muß da ein Punkt sei, wo
du das Hex-File wählen kannst, was du von der Website runtergeladen
hast. Wenn das geschafft ist, suche den Punkt "Flash programmieren" oder
so ähnlich.
Wie gesagt, ich kenne das Programm nicht, aber so ungefähr sollte es
laufen.
Vielleicht kann dir hier noch jemand einen Tipp geben, der das Programm
kennt.
Gruß Bernd
Die Zeichentabelle im EEPROM ist für die Schaltungsvariante2 mit LCD.
Findet man beim Download im Verzeichnis DOC. Die LED MAtrix zeigt
tatsächlich nur die Position der Taste an.