Ich möchte mit einem AD-Wandler Spannungen von 0 bis 5V einlesen und dann in 0.5V Schritten 10 LEDs angehen lassen bzw wieder ausgehen.

Jetzt habe ich da etwas mit IF-Schleifen Programmiert, aber das funktionierte
nicht.
Dann hab ich ein Display angeschlossen und da zeigt es die Werte richtig an *wunder*. Die LEDs kann ich auch so ansteuern, das funktioniert also.
Jetzt habe ich es so gemacht, dass, solbald eine Spannung von 0,5V oder mehr anliegt, alle LEDs blinken sollen. Das Funktioniert auch nicht!
Der Endwert der SUB Messen ist in Ad
Hier der code:
Code:
$regfile = "attiny2313.dat"
$crystal = 8000000

' Festlegen der Ports der jeweiligen LEDs
Led1 Alias Portd.0
Led2 Alias Portd.1
Led4 Alias Porta.0
Led3 Alias Porta.1
Led5 Alias Portd.2
Led6 Alias Portd.3
Led7 Alias Portd.4
Led8 Alias Portd.5
Led9 Alias Portb.3
Led10 Alias Portb.4

' "Hauptprogramm"

Do
' Gosub Ledsaus
 Gosub Messen
 Gosub Ausgeben
Loop

' Unterprogramme
Messen:

Ddrb.0 = 0
Portb.0 = 1
Ddrb.1 = 1
Ddrb.2 = 1

Dat Alias Pinb.0
Clk Alias Portb.1
Cs Alias Portb.2

Dim I As Byte
Dim Adbit As Byte
Dim Ad As Word
Dim U As Integer


Set Cs
Do
  Adbit = 0 : Ad = 0
  Reset Clk
  Reset Cs
  Waitus 2
  For I = 1 To 8
    Set Clk
    Shift Ad , Left
    Ad = Ad + Dat
    Reset Clk
  Next
  Shift Ad , Left
  Set Cs
  Set Clk
  Waitms 500
Loop
Return


Ledsaus:
 Waitms 500
 Led1 = 0
 Led2 = 0
 Led3 = 0
 Led4 = 0
 Led5 = 0
 Led6 = 0
 Led7 = 0
 Led8 = 0
 Led9 = 0
 Led10 = 0
Return


Ausgeben:
 If Ad > 25 Then
  Do

  Toggle Led1
  Toggle Led2
  Toggle Led3
  Toggle Led4
  Toggle Led5
  Toggle Led6
  Toggle Led7
  Toggle Led8
  Toggle Led9
  Toggle Led10
  Waitms 300
  Loop
 End If

Return
Es bleiben einfach alle LEDs aus... An was kann das liegen?