taster und leds funktionieren nicht richtig, Atmega 8

Gast #1440303
Lesenswert?

Hallo.

habe folgendes Problem:
Habe an meinem Atmega 8 an Port B 6 Taster angeschlossen PB0-PB5
und an den Port D 8 Leds PD0-PD7.

Mein Plan war mit den 6 Tastern an Port B die ersteb 6 Leds an Port D 
anzuschalten bei Tastendruck, im Prinzip also ganz simpel.

Im Quelltext  hab ich die interen Pullups aktiviert (habs aber auch 
schon mit externen Pullups auspriobiert)
Nachdem ich das Programm (im Anhang) in den Atmega geladen hab kann ich 
auch mit Taster 1 und 2 und 3 die jeweils richtigen Leds ansteuern.

Nun Zum Problem: Led 4, 5, 6 brennen dauerhaft egal ob ein Taster 
gedrückt wird oder nicht. (Leds lasssen sich jedoch einzeln an und 
ausschalten mit einem anderen Programm also da liegt das Problem nicht)

Desweiteren habe ich die Taster auch schon mit einem anderen Programm 
getestet wo ich jeweils nur ein Bit nutze also nicht der ganze Port auf 
eingang geschalten ist. Dann funltionieren diese auch.

Aber wieso habe ich immer Probleme wenn ich den gesamten PortB auf 
Eingang schalte.

Kann mir da jemand vielleicht weiterhelfen, bin am Verzweifeln :(

Danke schonmal

Gruss Stefan
Angehängte Dateien:
#1440335
Lesenswert?

Poste bitte das nächste mal dein Programm nicht als PDF
Du brauchst nur das Quelltextprogramm, so wie du es assemblierst hier 
als Attachment anhängen, oder den Code einfach per Cut&Paste 
einkopieren. Aber als RTF ist das eine Zumutung.
1
.include    "m8def.inc"
2

3
Start:
4
    ldi     r16,0xFF
5
    out     DDRD,r16
6

7
    ldi     r16,0x00
8

9
    out     DDRB,r16
10

11
    ldi     r16,0xFF
12

13
    out     PORTB,r16
14

15
 
16

17
Loop:
18

19
    in      r16,PINB
20

21
    com     r16
22
    out     PORTD,r16
23
    rjmp    Loop

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