www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei 7-Segmentanzeige


Autor: steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

kann mir jemand helfen?

will mit dem pic16f628a eine temperatur auf 3 7-segmentanzeigen 
anzeigen!

das signal vom temperatur sensor bekomm ich schon seriell rein, aber 
einfach das anzeigen haut nicht so hin! steht nur schrott an den 
7-segmentanzeigen dran! Programm steht im anhang!

Hat jemand zufällig ne idee?

Danke

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

Bewertung
0 lesenswert
nicht lesenswert
sorry jetzt steht das programm im anhang

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@steffen

>will mit dem pic16f628a eine temperatur auf 3 7-segmentanzeigen
>anzeigen!

Das wollen viele.

>das signal vom temperatur sensor bekomm ich schon seriell rein, aber
>einfach das anzeigen haut nicht so hin! steht nur schrott an den
>7-segmentanzeigen dran! Programm steht im anhang!

Hmm, sieht nach irgendeinem Basic-Dialekt aus. Damit kenn ich mich nicht 
wirklich aus. ABER! Ich nehme mal stark an, dass

sub procedure interrupt 'Multiplexen der Anzeige

Ein Timerinterrupt ist, in dem die 3 Anzeigen gemuxt werden.
Was hat dann dort ein

delay_ms(5)

zu suchen? So geht das nicht. Du musst anhand einer Variable 
feststellen, welche Anzeige dran ist und dementsprechend einschalten. Im 
Interrupt gibt es keine Warteschleifen, schon gar nicht 5 ms!

MFG
Falk


Autor: steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
doch doch! schalt ja nur die transistoren aus um überlagerungen der 
ziffern zu vermeiden! geht so viel besser!

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
steffen

>doch doch! schalt ja nur die transistoren aus um überlagerungen der
>ziffern zu vermeiden! geht so viel besser!

Nein!
Nochmal das Prinzip und die Umsetzung von gemuxten Anzeigen durch den 
Kopf gehen lassen.

MFG
Falk

Autor: steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool danke jetzt funktionierts!

jetzt ist zwar die anzeige nicht mehr so hell aber das muss ich jetzt 
halt mehr mals ausprobieren bis es passt!

nochmals danke

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@steffen

>cool danke jetzt funktionierts!

Sieh an. ;-)

>jetzt ist zwar die anzeige nicht mehr so hell aber das muss ich jetzt
>halt mehr mals ausprobieren bis es passt!

Anstatt planlos rumzumurksen solltest du mal über das Muxen 
nachlesen/nachdenken. Deine drei Anzeigen sind jeweils nur 1/3 der Zeit 
aktiv. Um im Mittel die gleiche Energie (Licht) abgeben zu können müssen 
sie logischerweise 3mal so stark leuchten. Sprich, du musst die 
Vorwiderstände auf den dreifachen Strom dimensionieren. Doch Vorsicht! 
Wenn dann deine Software durch einen Programmierfehler stehen bleibt 
brennen die Anzeigen durch! Also erstmal mit der dunklen Anzeige leben 
bis alles KOMPLETT getestet ist, dann die Widerstände verringern.

MFG
Falk

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.