Autor |
Beitrag |
Anon0
Registrierter Benutzer
Beiträge: 2
|
Erstellt: 30.11.10, 21:42 Betreff: noobfrage - zähler
drucken
Thema drucken weiterempfehlen
|
|
|
hey leute, ich kenn mich mit vhdl noch nicht so gut aus und hab da mal ne frage zu einer aufgabe die ich bearbeiten soll. es geht darum, dass ich einen zähler habe der die position einer rolltreppe ermittelt, sprich nach oben oder unten zählt..wird eine der lichtschranken betätigt dann soll mein positionszähler mit dem signal clear taktsynchron auf den wert 1024 initialisiert werden und beginnen zu zählen. mein problem ist jetzt, dass in meinem fall der zähler bei 1024 stehen bleibt solang clear 1 ist. in dem automaten der meinem zähler clear übergibt bleibt das signal aber 1 bis die rolltreppe 300 positionen später wieder zum stehen kommen soll..folglich funktioniert mein zähler nicht. könnt ihr mir da vll mal auf die sprünge helfen?! wär euch sehr dankbar
mein zähler soweit :
PROCESS (reset, clk, enable, clear) IS VARIABLE position: integer RANGE 0 TO 4096; BEGIN IF reset = '1' THEN position := 1024; ELSIF (clk'event and clk = '1' and enable = '1') THEN IF clear = '1' THEN position := 1024; ELSIF up_ndown = '1' THEN position := position +1; ELSE position := position -1; END IF; END IF; q <= conv_std_logic_vector (position, 12); END PROCESS;
|
|
nach oben |
|
|
Anon0
Registrierter Benutzer
Beiträge: 2
|
|
nach oben |
|
|
Gast
|
Erstellt: 23.05.13, 22:58 Betreff: Re: noobfrage - zähler
drucken
weiterempfehlen
|
|
|
Zitat: Anon0
hey leute, ich kenn mich mit vhdl noch nicht so gut aus und hab da mal ne frage zu einer aufgabe die ich bearbeiten soll. es geht darum, dass ich einen zähler habe der die position einer rolltreppe ermittelt, sprich nach oben oder unten zählt..wird eine der lichtschranken betätigt dann soll mein positionszähler mit dem signal clear taktsynchron auf den wert 1024 initialisiert werden und beginnen zu zählen. mein problem ist jetzt, dass in meinem fall der zähler bei 1024 stehen bleibt solang clear 1 ist. in dem automaten der meinem zähler clear übergibt bleibt das signal aber 1 bis die rolltreppe 300 positionen später wieder zum stehen kommen soll..folglich funktioniert mein zähler nicht. könnt ihr mir da vll mal auf die sprünge helfen?! wär euch sehr dankbar
mein zähler soweit :
PROCESS (reset, clk, enable, clear) IS VARIABLE position: integer RANGE 0 TO 4096; BEGIN IF reset = '1' THEN position := 1024; ELSIF (clk'event and clk = '1' and enable = '1') THEN IF clear = '1' THEN position := 1024; ELSIF up_ndown = '1' THEN position := position +1; ELSE position := position -1; END IF; END IF; q <= conv_std_logic_vector (position, 12); END PROCESS;
|
|
|
nach oben |
|
|
Kllara
Stammgast
Beiträge: 41
|
Erstellt: 04.08.19, 16:34 Betreff: Re: noobfrage - zähler
drucken
weiterempfehlen
|
|
|
könnt ihr mir da vll mal auf die sprünge helfen?
|
|
nach oben |
|
|
Harrison19
Neuling
Beiträge: 7
|
Erstellt: 28.09.19, 22:47 Betreff: Re: noobfrage - zähler
drucken
weiterempfehlen
|
|
|
Zitat: Kllara
könnt ihr mir da vll mal auf die sprünge helfen? |
Dies wird Ihnen auf jeden Fall helfen und Sie werden allen für Ihre Hilfe dankbar sein.
|
|
nach oben |
|
|
|