Forum: Mikrocontroller und Digitale Elektronik MFA 8085 - Assembler Übertragungsproblem


von Michael Riedel (Gast)


Lesenswert?

Hallo alle zusammen, hoffe ihr könnt mir bei meinem Problem
weiterhelfen.
In meiner Ausbildung zum Kummunikationselektroniker muss ich mich mit
der Programmierung eines MFA 8085 auseinander setzen. Zu diesem Zweck
stehen in meinem Ausbildungsbetrieb rund 8 MFAs an drei verschiedenen
Rechnertypen. Vor kurzem wurde nun unsere IT-Infrastruktur auf
Win2000/XP umgestellt und da fängt das Problem an.
Seit dieser Umstellung wird der Assembler-Code, den ich zuvor im Editor
erstelle, nicht mehr korrekt übertragen (so ist zumnindest meine
Annahme).

Ein Beispiel:

verwendeter Assembler-Code (Richtigkeit spielt in diesem Fall keine
Rolle, da das Problem mit jedem Code auftritt)

assembler
0e000
lc
lxi sp,0fc32
in 01
out 02
end

Diesen Code füge ich per Editor/Kopieren -> Hyperterminal einfügen ->
COM1-Port -> MFA ein (per Maus und nicht per Strg+V).
Im Hyperterminal erscheint anschließend nur das hier:

KMD > ASSEMBLER
 START-ADR =0000 D


stattdessen bei WinNT 4.0


KMD > ASSEMBLER
 START-ADR =E000 E000
E000             LC
E000 31 32FC     LXI SP,0FC32
E003 DB 01       IN 01
E005 D3 02       OUT 02
E007             END

Wenn ich allerdings jeden Assembler-Befehl einzeln kopiere funktioniert
alles korrekt.


Um dem Problem auf die Spur zu kommen habe ich mal den Com-Port
ausgelesen.

Hier die Auslesung des Vorgangs bei einem WinNT 4.0 - Systems:

TD
a  s        s        e        m       b        l        e        r
 cr
                         e  0  0     0 cr
                                    l  c cr
                                      l  x  i     _  s  p  ,  0  f  c  3
 2 cr
                                 i  n  _  0  1 cr
                                                                       o
 u  t  _  0  2 cr
                                          e  n  d
RD
A  S bs bl  S bs bl  E bs bl M bs bl  B bs bl  L bs bl  E bs bl  R bs
bl   bs  S  S  E  M  B  L  E  R cr lf cr  _ bs    S  T  A  R  T  -  A
 D  R  _  =  E  0  0  0    E     0  0     0   bs lf cr cr  E  0  0  0
  _  _  _  _  _  _  _  _  _  _  _    L     C cr cr lf cr cr  E  0  0
0    _  _  _  _  _  _  _  _  _  _  _  _  L     X  I    S  P  ,  0  F
C  3  2 cr cr  E  0  0  0    3  1    3  2  F  C lf cr cr  E  0  0  3
  _  _  _  _  _  _  _  _  _  _  _  _  I  N    0  1 cr cr  E  0  0  3
  D  B  _  0  1 lf cr cr  E  0  0  5  _  _  _  _  _  _  _  _  _  _  
  _  O     U  T  _  0  2 cr cr  E  0  0  5  _  D  3    0  2 lf cr cr
E  0  0  7    _  _  _  _  _  _  _  _  _  _  _    E  N  D



Hier die Auslesung des selben Vorgangs bei einem Win2000/XP-System:

TD
A S bs bl  S bs bl  B bs bl  R bs bl  E bs bl  0 bs bl  N bs bl  0 bs
bl  O bs bl   bs  S  S  E  M  B  L  E  R  cr  lf  cr lf cr  _ bs    S
 T  A  R  T  -  A  D  R  _  =  0  0  0  0  _  D

RD
a s  s  e  m  b  l  e  r cr  0  e  0  0  0 cr  i  n  _     0  1 cr  o
u  t  _  0  2 cr  e  n  d


Nun weiß ich allerdings auch nicht mehr weiter, woran es liegen könnte.

Das Hyperterminal und dessen Treiber habe ich bereits testweise durch
die NT-Version ersetzt, zeigte allerdings keine Wirkung.
Für jede Lösung des Problems oder Tipps zur Ursachenfindung wäre ich
sehr dankbar.

von Michael Riedel (Gast)


Lesenswert?

Hat denn keiner eine Vermutung woran es liegen könnte. Es ist egal wie
verrückt eure Vermutungen sind. Ich bin für jeden Tipp dankbar.

von Rufus T. Firefly (Gast)


Lesenswert?

Könnte es sein, daß hier keine Handshakeleitungen verwendet werden?

Dein "Protokoll" ist annähernd unlesbar, aber es sieht so aus, als
würde in einem Fall CR+LF als Zeilentrenner gesendet werden, im anderen
Falle scheint nur CR gesendet zu werden.
Die vielen Backspaces, die Du mitsendest, lassen auf ein grundlegendes
weiteres Problem schließen.

Warum kopierst Du "mit der Maus" Texte in die Zwischenablage, um sie
im Terminalprogramm "einzufügen"?

Wieso kein anständiger Datentransfer mit 'nem dafür vorgesehenen
Protokoll wie X-Modem/Kermit?

von Michael Riedel (Gast)


Lesenswert?

Danke für die schnelle Antwort. Das mit den Handshakeleitungen überprüfe
ich gleich mal.

Das mit der Maus und dem Protokoll wurde mir so in der Berufsschule
beigebracht. Aber danke für den Tipp, werde mich da gleich mal mit
befassen.

von Michael Riedel (Gast)


Lesenswert?

Bin jetzt doch noch auf den Fehler gekommen.

Die Datenübertragung zwischen PC und MFA war für den 8085 zu schnell.
Ich hab nun eine Zeilen- und Zeichenverzögerung von 50 Millisekunden
dazugegeben und jetzt funktioniert alles einwandfrei.

Nochmals Danke Rufus T. Firefly für den Tipp mit dem Protokoll.

von Karl (Gast)


Lesenswert?

du musst einfach wenn das kommt bei XP:

KMD > ASSEMBLER
 START-ADR =0000 D

dahinter E000 schreiben

dann müsste was am MFA ausgegeben, wenn der code richtig ist

P.S. beim MFA 8085 ist IN 12 und OUT 13 :)

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.