www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S8252 - Port_0 externe Pullup-Widerstände??


Autor: Stefan Spinner (byte3)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Spinner (byte3)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.