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:
Es bleiben einfach alle LEDs aus... An was kann das liegen?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







Zitieren

Lesezeichen