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
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)
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
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.
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
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.