de:avr:adc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| de:avr:adc [2010/10/15 13:21] – Wember | de:avr:adc [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Analog-to-digital converter | + | ====== Analog-zu-Digital Konverter |
| - | Analog-zu-Digital Konverter (ADC) transformieren | + | Analog-zu-Digital Konverter (ADC) transformieren |
| - | Der AVR ADC arbeitet nach dem Prinzip der schrittweisen Annäherung. Kurz gesagt, die gemessene Spannung wird mit bestimmten Spannungslevels verglichen und die Ergebnisse werden als Bit-Array ausgegeben. Diese Methode ist relativ langsam, da jedes Bit im Endergebnis | + | Der AVR ADC arbeitet nach dem Prinzip der schrittweisen Annäherung. Kurz gesagt, die gemessene Spannung wird mit bestimmten Spannungslevels verglichen und die Ergebnisse werden als Bit-Array ausgegeben. Diese Methode ist relativ langsam, da jedes Bit im Endergebnis |
| - | Der gemessene Wert kann als 8- oder 10-Bit Wert gelesen werden. Da der AVR ein 8-Bit Gerät | + | Der gemessene Wert kann als 8- oder 10-Bit Wert gelesen werden. Da der AVR ein 8-Bit Mikrocontroller |
| - | Falls die zwei jüngeren | + | |
| - | Die andere | + | |
| - | Ein normaler AVR hat 8 analoge Spannungs-Input-Kanäle, die ATtiny Serie hat weniger, | + | Ein normaler AVR verfügt über 8 analoge Spannungs-Input-Kanäle. Die Mikrocontroller der ATtiny Serie besitzen |
| - | ~~PB~~ | + | |
| - | <box 100% round # | ||
| - | Aufgabe: | + | < |
| + | |||
| + | <box 100% round # | ||
| + | |||
| + | Aufgabe: | ||
| <code c> | <code c> | ||
| #include < | #include < | ||
| Line 22: | Line 23: | ||
| unsigned char result; | unsigned char result; | ||
| - | // Choose | + | // Wähle den AREF Pin zum Vergleich der Spannung |
| - | // | + | // (es wird angenommen, dass AREF mit der +5V Stromversorgung verbunden ist)) |
| - | // Choose channel | + | // Wähle Kanal 3 im Multiplexer r |
| - | // Left align the result | + | // ordne das Ergebnis links an |
| ADMUX = (1 << REFS0) | (1 << ADLAR) | (3); | ADMUX = (1 << REFS0) | (1 << ADLAR) | (3); | ||
| - | // Start the ADC unit, | + | // Starte den ADC, |
| - | // set the conversion cycle 16 times slower than the duty cycle | + | // setze den Umwandlungszyklus |
| ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADSC); | ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADSC); | ||
| - | // Wait for the measuring process to finish | + | // Warte auf Beendigung des Messvorganges |
| while (ADCSRA & (1 << ADSC)) continue; | while (ADCSRA & (1 << ADSC)) continue; | ||
| - | // Read the 8-bit value | + | // Lies den 8-Bit Wert aus |
| result = ADCH; | result = ADCH; | ||
| } | } | ||
de/avr/adc.1287138081.txt.gz · Last modified: (external edit)
