mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Habe ein neues Problem


Autor: Tobias Halenka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nabend.

Habe ein neues Problem!
Ich habe jetzt mit hilfe von Stack ein kleines Lauflicht gebaut.  Ich
möchte meine Schaltung an meine Festplatte anschließen. Habe ich auch
über einen Optokopler gemacht an dem LED Ausgang und läuft auch super.
Jetzt kommt mein Problem: Ich möchte wenn die Festplatte arbeitet das
ein Lauflicht1 läuft. Wenn die Festplatte nicht arbeitet soll
Lauflicht2 laufen! Sprich wenn normalerweise die Festplatten-LED blinkt
soll Lauflicht1 laufen und wenn sie nicht blinkt dann Lauflicht2! Bloß
wie stelle ich das an???

Chip:
AT90S2313

Programiersprache:
AVR

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst im Prinzip ein retriggerbares Monoflop programmieren.
Ist es gesetzt, blinkt die LED in bestimmten Abständen mindestens
einmal. Ist die LED aus, wird das Monfolop nach einigen 10 bis 100ms
gelöscht.

Autor: Tobias Halenka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha aber wie mache ich das???

P.s.: Ihr seit ja scnell im antworten

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z.B. mit einem Timerüberlauf.
HDD Lampe an -> Externer Interrupt -> Timer zurücksetzen und Lauflicht
1 einschalten
läuft der Timer über, ist die HDD LED aus, also auf Lauflicht 2
umschalten

Autor: Tobias Halenka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe jetzt mal im Forum und bei google nach Timer geucht! Leider
versteh ich da nur Bahnhof. Zu einen wie ich den Timer Programieren
soll zu anderen wie ich den einbinden soll!
Bitte könnte mir jemand mal einen Code Posten??
Danke im Voraus

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry,

Du hast noch nicht viel mit den AVR gemacht, oder ?
Hast du das Datenblatt zum AT90S2313.
Darin sind die Timer genau beschrieben.
Der Timer ist im Prinzip nichts anderes als ein Zähler
der mit jedem Takt des Quarzes um eins erhöht wird.

Frage ? wie konntest du ein für die Augen wahrnehmbares Lauflicht
bauen ohne die Timer zu nutzen.

Taktest du den AVR so langsam oder hast du mehrstufige Zählerschleifen
programmiert

Autor: Tobias Halenka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe Zählerschleifen benutzt.

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den das Datenblatt vom AT90S2313 ?

Autor: Tobias Halenka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe die PDF aber da steht zwar was über Timer aber nicht wie man sie
Programiert!!!! Ich kann da mit nichts anfangen!

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht solltest du erstmal nen paar grundlagen machen und verstehen.
Allein Dein erstes Posting mit der Programmiersprache AVR zeugt nicht
unbedingt davon, das Du dich mit dem Thema beschäftigt hast.
Es gibt hier ein sehr gutes Tutorial. Lese, baue und verstehe erstmal
das, dann geht das mit eigenen Projekten auch viel einfacher.

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nehmen wir den timer 0

er hat folgende register:

TCCR0 für die Einstellung des vorteilers
TCNT0 für den eigendlichen Zähler
und im TIFR das TOV0 Bit für die Anzeige des Überlaufs

mit:
ldi r16,0
out TCNT0,r16
kannst du den Zähler zurücksetzen
mit:
ldi r16,0b00000101
out TCCR0,r16
wir der Timer nach jedem 1024. CPU Takt um eins erhöht
mit:
in r16,TIFR
andi r16,0b00000010
breq xxxx
kannst du prüfen ob der timer von 255 auf 0 gesprunngen ist
mit:
ldi r16,0b00000010
out TIFR,r16
löschst du das TOV0-Bit wieder.

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]
  • [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.