Atmel AVR Mikrocontroller
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
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.