Sascha P.
27.02.2007, 11:38
Hallo zusammen!
Fange gerade mit dem Programmieren an.
Hab mal ne Frage:
Ich will einen Spannungswert an eine LED-Zeile ausgeben...
Habe folgenden Code gefunden, funktioniert soweit auch prima.
Wie stelle ich es an das ich noch mehr leds anschließen kann?
Z.B. an Port D.
#include <avr/io.h>
double Leds[] =
{ 0b00000000000,
0b00000000001,
0b00000000011,
0b00000000111,
0b00000001111,
0b00000011111,
0b00000111111,
0b00001111111,
0b00011111111,
0b00100000000,
};
FACT =( ( 1024 / ( sizeof( Leds ) / sizeof(*Leds) ) ) + 1 );
int main()
{
int Value = 0;
DDRB = 0xFF;
ADCSRA = ( 1 << ADEN ) | ( 1 << ADPS2 ) | ( 1 << ADPS1 );
ADMUX = ( 1 << MUX0 );
ADCSRA |= ( 1 << ADSC );
while( ADCSRA & ( 1 << ADSC ) )
;
while( 1 )
{
ADCSRA |= ( 1 << ADSC );
while( ADCSRA & ( 1 << ADSC ) )
;
Value = ADC;
PORTB = Leds[ Value / FACT ];
}
}
Mfg
Sascha P.
Fange gerade mit dem Programmieren an.
Hab mal ne Frage:
Ich will einen Spannungswert an eine LED-Zeile ausgeben...
Habe folgenden Code gefunden, funktioniert soweit auch prima.
Wie stelle ich es an das ich noch mehr leds anschließen kann?
Z.B. an Port D.
#include <avr/io.h>
double Leds[] =
{ 0b00000000000,
0b00000000001,
0b00000000011,
0b00000000111,
0b00000001111,
0b00000011111,
0b00000111111,
0b00001111111,
0b00011111111,
0b00100000000,
};
FACT =( ( 1024 / ( sizeof( Leds ) / sizeof(*Leds) ) ) + 1 );
int main()
{
int Value = 0;
DDRB = 0xFF;
ADCSRA = ( 1 << ADEN ) | ( 1 << ADPS2 ) | ( 1 << ADPS1 );
ADMUX = ( 1 << MUX0 );
ADCSRA |= ( 1 << ADSC );
while( ADCSRA & ( 1 << ADSC ) )
;
while( 1 )
{
ADCSRA |= ( 1 << ADSC );
while( ADCSRA & ( 1 << ADSC ) )
;
Value = ADC;
PORTB = Leds[ Value / FACT ];
}
}
Mfg
Sascha P.