Forum: Mikrocontroller und Digitale Elektronik Frage zu High/Low


von Sebastian Wille (Gast)


Lesenswert?

Hallo,

ich möchte ein Grafik-Display ansteuern. Manche Pins müssen dafür immer 
"High" und manche immer "Low" sein.

Heißt "High" --> Pin an VDD und "Low" --> Pin an GND!?! (Oder genau 
andersherum?)

2. Frage (dazu ein kleines Programm):

.include "4433def.inc"

.def temp1 = r16

.cseg
.org $000
   start          ;reset handle

start:
   ldi  temp1,RAMEND    ;LOW-Byte der obersten RAM-Adresse
   out  SPL,temp1

   ldi  temp1,0xFF      ;0xFF ins Arbeitsregister r16 laden
   out  DDRB,temp1  ;Inhalt von r16 ins IO-Register DDRB

   ldi  temp1,0b00000111
   out  PortB,temp1

rjmp MainLoop    ; Ab ins Programm!!!
reti

MainLoop:
  rjmp MainLoop

Sind die Pins PORTB0, PORTB1 und PORTB2 nun "High" oder "Low"? LEDs 
leuchten dort nämlich nicht!!!

Vielen Dank!

Sebastian

von crazy horse (Gast)


Lesenswert?

die Ports sind high, und wenn die Leds dann nicht leuchten, sind sie 
zwischen Port und Vcc geschaltet, (wird übrigens meist so gemacht, da 
MC-Ports i.a. bei L-Pegel mehr Strom aufnehmen können als bei H-Pegel 
abgeben)

von Sebastian Wille (Gast)


Lesenswert?

Hallo,

danke für die turboschnelle Antwort! :-)

Also wenn ich das recht sehe, kann ich von den Ausgangs-Ports quasi 
immer Strom ziehen - es kommt halt nur drauf an, ob ich die LED dann an 
GND oder an 5V anschließe (wobei man LEDs nach 5V anschließen sollte). 
Richtig?

Auf jeden Fall bedeutet "1" = High und "0" = Low. Auch richtig?

Hast Du auch noch eine Antwort auf meine Frage ganz am Anfang?

Schonmal vielen Dank! :-)

Sebastian

von Sascha Weitkunat (Gast)


Lesenswert?

Hi 5V
Lo 0V

Die genauen Bereiche dürften im Datenblatt zu finden sein, sonst 
TTL-Standard (den ich auch nicht im Kopf habe).

Dass die LEDs nicht leuchen kann mehrere Gründe haben. Wenn du sie vom 
Port über einen Widerstand nach Masse geschaltet hast, kann es sein, 
dass der Source-Current nicht ausreicht um die LED zum leuchten zu 
bringen. Es ist immer sicherer die LED von VCC über einen passenden 
Widerstand zum Port zu schalten, nun muss man nur noch invertiert 
überlegen ;-)

Port-Pin = 0 -> LED an
Port-Pin = 1 -> LED aus

Soweit ich weiss machen alle AVRs einen Sink-Current von 20mA mit, also 
genügend für eine LED.

von Sebastian Wille (Gast)


Lesenswert?

Hallo Sascha,

danke für die Erklärung! :-)

Ich denke, das mit den LED ist mir nun klar. Ich fand's halt immer etwas 
verwirrend, daß 0=ein und 1=aus. Aber nun passt es ja wieder!

Bleibt aber immer noch mein "LCD-Problem". Heißt nun "High" --> Pin an 
VDD und "Low" --> Pin an GND!?! (Oder genau andersherum?)

Danke nochmals! :-)

Sebastian

von Schmittchen (Gast)


Lesenswert?

> Heißt nun "High" --> Pin an VDD und "Low" --> Pin an GND!?!
Ja, wenn dein Vdd mit Vcc verbunden ist oder entspricht. Du verwendest 
die Kürzel in einer ungewöhnlichen Mischung.
"Normal": Vcc/GND  oder  Vdd/Vss

> Auf jeden Fall bedeutet "1" = High und "0" = Low. Auch richtig?
Ja.

>> Hi 5V
>> Lo 0V
ja, darf aber nicht zur Vorstellung führen, daß auch "1" = 5V ("0" = 0V) 
ist. Das kann auch mal andere Werte annehmen, oder sogar vertauscht sein 
(z.B. "1" = -12V; "0" = +12V).


Wen interessiert woher die Bezeichnungen stammen...:
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&threadm=383BF0A5.AB1%40fz-juelich.de&rnum=2&prev=/groups%3Fas_q%3Dvdd%2520vcc%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dde.sci.electronics%26lr%3D%26hl%3Dde

Schmittchen.

von Sebastian Wille (Gast)


Lesenswert?

Hi Schmittchen,

danke für Deine Antwort. Ich denke, nun ist alles klar! :-)

Eigentlich habe ich Vdd/Vss, als Fußnote stand halt Vss=GND.

Das mit Hi 5V und Lo 0V hatte ich bei Sasche etwas überlesen, sorry!!!

Danke auch für den Link!

Sebastian :-)

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.