www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik gleichzeitig interrupt und lcd


Autor: joerg vehmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin.
(Vorab: newbie!)


Projektbeschreibung:
Stoppuhr für "Seifenkistenrennen"
Eigentlich sollen zwei Timer (gleichzeitig) starten und bei einlauf ins 
Ziel die entsprechenden Zeiten gestoppt und angezeigt (LCD) werden.
Schön wäre eine Möglichkeit, die vorherigen Läufe im Speicher abzulegen 
und bei Bedarf scrollen zu können.

Da dachte ich mir, das sich dafür ein Mirkcontroller eignen würde. 
Leider hat sich mir beim durchstöbern dieser Seite folgende Frage 
gestellt:

Wenn ich die Interrups (INT0=PD2 ; INT1=PD3) des 4433 (oder kleiner?)
zur Präzisen Zeitmessung benutzten möchte,
wie bekomme ich dann mein LCD angesteuert
(oder kann ich ohne Probleme das LCD an PC0-PC5 anschliessen)?

TIA Jörg

Autor: A. Füßer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Displayausgabe wird am besten im Hauptprgramm ausgeführt und nur vom 
Timerinterrupt und den Ints 0/1 unterbrochen. Da diese Interruptroutinen 
in deinem Falle sehr kurz sind, juckt das das Display nicht.
Im Timerinterrupt (z.B. alle 10ms auftreten lassen, das reicht dann für 
eine Auflösung von 1/100s) zählst du einen Zähler (die vergangene Zeit) 
um 1 hoch. In Assembler dazu 2 Register oder in C Integervariablen 
benutzen.
In der Interruptroutine für die Taster/Lichtschranken... hältst du dann 
den Timer an, bzw. sicherst die Werte.
Das Hauptprogramm macht die ganze Zeit nichts anderes als die 
(vergangene) Zeit (deine Zeitvariablen) auszugeben. Steht der Timer und 
zählt somit die Zeitvariablen nicht mehr hoch, so zeigt auch die Anzeige 
die Endzeit an.
Das Display kannst du anschliessen wo Platz ist. Die Routinen müssen 
halt entsprechend angepasst werden. Ein Interruptpin ist fürs LCD nicht 
notwendig.

Erweiterung:
Deinen Scrolltaster schliesst du an einem freien Portpin gegen Masse an 
(Pullup aktivieren). Im Hauptpgramm kannst du dann z.B. nach jeder 
Displayausgabe diesen Portpin auf Veränderung prüfen. Entprellen ist 
nicht notwendig wenn die Displayausgabe lange dauert. Bei Tastendruck 
(und stehendem Timer eventuell) die zuvor gesicherten Zeiten ausgeben.
...

André.

--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN

Autor: joerg vehmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi André.
Dank vorab! Liest sich ja ganz einfach ;-)
Ich suche mir erst mal die Bauteile raus und kauf mir noch ein Buch...

Falls es nicht so richtig klappt, werde ich mich hier bestimmt noch mal 
blicken lassen.

THX & CUL joerg

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.