AT89S8252 - Port_0 externe Pullup-Widerstände??

OP #223276
Lesenswert?
• ▲
▼
Hi

Ich benötige für ein Projekt alle Ports meines uC (AT89S8252). Wenn ich
das Datenblatt richtig verstehe hat dieser an Port_0 jedoch keine
internen Pullup-Widerstände. Da ich zwei uC jeweils mit ihrem Port_0
verbinde sollte ich da was machen damit die Kommunikation richtig
funktioniert. Ist es "fachgerecht" wenn ich die einzelnen Pins mit
10k-Pullups auf +5V hänge oder könnte es da Probleme geben?

Danke!

Gruß Stefan
Gast #223277
Lesenswert?
• ▲
▼
Hi Stefan,

der Port 0 hat interne Pull-Up-Widerstände, diese sind jedoch nur in
Betrieb, wenn du entweder mit MOVX/MOVC-Befehlen arbeitest, oder wenn
das Programm aus einem externen EPROM läuft. Sobald du den Port
"direkt" manipulierst, also z.B. MOV P0,#55h, sind die Pull-Ups
deaktiviert.

Daher muss ich erstmal fragen, ob es sich bei dem zweiten Controller
ebenfalls um einen 8252 handelt. Dann wäre es möglich, die Controller
entweder über das serielle Interface im Multiprocessor-Modus
miteinander zu verbinden, oder über das SPI-Interface.

Ich glaube nämlich nicht, dass du beide Interfaces in Beschlag hast,
oder etwa doch?

Der Vorteil liegt auf der Hand, du brauchst bei weitem weniger
Leitungen.

Du kannst sie auch über P0 miteinander verbinden, und wenn du es
gescheit machst, brauchst du die Pull-Ups nicht, wenn du mit
MOVX-Befehlen arbeitest.

Wenn ich es über P0 machen müsste, würde ich dennoch empfehlen, sie
einzubauen.

Und um die eigentliche Frage zu beantworten, ja, es wäre fachgerecht
;-)

Gruß Ralf
OP #223278
Lesenswert?
• ▲
▼
Hallo Ralf,

Beim zweiten uC handelt sich ebefalls um einen AT89S8252. Das
SPI-Interface ist bereits für das Ansteuern eines Displays belegt. Und
das von dir erwähnte "serielle Interface im Multiprocessor-Modus",
damit hab ich leider keine Erfahrung. Ebenso sind sonst alle Ports
außer Port_0 voll belegt für weitere "Dateninputs" etc.
Ich hab das mit den externen Pullups vorhin ausprobiert und es
funktioniert einwandfrei.
Danke für deine Hilfe!!!!

Gruß Stefan
Gast #223279
Lesenswert?
• ▲
▼
"Das SPI-Interface ist bereits für das Ansteuern eines Displays
belegt."


Das stimmt nicht, man kann mehrere Sachen mit einem SPI erschlagen.
Dazu benötigst Du nur ein separates Enable-Signal für jeden SPI-Slave.

Ist der SPI-Slave ein anderer µC, geht das Enable an dessen /SS-Pin.
Ist das LCD über einen 74HC164 angeschlossen, interessiert das LCD
nicht was der 74HC164 tut, solange nicht E auf high gesetzt wird.

Kompliziert wird Multimaster über SPI, sollte man daher sein lassen.


Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.