PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PORT macht nicht was er so!! pull up?



andi.studi
19.10.2008, 22:33
HALLO Mikrocontroller - Freunde,

entschuldigt den komischen Titel ich weiß selber nicht wie ich das betiteln soll.

hoffe aber ihr könnt mir etwas behilflich sein.

es geht um das verhalten von PORTB (oder den PORT'S allgemein?) beim PIC18f4550


INTCON2bits.RBPU=0; // pull-up's an
TRISB = 0b11110000; // Hälfte Eingang - Hälfte Ausgang
PORTB = 0b11111100;



RB0 -> output -> 0
RB1 -> output -> 0
RB2 -> output -> 1
RB3 -> output -> 1
RB4 <- intput <-
RB5 <- intput <-
RB6 <- intput <-
RB7 <- intput <-

wenn ich jetzt RB1 (Ausgang low) mit RB4(Eingang) verbinde
ist PORTB = 0x11101100
ich ziehe RB4 auf low, das sehe ich ein, ist auch gewolt.

doch wenn ich noch eine weitere Verbindung lege und
RB1 (Ausgang low) mit RB5(Eingang) verbinde
ist PORTB = 0x11111100

und das verstehe ich nicht, wieso sind RB4 und RB5 beide wieder high, nach meinem Verständnis sollte 0x11001100 rauskommen also beide low.


und jetzt wird es noch verrückter (für mich jedenfalls)
ich schalte die pull up's aus (alle Eingänge hängen in der Luft) und es funktioniert so wie ich es mit eingeschalteten pullups erwartet hätte.
und wenn die Betriebsspannung von 5 auf 4,5 Volt abfällt funktioniert es auch (egal ob mit oder ohne pull up).

wodran liegt das, kennt jemand diese Erscheinung oder hat eine Idee???
ich bin um jede Hilfe dankbar.

mfg andi

Lif79
20.10.2008, 18:45
hm... komisch aber interessante sache, könntest du vielleicht mal genauer beschreiben wie du die schaltung aufgebaut hast? (lochraster, wilde verdrahtung.... und wie die verbindungen hergestellt wurden)

MfG Lif

andi.studi
20.10.2008, 21:27
;) wilde verdrahtung auf Lochraster, trifft es wohl schon ganz gut, aber das war nicht das Problem.

es geht um folgende schaltung:
http://www.sprut.de/electronic/pic/programm/tastlcd/tastlcd.gif

habe nun die 2,7 k ohm Widerstände gegen 1 k gewechselt
nun klappt die oben beschriebene geschiche mit dem PORT.

hab nur noch ein Problem mit dem RP7.

wenn ich die Entsprechende Taste gedrückt wird nicht immer der port auf null gezogen da D7 vom LCD high ist (Busy) komischer weise klappt es mit einem anderen display ohne problem. weis noch nicht so recht wie ich das becheben kann.