STK500 - Leds invertiert oder doch nicht?

Gast #1098400
Lesenswert?

Hallo zusammen,

ich bin Anfänger im µC Bereich und stehe auch schon vor dem ersten 
Problem.
Ich benutze das STK500 mit einem ATMEGA8515. Ich habe in anderen 
Beiträgen schon gelesen dass die Ausgänge invertiert sind nur dann 
verstehe ich folgendes nicht.

Bei diesem Programm leuchten alle LEDs, obwohl ich PORTB 0x00 übergeben 
habe.
---------------------------------------------------
.include "m8515def.inc"
.def temp = r16

ldi temp, 0xFF
out DDRB, temp

ldi temp, 0x00
out DDRD, temp

out portb, temp

loop: rjmp loop
---------------------------------------------------

Bei diesem Testprogramm wo ich die Tasten an PortD abfrage
und direkt an PortB weiterleite, ist es so wie es sein soll.
Also bei 0 ist die LED dunkel.

---------------------------------------------------
.include "m8515def.inc"
.def temp = r16

ldi temp, 0xFF
out DDRB, temp

ldi temp, 0x00
out DDRD, temp

loop:

  in temp, pind
  out portb, temp

rjmp loop
---------------------------------------------------

Wie kann das sein?? Ich habe bei beiden Programmen "temp" in das 
Watch-Fenster gegeben (AVR-Studio 4) und in der Simulation beobachtet.
Der Wert ist immer 0, trotzdem verhalten sich die LEDs bei beiden
Programmen anders!?

Für eure Hilfe währe ich sehr Dankbar. Ich blick einfach nicht durch :)

Mfg
Markus
Gast #1098411
Lesenswert?

Leds schalten bei L-Pegel ein, die Schalter schalten nach Masse.
Schalte mal die pullups an PortD ein, damit du auch wirklich ein H 
liest, wenn der Taster nicht gedrückt ist.

ldi temp, 0xff
out PortD, temp
ldi temp, 0x00
out DDRD, temp
Gast #1098416
Lesenswert?

Danke für die schnelle Antwort.

Ich verstehe das aber immer noch nicht, denn in
der Simulation ist PIND = 0x00.

Dann ist die Simulation falsch!?
Oder wird in der Simulation das STK500 ignoriert?

Danke
Markus
Gast #1098654
Lesenswert?

Der Simulator hat mit dem STK500 überhaupt nichts zu tun.

Im Simulator gibts weder LEDs noch Taster; es gibt nur Bits in Kästchen. 
Die kannst Du natürlich per Mausklicks STK500-konform setzen oder 
löschen, aber das obliegt Deiner Verantwortung.

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