atmega 8535 ad wandler

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  10:17:52      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
atmega 8535 ad wandler
Suche nach: atmega (404)

    







BID = 55916

MatthiasAsselborn

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 411
Wohnort: Altenstadt
Zur Homepage von MatthiasAsselborn ICQ Status  
 

  


hallo

habe nen atmega8535
und 16 led s an den porten c und d
angeschlossen

eine variable spannung über ein poti

ein ausgang +5volt bzw gnd
schleifer zum atmel AD eingäng

lasse nun den code den ad auslesen
und je nach wert
auf die ports verteilt ausgeben

wie ein spannungsmessgerät..

nun hab ich nur folgendes problem
mit dem poti klappt das ja wunderbar
aber sobalkd 0 volt am ad anliegen
leuchten alle leds und 5 volt keine

also genau verkehrt herum wie ich es eigentlich wollte
was mach ich da

anbei n code schnipsel !

#include <mega8535.h>
#include <stdio.h>
#define ADC_VREF_TYPE 0x40

unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}


void Ausgabe(unsigned int Wert)
{
char c=0;
char d=0;

if (Wert>=128) d=1;
if (Wert>=142) d=d+2;
if (Wert>=163) d=d+4;
if (Wert>=178) d=d+8;
if (Wert>=204) d=d+16;
if (Wert>=229) d=d+32;
if (Wert>=256) d=d+64;
if (Wert>=286) d=d+128;

if (Wert>=321) c=c+1;
if (Wert>=363) c=c+2;
if (Wert>=403) c=c+4;
if (Wert>=455) c=c+8;
if (Wert>=511) c=c+16;
if (Wert>=572) c=c+32;
if (Wert>=644) c=c+64;
if (Wert>=721) c=c+128;

PORTC=c;
PORTD=d;
}

BID = 55935

alpha-ranger

Schreibmaschine



Beiträge: 1517
Wohnort: Harz / Heide

 

  

Hallo,
das setzen eines Bit`s im Port führt zum verlöschen der LED.
Die LED`s sind über einen Widerstand auf Plus Ub geschaltet.

Also gesamte Ausgabe invertieren .

mfG.


_________________
Wie der alte Meister schon wußte: Der Fehler liegt meist zwischen Plus und Minus. :-)
Und wenn ich mir nicht mehr helfen kann, schließ ich Plus an Minus an.

BID = 55955

MatthiasAsselborn

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 411
Wohnort: Altenstadt
Zur Homepage von MatthiasAsselborn ICQ Status  

und wie invertiere ich die led s dann dass ich ein
reelles bild bekomme ??

gruß matthias


BID = 55969

alpha-ranger

Schreibmaschine



Beiträge: 1517
Wohnort: Harz / Heide

Hallo,
einfach alles andersrum machen.
Also am beginn der Schleife beide werte auf 255 setzen.
Dann sind schon alle LED´s dunkel.
Dann Deine wertezuordnung etwas umschreiben:
d= 255
d= 255
if (Wert>=128) d=d-1;
if (Wert>=142) d=d-2;
if (Wert>=163) d=d-4;
if (Wert>=178) d=d-8;
if (Wert>=204) d=d-16;
if (Wert>=229) d=d-32;
if (Wert>=256) d=d-64;
if (Wert>=286) d=d-128;

if (Wert>=321) c=c-1;
if (Wert>=363) c=c-2;
if (Wert>=403) c=c-4;
if (Wert>=455) c=c-8;
if (Wert>=511) c=c-16;
if (Wert>=572) c=c-32;
if (Wert>=644) c=c-64;
if (Wert>=721) c=c-128;

PORTC=c;
PORTD=d;

alles klar ? und baue bitte die Buchstaben D,A,N,K und E von Deiner Tastatur ab , die braucht man nicht.

BID = 55981

MatthiasAsselborn

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 411
Wohnort: Altenstadt
Zur Homepage von MatthiasAsselborn ICQ Status  



es funktioniert !

war also doch ein Code fehler *ggg*

gruß Matthias


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 182422279   Heute : 1319    Gestern : 5459    Online : 419        29.11.2024    10:17
2 Besucher in den letzten 60 Sekunden        alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0273702144623