Hallo allerseits, hier mal ein kleines Übungs-Projekt für fortgeschrittene Anfänger und solche, die es werden möchten oder es schon hinter sich haben. Ebenfalls gut geeignet, um älteren Controllertypen wie dem AT90S2313 noch zu nennenswerten Aufgaben zu verhelfen. Inbetriebnahme und Auswertung eines Drehencoders. Der Code stammt von Peter Dannegger von hier: Beitrag "Re: Drehgeber auslesen" Encode.c und Encodertest.c habe ich ins RC5-Empfangsprogramm eingebaut. Der verwendete RC5-Code stammt ebenfalls von Peter und ich möchte an dieser Stelle mal ein herzliches Dankesschön für das zur Verfügung stellen seiner genial knappen Codebeispiele sowie seine Erklärungen dazu "ausprechen". Versuchssschaltung mit AT90S2313, RC5-Sockel für IR-Empfänger, zwei grünen LEDs, LCD-Anschluß. Quarz 4 MHz. grüne LEDs an PB2= Pin14 und PB3 = OC1 = Pin15 IR-Empfänger über 4,7 KOhm an PB4 = Pin16 LCD angeschlossen wie in LCD-Routines.h definiert: LCD DB4-DB7 <--> PORTD Bit PD0-PD3 LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command) LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten) Wer eine andere Taktfrequenz oder andere Mikrocontroller mit dem internen Oszillator verwendet, sollte die Zeile "#define XTAL 4e6" anpassen, sonst funktioniert RC5-Empfang nicht. Andere Mikrocontroller haben andere Namen für die Interrupts. Sollten ebenfalls angepaßt werden. Interessanterweise funktioniert die Routine für den Drehencoder im selben Interrupt wie der RC5-IRQ ohne weitere Anpassungen! Getestet mit Pollin Encoder PANASONIC EVEQDBRL416B. Ins AVR-Studio-Projekt bindet man ein: dreh.c, RC5.c, LCD-Routines_2313.c, LCD-Routines.h AVR Memory Usage ---------------- Device: at90s2313 Program: 946 bytes (46.2% Full) (.text + .data + .bootloader) Data: 20 bytes (15.6% Full) (.data + .bss + .noinit) _____________________________________ mit Code von Peter Dannegger Beitrag "Re: Drehgeber auslesen" AVR Memory Usage ---------------- Device: at90s2313 Program: 1012 bytes (49.4% Full) (.text + .data + .bootloader) Data: 21 bytes (16.4% Full) (.data + .bss + .noinit) __________________________________ Viel Spaß beim Ausprobieren und nachbauen:-) MFG
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.