Hallo, ich habe das Pollin Atmel Evaluationboard 2.01 und pobiere gerade einige Dinge aus. Ich möchte einfach, das die LEDs die Tasterstati anzeigen. Auf dem Board sind die verwendeten Taster 2/3 mit PD3/4 und die LEDs 1/2 mit PD5/5 verbunden. Es ist ein Tiny2313 gesteckt. Dazu habe ich folgendes Assembler-Programm geschrieben. ;----------------------------------------------------------------------- - .include "2313def.inc" ;Definitionsdatei laden .cseg ;Beginn eines Code-Segmentes .org 0 ;Startadresse = 0 ; start: ldi r16, low(ramend) ldi r17, high(ramend) ;Adresse vom RAM-Ende laden out spl, r16 ;Stackpointer auf ; out sph, r17 ;RAM-Ende setzen ldi r16, 0b01100000 ;PortD: PB5-6 auf Ausgang out ddrd, r16 ;setzen loop: in r16, PIND ;Port D einlesen lsl r16 ;2x nach links, dann sind die Bits lsl r16 ;der Taster 2/3 bei den LED's 1/2 out portd, r16 ;Daten an PortD ausgeben nop clr r16 rjmp loop ;Programmschleife neu beginnen ;----------------------------------------------------------------------- - Direkt nach dem überspielen mit PonyProg funktioniert alles einwandfrei. Ich drücke die Taster in jeder möglichen Kombination und die LEDs leuchten passend dazu. Lasse ich jetzt das Bord einige Sekunden in Ruhe und drücke dann einen Taster, so leuchtet LED 1für einige Sekunden auf und ich habe völlig undefinierte LED Zusände. Z.B. LED 1 geht auf Taster 3 an und bleibt an, auch wenn kein Taster mehr gedrückt ist, Das passiert auch mit Taster 2 und LED 1. Ich vermute das es kein technisches Problem ist, sondern ein Programmfehler. Kann mir evtl. dazu jemand etwas sagen? Gruß Kaczy
Das Pollin-Board hat einen Schaltungsfehler. Die Kondensatoren an den Tasten müssen raus! Sonst bringen die Stromstöße beim Drücken die CPU durcheinander. Peter
Danke für die schnelle Antwort. Ich habe jetzt die Kondensatoren wieder ausgelötet, leider ist das Ergebnis unvreändert, alllerdings subjektiv erscheint es mir so, als ob das teilweise fehlerhafte Dauerleuchten der LED kürzer geworden ist. Ich habe mit mal einige Schaltpläne zur Beschaltung der Eingabeports angesehen. Hier im Tutorial und auch in den anderen, werden die Eingänge mit einem Pullup-Widerstand gegen +5V geschaltet und der Taster tastet gegen GND. Auf dem Pollinboard ist es ein Pulldown-Widerstand, der gegen GND geschaltet ist und der Taster tastet gegen +5V. Ich habe jetzt mal einen externen Taster geschaltet. Durch die Pullup leuchten die LEDs dauerhaft und wenn ich taste, gehen sie aus. Das ist auch logisch und hatte bisher keine Fehlfunktion. Ist es den generell nicht empfehlnswert gegen +5V zu tasten. Gruß Kaczy
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.