Hallo, ich versuche eine LED matrix mit einem at90s8515 anzusteuern. Auf der STK500 klappt alles wunderbar. wenn ich jedoch den controller in meine schaltung einbaue http://ita14.wbb2host.de/files/led-matrix.png leuchtet nicht eine LED. ich habe schon viel versucht. Ports umgekehrt, kabel anders gesteckt etc. doch es hilft nichts. wo ist der unterschied von meiner schaltung zur stk500? habe ich einen schaltfehler? leider bin ich neuling wenn es um elektronik geht. Danke für Hilfe hier mein testcode: int main(){ DDRB = 0xff; DDRD = 0xff; PORTB=0xff; PORTD=0x00; }
1) Wie sieht denn das Ergebnis auf dem STK500 aus??? 2) poste mal die MAtrix-Schaltung. 3) Was macht das Programm, nach dem Befehl PORTD = 0x00 ??
Ich interpretiere dein Schaltplanfragment mal so: an PBx sind die LED Kathoden und an PDx die Anoden angeschlossen. Das ist bei einem 8515 nicht gerade der Hit, weil er nur 10mA gegen high, sehrwohl aber 20mA gegen low treiben kann. Aber das ist nicht der Grund warum bei dir nix leuchtet. Du musst entwerde die Levelzuweisung 0x00 und 0xFF zwischen den Ports vertauschen, oder die LED andersherum polen. Auf dem STK500 hast du eine inverse Logik, sprich Port = 0, dann leuchtet die entsprechende LED. Und beim STK500 sind die LEDs nicht zwischen Ports geschlatet. Besser ist, du fügst späterneine Transistorstufe für den high pegel ein, aber bring erstmal die LEDs zum "glimmen" den Rest kannst du danach machen. Viel Spass Remo
remo deshalb habe ich extra geschrieben, dass ich die Ports schon getauscht habe. Es funktioniert auch nicht anders herum. richtig, die leds glimmen nur aber das tun sie auf der stk500 hell genug. 1) Das ergebnis auf der stk500 ist so wie ich es haben will. habe auch schon ein spiel programmiert etc. wo man mit tastendruck herunterkommenden steinen ausweichen muss. in dem code beispiel oben leuchten alle LEDs auf der Matrix 2) die leds sind über einen widerstand mit jeweils an 1 anode und 1 kathode verbunden. die leiter sind überkreuz. ich kann euch versichern, dass damit auch alles stimmt. 3) Das ist ehrlich gesagt eine gute frage, der ich mal nachgehen werde^^ am besten mit einer for(;;) schleife ;) trotzdem gehe ich nicht davon aus, dass da der fehler ist oder doch? die wahrscheinlichkeit ist doch sehr gering, dass das programm beim "herumtollen" dann den PORTB/D ändern... ich sage bescheid, wenn es daran lag Ich habe mich bei dem schaltplan mit der LED matrix ein bisschen vertan. Der strom soll von PORTB über die leds in PORTD fließen.
Noch ne andere Idee: Was isn mit dem Takt? Beim STK500 wird der Controller ja mit einem externen Taktsignal versorgt. In dienem Schltplan sehe ich keinen Takt, hast du den etwa in deinem Design vergessen? Dann wärs klar warum sich nix tut. ciao Remo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.