Forum: Mikrocontroller und Digitale Elektronik Tastertest AVR Evaluationsboard Pollin


von Robert K. (kaczy)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Robert K. (kaczy)


Lesenswert?

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
Noch kein Account? Hier anmelden.