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