Forum: Mikrocontroller und Digitale Elektronik Pull-Up / Pull-Down


von Martin Michael (Gast)


Lesenswert?

Hallo "PIC16F887"
Ich bin ein Neuling und habe folgenden Beitrag gelesen
Beitrag "Pull-Down Widerstand für PIC µC"

Ich möchte drei simple Taster an RB 0:2
anschließen.

CLRF    WPUB ; die Pull-Ups ausgeschaltet

und habe RB 0:2 mit drei 10K Widerständen
die Ports auf Masse also Pull-down gezogen.

Das geht auch ganz gut, nur manchmal
wird dann ein Reset vollzogen.

Sind die Widerstände mit 10K zu niedrig,
oder geht das generell nur wie in
http://www.sprut.de/electronic/pic/grund/ioports.htm
beschrieben.

Martin Michael

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Sieh mal in Datenblatt nach, ob das Bit zum Abschalten der Pull-Ups an 
PortB wirklich so heißt. Ich denke es sollte RBPU sein und wenn man es 
auf 0 setzt, sind die Pull-Ups eingeschaltet.

Die 10k Pull-Down sind zwar allgemein unüblich, funktionieren aber. So 
muß man halt externe Widerstaände einlöten, wenn man die eingebauten 
nicht nutzt.

Einen Reset löst diese Beschaltung nicht aus, aber evtl. ist der 
RESET-Pin falsch beschaltet.
Oder schaltest Du solche Lasten, die die ganze Schaltung stört ?

Wir wissen es nicht.

von digitaler fritz (Gast)


Lesenswert?

Ich bin fuer die Abschaffung der Pull Downs ! Wer sonst noch ?

Pull downs sind so affenartig wie unnoetig in der MC Welt.
1
down with pull down

von Simon M. (edimahler)


Lesenswert?

digitaler fritz schrieb:
> Ich bin fuer die Abschaffung der Pull Downs ! Wer sonst noch ?
>
> Pull downs sind so affenartig wie unnoetig in der MC Welt.
> down with pull down

Tut hier überhaupt nichts zur Sache! Zudem haben die durchaus ihre 
Berechtigung!

10k sind eigentlich ok, aber wie schon erwähnt wurde musst Du dafür 
sorgen, dass nicht Pull-up gegen Pull-down kämpft, sonst hast Du keine 
sauberen 1- oder 0-Zustände mehr am Pin. Mit dem Reset sollte dies 
nichts zu tun haben. Ist ev. Dein Watchdog noch eingeschaltet?

von Martin Michael (Gast)


Lesenswert?

Danke für die Infos

Mein Fehler war

Das
bcf     OPTION_REG,NOT_RBPU    ;Enable global pull-ups

Und dann das
movlw  B'10000100'  ; internen Takt zählen, Vorteiler zum Timer0, 32:1

also die Widerstände wieder ausgeschaltet.

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.