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
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 |
Zum Problem. Zieh mal den ISP Stecker ab, wenn du dein Programm testest.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.