- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 11 bis 14 von 14

Thema: Atmega8 ADC unter Bascom

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2004
    Beiträge
    24

    Atmega8 ADC unter Bascom

    Hallo zusammen,

    ich habe ien kleines Problem und hoffe jemand kann mir helfen.
    Also ich versuche mit einem ATmega8 am Port PC0(ADC0) eine Spannung eizulesen und den Wert auszugeben.
    Die Konfiguration kann man unter Bascom sowohl in Maschinencode als auch mit Bascom Hi-Level-Statements ausführen. Angeschlossen wird ein Poti.
    Nun mein Problem:
    Konfiguration im Maschinecode funktioniert bestens, sogar als Kurvenausgabe. Kommentiere ich Maschinecode aus, und verwende Bascom, ist der ausgegebene Wert IMMER 1023! Egal vohin ich das Poti stelle.

    Code:
    'ACC + Poti: A/D-Konverter, einfaches Beispiel
    'Hardware: Poti1 an PC0/ADC0
    '          MAX232 an PD0/PD1, Nullmodemkabel zum PC
    '----------------------------------------------------------
    $regfile = "m8def.dat"                                      'ATmega8-Deklarationen
    $crystal = 3686400                                          'Quarz: 3,6864 MHz
    $baud = 9600                                                'Baudrate zum PC: 9600 Baud
    '----------------------------------------------------------
    Dim H As Word
    Dim L As Byte
    
    Ddrc = &B00000000                                           'PC7...PC0=0: PortC-Pins auf Eingang
    
    '----------------------------------------------------------
    'Register direkt gesetzt, läuft
    
    'Admux = &B01100000                                          'Bits7+6=01: Aref ist intern verbunden
                                                                 'Bit5=1: LeftAdjust, nur 8 Bit in ADCH
                                                                 'Bits3...0=0000: Pin ADC0 wählen
    
    'Adcsr = &B11100111                                          'Bit7=1:AdcOn,Bit6=1:Start,Bit5=1:Frei
                                                                 'Bits2+1+0=111: AdcClock=AvrClock/128
    '----------------------------------------------------------
    'BASCOM Statements liefern immer nur den Wert 1023
    Config Adc = Single , Prescaler = 128
    Enable Interrupts
    Start Adc
    '----------------------------------------------------------
    Do                                                          'Hauptschleife
       'udr = Adch                                               'Aktuelles AD-HiByte in die UART
       H = Getadc(0)                                            'aktueelen Wert auslesen
       Print H                                                  'Print h
       Waitms 200                                               'Datenmenge etwas begrenzen
    Loop

    Was mache ich Falsch????

    mfg.

    Dietmar

    (Entschuldigt bitte die Form, aber ich weiß nicht wie ich den Code richtig reinbekomme.)
    Angehängte Dateien Angehängte Dateien

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen