Forum: Mikrocontroller und Digitale Elektronik Probleme mit SBI und CBI-Befehlen


von Kasimir (Gast)


Lesenswert?

Aloha!
Ich habe folgendes Problem!
Ich möchte am ATmega16 z.B am PortD ,4 Bits auf 0 bzw. 1 setzen, und
dadurch einen 4bit-Wert erzeugen....!
Ich benutze den Code(asm):
z.B

SBI PORTD, 0 ;Pin auf High (gemessen 4,3V)
CBI PORTD, 1 ;Pin (gemessen 1V)
SBI PORTD, 2 ;Pin auf High (gemessen 4,2V)
CBI PORTD, 3 ;Pin (gemessen 1V)

sollte die bit-Folge 1010 ergeben.

So meine Frage !!!
Warum zieht der ATmega16 den Pin mit dem Befehl CBI nicht auf 0V;
und warum zieht der ATmega den Pin mit dem Befehl SBI nicht auf 5V;

Ich benutze übrigens das STK500

von Andreas W. (Gast)


Lesenswert?

Hast du in DDRD die Pins auch als Ausgang gesetzt?
Sonst machst du nur den int. PullUp an und aus.

;unteren 4bit als ausgang setzten
ldi r16, 0x0f
out DDRD, r16

von Martin Jangowski (Gast)


Lesenswert?

Wo genau ist jetzt Dein Problem? Bei 5V Versorgungsspannung hat eine
"1" an einem Portpin minimal 4.2V (das ist also ok), die "0" darf
bis 0.7V haben (etwas hoch bei Dir, was fliessen da für Ströme, wo ist
Dein Meßgeräte-Nullpunkt?)

Martin

von Kasimir (Gast)


Lesenswert?

Oh man is klar!
Danke für den Tipp!!!!!

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.