Forum: Mikrocontroller und Digitale Elektronik 7-Segment Anzeige leuchtet nicht


von Chandler B. (chandler)


Angehängte Dateien:

Lesenswert?

Hallo, ich wollte eine 7-Segment-Anzeige mittels eines 7-Segment-Decoder 
zum leuchten bringen. Allerdings leuchtet bei mir gar nichts. Daher 
wollte ich euch fragen, ob evtl einer von euch mal über mein Code und 
meiner Schaltung gucken kann, um evtl einen Fehler zu finden
Zunächst möchte ich einfach eine 1 ausgeben und später mit einen Taster 
hochzählen.
Den Controller (Attiny45) und den Decoder(CD4511B) habe ich jeweils 4,5V 
zugeführt.

1
#define F_CPU 8000000UL
2
#include <avr/interrupt.h>
3
#include <avr/io.h>
4
5
6
int zaehler;
7
8
9
10
int main(void) {
11
  DDRB = 0xff; // PortB als Ausgang deklarieren
12
  PORTB = 0x00; // Ports auf LOW schalten
13
  sei();    // Interrupts freigeben
14
  int Zahl[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
15
  zaehler = 0;
16
  while(1){
17
    PORTB = Zahl[1];
18
  }
19
}

gruß
Chandler

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Chandler Bing schrieb:
> und meiner Schaltung gucken kann
Wie wäre es, wenn du die freien Eingänge des Anzeigentreibers auch noch 
anschließen würdest? Und eine Versorgungsspannung solltest du dort auch 
anschließen...

Und dann könntest du den Anzeigentreiber einfach mit festen Pegeln an 
den 4 Eingängen testen. Da brauchst du noch keinen uC.

: Bearbeitet durch Moderator
von Max H. (hartl192)


Lesenswert?

Masse der 7-Seg ist nicht angeschlossen, falls es eine Anzeige mit 
gemeinsamer Kathode ist.

von Hendrik L. (circus)


Lesenswert?

Hallo,

in deinem Schaltplan ist die gemeinsame Kathode nicht angeschlossen. Der 
Strom hat es so ganz schwer, zum Minuspol zu gelangen...

Bitte beachte: Es gibt zwei grundsätzliche Bauarten von 7-Seg.-Anzeigen, 
gemeinsame Anode und gemeinsame Kathode. Ohne die genaue 
Typenbezeichnung kann man jetzt nicht abschätzen, ob dein Schaltplan 
richtig ist oder nicht.

Gruß
Hendrik

von Max H. (hartl192)


Lesenswert?

Chandler Bing schrieb:
> int Zahl[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
Das Array kannst du dir auch sparen, ob du dann
1
PORTB = Zahl[x];
oder
1
PORTB = x;
schreibst ist das gleiche für 0≤x≤9.

: Bearbeitet durch User
von hf (Gast)


Lesenswert?

Hendrik L. schrieb:
> Bitte beachte: Es gibt zwei grundsätzliche Bauarten von 7-Seg.-Anzeigen,
> gemeinsame Anode und gemeinsame Kathode. Ohne die genaue
> Typenbezeichnung kann man jetzt nicht abschätzen, ob dein Schaltplan
> richtig ist oder nicht.

Was werden wohl die beiden unbeschalteten Anschlüsse "K" bedeuten? Anode 
oder Katode?
Und ja, man kann abschätzen, ob er richtig ist. Wenn an der Anzeige die 
Katoden unbeschaltet sind, am Treiber unbeschaltete Eingänge (z.B. Latch 
enable) sind, muß man nicht schätzen. Da kann man ruhigen Gewissens 
sagen, daß der Schaltplan falsch ist.

von Takao K. (takao_k) Benutzerseite


Lesenswert?

Mit einem DMM austesten.

von Chandler B. (chandler)


Lesenswert?

Ah, schon so viele Antworten.
Danke
Die Anzeige hat eine gemeinsame Kathode, welche ich aber verbunden habe.
Allerdings habe ich bei den Decoder die restlichen Pins offen gelassen. 
Das werde ich dann demnächst nochmal ändern und dann mal gucken ob das 
läuft.

Aber schonmal vielen Dank und gute nacht.

Chandler

von C. W. (chefkoch)


Lesenswert?

Warum genau muss man dafür eigentlich zwei ICs verwenden? Ein 
Attiny2313/4313 sind zwei PINs weniger auf der Platte und wenn man die 
Segmente einzeln leuchten lässt sind 40mA per I/O-Pin nicht zu 
verachten. Ist nur so ein Gedanke

: Bearbeitet durch User
von eih (Gast)


Lesenswert?

Chandler Bing schrieb:
> Die Anzeige hat eine gemeinsame Kathode, welche ich aber verbunden habe.
Womit?

Der 4511 hat auch Stromversorgungsanschlüsse. Wenn du die auch schon 
richtig verbunden hast, mal einen neuen Plan und verarsch und nicht mit 
halben Infos wie auch keine Widerstandswerte eingetragen, keine 
Displaybezeichnung ...

von ??? (Gast)


Lesenswert?

es leuchtet nich...

Da könnte man jetzt tippen, dass eventuell kein Strom durch die Segmente 
fließt. Woran das liegt, musst Du schon selber messen.

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
Noch kein Account? Hier anmelden.