mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 80C51 IO


Autor: Koko Lores (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann der zuletzt ausgegebene Wert eines Ports wieder eingelesen werden? 
Soweit ich mitbekommen habe, hat der Rechner ja keine einstellbare 
Betriebsrichtung des Ports, sprich, Lesen ist direktes Lesen.

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man den Ausgang von aussen auf Masse zieht, und vom Programm her 
eine 1 schreibt, wird beim Zurücklesen eine 0 gelesen.

Autor: Koko Lores (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich frage nämlich, weil ich einen Pin togglen möchte, aber das geht dann 
wohl nur, wenn ich noch ein Register benutze, wo das ausgegebene Byte 
drinsteht.

Merkwürdigerweise hat es aber gestern im Simulator trotzdem 
funktioniert..

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich frage nämlich, weil ich einen Pin togglen möchte

Dazu mußt Du doch nicht zurücklesen.

Autor: roquema (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich frage nämlich, weil ich einen Pin togglen möchte

wieso? die Ports kann man direkt ansprechen, sogar bitweise.
z.B. CPL P3.1 togelt den Pin 1 an Port 3...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pin toggle gehört zu den read-modify-write Befehlen, liest also das 
Ausgangsregister und ändert es.



Peter

Autor: Koko Lores (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst Du mir zufällig sagen, wie ich der Keil-Umgebung den Watchdog für 
den Controller deaktivieren kann?
In den Debug-Options für das Target läßt sich ein Ini-File angeben, aber 
ich habe diese Datei nicht, und weiß auch nicht, was da drin stehen 
sollte.

Autor: Koko Lores (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, das ist ja gut! Erste Schritte in ASM.. Danke!

Autor: Andreas K. (oldcoolman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
also in Assembler:

Einlesebefehle lesen den Portpin:

Mov,ziel,port  ;ziel ist A, register0-7, interne Ram adresse
ADD A,port
ANL A, port
jnb portpin,rel.adr

Hingegen Änderungsbefehle lesen den Ausgangsspeicher zurück:

anl port,operand2
orl port,operand2
xrl port,opernad2

inc port
dec port
djnz port,rel.adr

mov portpin,c
clr portpin
setbit portpin
CPL portpin      <------------ dein toggle
jbc portpin,rel


Gruß
Andi

Autor: Koko Lores (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier der inhalt der sagenumwobenen initialisierungsdatei zum ausschalten 
des watchdog

PE_SWD = 0          /* Disable Watchdog with pin PE_SWD */
reset               /* perform CPU reset: uses value at PE_SWD */

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.