www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit Lattice ispLSI 1016E 7 Segment Anzeige ansteuern


Autor: Andi G. (lattice_1016e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag alles Zusammen!

Als mein Projekt an der Schule möchte ich eine Digitaluhr mit 7 Segment 
Anzeigen verwirklichen. ( Mit Stunden, Minuten und Sekunden Anzeige, 
also 6 Stück.)
Zur Übung haben wir eine Übungsplatine mit einem Lattice 1016E bekommen. 
Auf dieser Platine kann man sogut wie alles machen bzw. ansteuern.

Diese Platine besitzt zwei 7 Segment Anzeigen.

In der Schule wurden schon die ersten Übungen durchgeführt z.B.:

Truth-Table

([d8,d4,d2,d1]->[a,b,c,d,e,f,g])        ; also die Zuordnung der
[0,0,0,0]->[1,1,1,1,1,1,0];             Zahlen(0-9) zur 7 Segmentanzeige
[0,0,0,1]->[0,1,1,0,0,0,0];
[0,0,1,0]->[1,1,0,1,1,0,1];
[0,0,1,1]->[1,1,1,1,0,0,1];
[0,1,0,0]->[0,1,1,0,0,1,1];
[0,1,0,1]->[1,0,1,1,0,1,1];
[0,1,1,0]->[1,0,1,1,1,1,1];
[0,1,1,1]->[1,1,1,0,0,0,0];
[1,0,0,0]->[1,1,1,1,1,1,1];
[1,0,0,1]->[1,1,1,1,0,1,1];


und die Zuordnung der 7 Segmentanzeige (a,b,c,...) zu freien Pins.

Den Namen des Programms habe ich leider nicht parat, aber werde ihn so 
schnell wie möglich dazuschreiben. Weiß nur, das es eine spezielle 
Konsole war die man Startet und die wiederum ein Windows startet, so 
zusagen "Windows in Windows".


Nun mein Problem:

Als Übung möchte ich mal mit der Sekundendarstellung anfangen:

Ich möchte, dass die zwei 7 Segmentanzeigen mit 00 beginnen und auf 59 
hochzählen.


Wie steuert man alle beide 7 Segment Anzeigen an? Und wie lässt man sie 
im Sekundentakt hochzählen?


Kennt sich jemand da aus? Würde mir sehr weiter helfen.


PS: aus Wunsch könnte ich ein Bild von der Übungsplatine uppen.


Mit freundlichen Grüßen

lattice_1016e

Autor: Flo Ri (streuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie steuert man alle beide 7 Segment Anzeigen an?

Truth-Tabelle für die jeweiligen Ausgangspins habt ihr doch schon 
gemacht.
zweite 7 SA über die daran angeschlossenen Pins ansteuern.

Und wie lässt man sie
> im Sekundentakt hochzählen?

Counter der auf jede steigende Flanke des internen Clocksignals 
hochzählt (Schleife) und somit nach x-mal Zählen die Sekunden ausgibt.

Der Body könnnte ähnlich
http://www.uni-ulm.de/fileadmin/website_uni_ulm/iu...
aussehen.

Autor: Andi G. (lattice_1016e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frage! :
Wie würde dann meine truth tabelle bzw. declarations-tabelle aussehen?

Sie müssen wissen, das ich das Programm mit diesen Tabellen füttern 
muss.
Mir fällt die Verständniss, was ich in die Tabelle eintippen muss, das 
zum Beispiel nach der Zahl neuen, die Zahl 10 angezeigt wird.

Die Tabelle die ich oben hingetippt habe, gilt ja nur für eine 7 SA.

Mfg

lattice_1016e

Autor: Andi G. (lattice_1016e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier aus meinem aufschrieb:

decrations

a,b,c,d,e,f,g pin 37,38,39,40,41,42,43,44  istype'buffer,com';


Also die 7 SA auf die Pins belegen.

Autor: Flo Ri (streuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
urden schon die ersten Übungen durchgeführt z.B.:
>
> Truth-Table 1. 7SA
>
> ([d4,d3,d2,d1]->[a,b,c,d,e,f,g])        ; also die Zuordnung der
> [0,0,0,0]->[1,1,1,1,1,1,0];             Zahlen(0-9) zur 7 Segmentanzeige
> [0,0,0,1]->[0,1,1,0,0,0,0];
> [0,0,1,0]->[1,1,0,1,1,0,1];
> [0,0,1,1]->[1,1,1,1,0,0,1];
> [0,1,0,0]->[0,1,1,0,0,1,1];
> [0,1,0,1]->[1,0,1,1,0,1,1];
> [0,1,1,0]->[1,0,1,1,1,1,1];
> [0,1,1,1]->[1,1,1,0,0,0,0];
> [1,0,0,0]->[1,1,1,1,1,1,1];
> [1,0,0,1]->[1,1,1,1,0,1,1];
>

> Truth-Table 2. 7SA
>
> ([d8,d7,d6,d5]->[a,b,c,d,e,f,g])        ; also die Zuordnung der
> [0,0,0,0]->[1,1,1,1,1,1,0];             Zahlen(0-9) zur 7 Segmentanzeige
> [0,0,0,1]->[0,1,1,0,0,0,0];
> [0,0,1,0]->[1,1,0,1,1,0,1];
> [0,0,1,1]->[1,1,1,1,0,0,1];
> [0,1,0,0]->[0,1,1,0,0,1,1];
> [0,1,0,1]->[1,0,1,1,0,1,1];
> [0,1,1,0]->[1,0,1,1,1,1,1];
> [0,1,1,1]->[1,1,1,0,0,0,0];
> [1,0,0,0]->[1,1,1,1,1,1,1];
> [1,0,0,1]->[1,1,1,1,0,1,1];
>

also d sind in diesem Fall die Ausgänge die angesteuert werden, und a 
bis g die einzelnen Segmente der 7 Segmentanzeige.
0000 entspricht somit allen äüßeren Segmenten (a bis f=1=leuchten) ohne 
das Segment in der Mitte (g=0=aus)
Annahme D1 bis D8, wobei d1-d4 für die erste 7SA steht und d5-d8 für die 
2. 7SA
Um nun die Zahl 10 Auszugeben ist es sinnvoll 2 Siebensegmentanzeigen zu 
verwenden ;-)

also die erste 7 SA auf "0000"
und die 2. 7SA auf "0001"
und schon hast du 10 ausgegeben.

Autor: Andi G. (lattice_1016e)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So vielen Dank. Jetzt habe ich es einiger maßen verstanden!

Aber muss man dann die D´s nicht auch zuorndnen? Oder muss man die nur 
Zuorndnen, wenn man selber zwischen eins und null entscheiden will?

Hier ein Bild der Übungsplatine.

Autor: Andi G. (lattice_1016e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt jemand den Befehl, um die Anzeigen im Sekundentakt laufen zu 
lassen?
Oben wurde ein Counter erwähnt, aber ich weiß nicht recht wie ich ihn in 
den Programmablaufplan und unter welchem Befehl niederschreiben soll.

MfG

lattice_1016e

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Andi G. (lattice_1016e)

>      Neues_Bild.JPG
>      2,5 MB, 7 Downloads

>So vielen Dank. Jetzt habe ich es einiger maßen verstanden!

Ja, vielen Dank auch für die Ignoranz gegenüber der Netiquette und 
den Bildformaten!!!

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.