AVR Konfigurationen

Konfiguration der internen Pull-Up-Widerstände

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 Mikrocontroller mitteilen indem wir zuerst dass 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.

 

AVR Registerzustände

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

 

Ansteuerung einer LED über einen externen Pull-Up

AVR externer 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.