Problem mit Programm (BASCOM)!

Gast #2534411
Lesenswert?

Servus zusammen,

hab da nen Problem was mich irgendwie zur verzweiflung bring.
Also ich hab da ne Schaltung mit einem ATMEGA8 und nen ULN2003 und zwei 
Taster.

Hab jetzt nen Programm von Bascom auf den ATMEGA8 aufgespielt.

Wenn ich S1 abwechselnd drücke soll er mir die LEDs durchschalten.

PD0= 1 PD1 = 0 PD2 = 0 PD3 = 0
PD0= 0 PD1 = 1 PD2 = 0 PD3 = 0
PD0= 0 PD1 = 0 PD2 = 1 PD3 = 0
PD0= 0 PD1 = 0 PD2 = 0 PD3 = 1

und wieder von vorne.
Funktioniert auch wunderbar.

Mit S2 soll er mir meine angewählte LED dimmen.
Und genau da ist mein Problem.
Wenn ich den S2 betätige dann gehen auf einmal alle LEDs an.
Das soll aber nicht so sein, denn auf dem STK500 sieht es so aus wie 
wenn es funktionieren würde. Aber sobald ich den Mega8 auf meine 
Schaltung stecke geht es nicht mehr.

Kann man mir vieleicht weiterhelfen?
Wäre euch dankbar.

Mfg
Angehängte Dateien:
Gast #2534452
Lesenswert?

Hallo MB
wenn es auf dem STK500 geht, in deiner (selbstgemachten?) Schaltung aber 
nicht, denkst du nicht auch, es liegt dann weniger am Programm als an 
deiner Schaltung?
Wäre es dann nicht sinnvoll, deinen Schaltplan hier einzustellen, damit 
man sich ein Bild machen kann?
Gast #2534571
Lesenswert?

@ich da: Ist schon ok, ja das stk500 hat keinen uln, aber der wird hier 
ja auch nicht benötigt zum testen.

@mue-c: Laut schaltplan ist alles ok, hab auch schon ne soft-pwm auf der 
schaltung betrieben, aber hier noch der schaltplan.
Angehängte Dateien:
#2534708
Lesenswert?

MB schrieb:

> Wenn ich den S2 betätige dann gehen auf einmal alle LEDs an.

Das klingt bei diesem Programm absolout plausibel.
Ich würde sagen: Genau so muss das bei dem Programm auch sein. Je 
nachdem, wie die LED angechlossen sind, sind die entweder alle ein oder 
alle aus.

> Das soll aber nicht so sein, denn auf dem STK500 sieht es so aus wie
> wenn es funktionieren würde.

Das kann ich mir ehrlich gesagt nicht vorstellen.

> Kann man mir vieleicht weiterhelfen?

Dein Programm ist Mist
Genauer: Die Interaktion zwischen 'Welche LED soll leuchten bei Druck 
auf S1' und dem Teil 'mach eine PWM auf alle LED'

was hilft es dir, wenn du vorher sorgsam die jeweils aktive LED 
ein/ausschaltest, wenn du danach mittels
1
Decr Pwm_counter
2
If Led_1_value <= Pwm_counter Then
3
   Led1 = 0
4
Else
5
   Led1 = 1
6
End If
7
If Led_2_value <= Pwm_counter Then
8
   Led2 = 0
9
Else
10
   Led2 = 1
11
   End If
12
If Led_3_value <= Pwm_counter Then
13
   Led3 = 0
14
Else
15
   Led3 = 1
16
   End If
17
If Led_4_value <= Pwm_counter Then
18
   Led4 = 0
19
Else
20
   Led4 = 1
21
   End If

über alle LED drüberbügelst um da dann alle LED nochmal abhängig von der 
PWM ein bzw. auszuschalten.
Gast #2534737
Lesenswert?

MB schrieb:
> Laut schaltplan ist alles ok

Danach sieht es aber nicht aus. Mindestens die Verbindung von ARef nach 
VCC ist falsch. Das Datenblatt sagt: "Note that VREF is a high
impedant source, and only a capacitive load should be connected in a 
system."
Ich glaube kaum, dass der STK500 so beschaltet ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren