servus leude,
ich habe ja das RN-Control board, mit einem atmega32, welchen ich mit Bascom programmiere.....
jetzt wollte ich mir mal ein programm schreiben, bei dem ich 5 leds (die, die schon aufm board sind) steuern kann:
ich wollte dafür die 5 on-board taster benutzen (vorerst nur 2)....
in dem programm gibt es den wert i .... dieser ist nie <1 und > 5... i best. die anzahl der zu leuchtenden leds. wenn t1 gedrückt wird, soll i = i - 1 sein.... wenn t2 gedrückt wird, soll i = i + 1 sein..... also entweder 1 rauf oder runter...
wenn i = 1 ist, soll die erste led leuchten, bei i = 2 die 2. led , usw.
habe hier auch schon ein programm, allerdings funktioniert das nicht.
die meisten leds flimmern immer so komisch. zwar leuchtet eine led wenn ich einen taster drücke, allerdings nur solange der taster gedrückt ist......
ich möchte aber, dass sie auch nach dem loslassen des taster noch leuchtet?!!!
außerdem wollte ich später noch eine funktion einbauen, bei der der wert i nach einem tastendruck (im eeprom??) gespeichert wird, damit nach reset der schaltung i wider vorhanden ist...... allerdings habe ich keine ahnung, wie ich das realisieren soll???
hier nun mein code:
Code Tags verwenden, sieht übersichtlicher aus ! (PicNick)Code:$regfile = "m32def.dat" $crystal = 16000000 Config Adc = Single , Prescaler = Auto Config Portc = Output L1 Alias Portc.0 L2 Alias Portc.1 L3 Alias Portc.2 L4 Alias Portc.3 L5 Alias Portc.4 Portc.0 = 1 Portc.1 = 1 Portc.2 = 1 Portc.3 = 1 Portc.4 = 1 Dim I As Word Dim X As Word X = 1 Do Start Adc X = Getadc(7) If X < 130 Then I = I - 1 Waitms 20 If I = 1 Then L1 = 0 L2 = 1 L3 = 1 L4 = 1 L5 = 1 Elseif I = 2 Then L1 = 1 L2 = 0 L3 = 1 L4 = 1 L5 = 1 Elseif I = 3 Then L1 = 1 L2 = 1 L3 = 0 L4 = 1 L5 = 1 Elseif I = 4 Then L1 = 1 L2 = 1 L3 = 1 L4 = 0 L5 = 1 Elseif I = 5 Then L1 = 1 L2 = 1 L3 = 1 L4 = 1 L5 = 0 Elseif I > 5 Then I = 1 End If Elseif X < 220 Then I = I + 1 Waitms 20 If I = 1 Then L1 = 0 L2 = 1 L3 = 1 L4 = 1 L5 = 1 Elseif I = 2 Then L1 = 1 L2 = 0 L3 = 1 L4 = 1 L5 = 1 Elseif I = 3 Then L1 = 1 L2 = 1 L3 = 0 L4 = 1 L5 = 1 Elseif I = 4 Then L1 = 1 L2 = 1 L3 = 1 L4 = 0 L5 = 1 Elseif I = 5 Then L1 = 1 L2 = 1 L3 = 1 L4 = 1 L5 = 0 Elseif I > 5 Then I = 1 End If End If Loop End
fragen über fragen, ich hoffe, ihr könnt mir (wenigstens teilweise) helfen!
mfg
chris
Lesezeichen