Konfiguration der internen Pull-Up-Widerstände Drucken E-Mail

 

AVRs verfügen intern an den Ports über Pull-Up-Widerstände.
Sie sorgen dafür, dass der Zustand am Port einen eindeutigen Spannungslevel (LOW oder HIGH) hat.

Dadurch kann man sich die Beschaltung von externen Pull-Up-Widerständen weitgehend sparen.

Um einen internen Pull-Up-Widerstand zu verwenden, müssen wir dies dem Mikrokontroller mitteilen indem wir zuerst daß Datenrichtungsegister DDRx mit 0x00 auf Eingang schalten.
Anschließend wird das Portregister PORTx mit 0xFF beschrieben.

!!! Ein interner Pull-Up wird nur dann gesetzt, wenn Daten vom Port gelesen werden.

Hier eine Übersichtstabelle über die Zustände der Register:

DDRx                    PORTx                  Pull-Up

0x00                      0x00                      Nein             Port ist hochohmig
0x00                      0xFF                      Ja                 Wenn am Eingang low anliegt, fließt der Strom
                                                                                    über den internen Pull-up-Widerstand.

Beispiel zur Ansteuerung einer LED mit einem externen Pull-Up.

Wird in dieser Schaltung am PORTB.0 eine 0 gesendet, fließt der Strom von +5V über den Widerstand und die LED gegen Masse und die LED leuchtet.

Diese Schaltungsvariante wird z.B. angewandt, wenn der Mikrocontroller nicht genug Strom liefern kann.

 

 

 

Samstag, 19. Mai 2012

Banner
Seitenaufrufe : 1040175