Gal Zähler 0-59 & 59-0

Gast #1495380
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
#1496546
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren