05-ADC-Library (ATMega)

-diese Library dient zur Benutzung des
Analog-Digital-Wandlers des Mikroprozessors

-die ADC-Eingaenge der CPU liegen an Port-F, aus diesem Grund
muessen alle Analog-Signale an Port-F angeschlossen werden
(bzw. an Port-C beim ATMega8)

Funktionen :

1
2
3
4
5
6
void MK3_INIT_ADC(void);	                           // zum initialisieren des AD-Wandlers
void MK3_ADC_CHANNEL(ADC_KAN kan);                         // zum einstellen des Kanales
unsigned int MK3_ADC_READ(void);                           // zum lesen des ADC
unsigned int MK3_ADC_READ_CH(ADC_KAN kan);                 // zum lesen eines Kanales
unsigned int MK3_ADC_MITTEL_CH(ADC_KAN kan,ADC_MITTEL mw); // Mittelwertbildung
void MK3_ADC_SET_REF(ADC_REF uref);                        // umschalten der Referenz-Spannung

Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//-----------------------------------------------------------------------------
// Title      : bsp_ub006_mk3_adc
//-----------------------------------------------------------------------------
// Funktion   : ADC Test
// Schaltung  : myAVR MK3
//-----------------------------------------------------------------------------
// Prozessor  : ATMega2560
// Takt       : 16 MHz
// Sprache    : C
// Date       : 06.02.2010
// Version    : 1.0
// Autor      : UB
//-----------------------------------------------------------------------------
#define F_CPU 16000000
#include <avr/io.h>
#include <ub_mk3_2560/MK3_2560_LED.h>
#include <ub_mk3_2560/MK3_2560_ADC.h>
 
//-----------------------------------------------------------------------------
// Hinweis : Quick-Jumper Port-L muss gesetzt sein
// - Eine Leitung von Poti-3 nach Port-F0 muss eingebaut sein
// - das Programm gibt die Poti-Stellung an den LEDs aus
//-----------------------------------------------------------------------------
int main (void)
{
  unsigned int ad_wert,n;
  char led_wert=0;
 
  MK3_INIT_LED(); // init der LEDs
  MK3_INIT_ADC(); // init des ADC
 
  MK3_ADC_CHANNEL(ADC0); // Kanal 0 einstellen
 
  while (true)
  {
    ad_wert=MK3_ADC_READ(); // AD-Wert lesen
    led_wert=ad_wert/4;
    MK3_LED_ZAHL(led_wert); // Wert anzeigen
  }
  return 0;
}

Hier die Library zum download :

UB_MK3_2560_ADC_v104


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert