Mikrocontroller LHT46F47E steuert 7-Segmentanzeige
mit 74HC4511
Eine direkte Ansteuerung der LED-Elemente einer 7-Segmentanzeige dürfte sich als schwierig erweisen. Der
Mikrocontroller HT46F47 verfügt lediglich über vier Ausgänge, sieben wären notwendig. Als Abhilfe kann hier der 7-Segmentanzeige-Treiber
(Decoder) 74HC4511 eingesetzt werden. Der Baustein wird über vier Leitungen mit Daten versorgt. Die binär codierten Signale werden von dem Treiber
entsprechend verarbeitet und mit sieben Leitungen an die Anzeige weiter geleitet.
Um die gewünschte Ziffer auf der Anzeige zu bekommen, werden die Ausgänge des Mikrocontrollers dem BCD-Code
entsprechend geschaltet. Dazu werden seine vier Ausgänge PA4 bis PA7 verwendet. Der Treiber empfängt die Signale an seinen
Eingängen D0 bis D3. Die Situation an der Eingangsseite wird dann in eine gewünschte Zahl umgewandelt und anschließend die einzelnen
Segmente der Anzeige ein- bzw. ausgeschaltet.
Eine 7-Segmentanzeige stellt einen aus sieben Leuchtdioden bestehenden Verbund dar. Damit Darstellung von Ziffern und
Buchstaben möglich ist, haben sie eine längliche Form und sind passend zueinander angeordnet. Genauso wie „normale“ Leuchtdioden
müssen auch sie mit einem Vorwiderstand abgesichert werden. Kein Widerstand führt unweigerlich zu ihrer Zerstörung. In der Schaltung
übernehmen diese Aufgabe die Widerstände R1 bis R7.
Die Testschaltung
Testschaltung
Das Programm
Die wichtigste Rolle in dem Programm spielt der Befehl „5“. Mit der Anweisung wird der Wert der Variable A einem Ziel
zugewiesen. Mit dem hinter dem Befehl stehenden Parameter wird bestimmt, um welches Ziel es sich dabei handelt. Der Parameter „4“
bestimmt als Ziel die vier Ausgänge PA4 bis PA7 des Mikrocontrollers. Damit wird der aktuelle Wert der Variable A direkt binär an
die Ausgänge ausgegeben.
Programm:
000 CB Überspringe den folgenden Befehl, wenn Taster betätigt
001 31 Springe (relativ) -1
002 49 Weise der Variable A den Wert 9 zu (A=9)
003 51 Weise der Variable B den Wert von A zu (B=A)
004 40 Weise der Variable A den Wert 0 zu (A=0)
005 54 Übertrage den Wert von A auf die Ausgänge (Dout = A)
006 29 Warte ca. 1s
007 71 Führe Operation A=A+1 durch
008 C1 Überspring den folgenden Befehl wenn A>B.
009 34 Springe -4
010 40 Weise der Variable A den Wert 0 zu (A=0)
011 54 Übertrage den Wert von A auf die Ausgänge (Dout = A)
012 3C Springe -12
CB 31 49 51 40 54 29 71 C1 34 40 54 3C