www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Gal Zähler 0-59 & 59-0


Autor: Xeno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey

muss in der Schule einen Zähler bauen.
Er soll von 0-59 zählen und bei einem tasten druck von 59 wieder runter 
auf 0 zählen und dann auf 0 stehen bleiben.

den ersten teil 0-59 hab ich hin bekommen aber das mit dem zurückzählen 
irgendwie noch nicht.

danke für die hilfe


Code

MODULE timer

TITLE 'timer'




DECLARATIONs

  takt,reset PIN 30,1;
  bit3..bit0 PIN 24,23,22,19 ISTYPE'BUFFER,REG';
  bit6..bit4 PIN 18,17,16    ISTYPE'BUFFER,REG';
  ctrE = [bit3..bit0];
  ctrZ = [bit6..bit4];

EQUATIONS

   when (ctrE.q == 9)
     then { ctrE.d = 0;
            when (ctrZ.q == 9)
              then ctrZ.d = 0;
              else ctrZ.d = ctrZ.q +1;
          }
     else { ctrE.d = ctrE.q + 1;
            ctrZ.d = ctrZ.q;
          }



  ctrZ.clk = takt;
  ctrE.clk = takt;




END

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du wirst dir wohl eine Statemachine bauen müssen.

Autor: Xeno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aso oke.
und was ist eine statemachine oO?

Autor: egal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hasse ABEL...

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zähl einfach die möglichen erlaubten Zustände dieser "Maschine":
Von der Null läuft sie beim Start mit der Taktfrequenz bis auf 59 hoch, 
das sind schon mal 60 Zustände, wartet auf der "59" auf Tastendruck und 
läuft dann über einen neuen Zustand "58" bis zu einer neuen "0" 
herunter, wo sie dauerhaft stehenbleibt. Das sind weitere 59 Zustände, 
insgesamt also 119. Sieben Bit (0..127) reichen also für diese Maschine 
aus.

Autor: Angus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde hochzählen, erreicht, runterzählen, fertig an Zuständen sehen.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.