Forum: Mikrocontroller und Digitale Elektronik taster und leds funktionieren nicht richtig, Atmega 8


von Stefan F (Gast)


Angehängte Dateien:

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

von Karl H. (kbuchegg)


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

von Karl H. (kbuchegg)


Lesenswert?

Zum Problem.
Zieh mal den ISP Stecker ab, wenn du dein Programm testest.

von Stefan F (Gast)


Lesenswert?

Ok werde das nächste mal den Quelltext richtig senden :)

Und danke für den Tip hat funktioniert :)

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.