mikrocontroller.net

Forum: FPGA, VHDL & Co. Ampelsteuerung, LED Frequenz ändern??


Autor: Michael Schröderhofer (Firma: TGM) (funny_boy)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi all.

ich habe ner frage bezüglich LED-Frquenz.

ich habe ein Ampelsteuerung programmiert, Es funktioniert bis jetzt 
alles.

Ich möchte demnächst Frequenz von LED ändern.

Zur zeit ist es so: Es ist wie Ampel, Es läuft alles automatisch ( mit 
Clock), Von grün wird es zuerst gelb und dann Rot, und von Rot wird 
gleich auf Grün gesprungen, und zwischen diese Sprünge wurde bestimmte 
Hz eingestellt.

Ich möchte, mittels ein taste diese Frequenz ändern, dass Grün schneller 
auf gelb ändern usw. und mittels 2te taste genau das umgekehrt, es soll 
langsamer.

Bin noch anfänger in diese Sache.


freue mich auf dem antwort.
Danke Voraus

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Michael Schröderhofer (Firma: TGM) (funny_boy)

>Ich möchte, mittels ein taste diese Frequenz ändern, dass Grün schneller
>auf gelb ändern usw. und mittels 2te taste genau das umgekehrt, es soll
>langsamer.

Du musst die Abfrage deiner Tasten in die State Machine einbauen. Etwa 
so.
         when stateB=>
            if (taste = '0' and (i=100000000)) or (taste='1' and
               (i=20000000)) then state <= stateC;

>Bin noch anfänger in diese Sache.

Das Beispiel hat diverse Mängel. Die Zahlen für den Zähler in der State 
Machine sind riesig und unpraktisch. Besser ist es, den sehr schnellen 
Systemtakt in einem separaten Zähler runterzuteilen und dann in der 
State Machine zu verwenden. Stichwort Clock Enable, siehe [[Taktung 
FPGA/CPLD]]. Zweitens sollte man für die State Namen prägnante Namen 
wählen, welche selbsterklärens sind, hier z.B. Phase_Rot, Phase_Gruen 
etc.

MfG
Falk

Autor: Michael Schröderhofer (Firma: TGM) (funny_boy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke

Jup, da hast du recht. ich hätte die State-Namen besser nennen sollen.

ich werde, demnächste ändern.

mfg

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.