Archiv verlassen und diese Seite im Standarddesign anzeigen : daten übertragung von lpt zu µ-controller
hallo
ich hoffe ich bin im richtigen bereich 8-[
ich möchte an meiner schnittstelle (LPT) ein µ-controller (sab 80c517) ansteuern (unter c++ borland 5.0 und win 98) der µ-controller wird in c programmiert.
am controller soll ein LCD-display (161A von displaytech) angeschlossen werden.
das programm soll ein edit feld enthalten, wo ich den text eingeben will der auf dem display ausgegeben werden soll.
das display muss mit 8-bit angesteuert werden.
das eigendliche programm bekomme ich hin (ein und ausgeben auf dem lpt), ich brauche nur hilfe für die daten übertragung zwischen pc und µ-controller.
das problem was ich jetzt habe ist das ich nicht alle 8 möglichen ausgänge von meinen lpt benutzen will. gibt es da irgendwelche tricks
NumberFive
05.02.2005, 10:36
wenn ich das richtig sehe da der controller doch zei seriale infaces warum benutz du nicht die ? sind weniger ports und die Übertragung währe ein fachen.
Aber wenn du unbedingt parallel arbeiten willst aber nicht alle acht pins nehmen willst muß du irgendwie ein künstliche serial über tragung basteln.
Könnte mir so was vor stellen ein pin sagt gültig oder nicht und zwei schaufeln die daten rüber. 8 bit immer in 2 bit schitten.
Das problem ist hal nur der Sync das du die 2 bit wieder richtig zu sammen baust.
A = 65 = 01000001
Step 1:
PinA 0
PinB 1
PinC 1
Step 2:
PinA 0
PinB 0
PinC 1
Step 3:
PinA 0
PinB 0
PinC 1
Step 4:
PinA 0
PinB 1
PinC 1
Nun ist das A drüben.
Ich hoffe du verstehst das
Gruß
hallo
ich habe mir das so vorgestellt
1. leitung sagt dem µ-controller das ein bit an der zweiten leitung zum aufzeichnung bereitliegt.
2. leitung überträgt die acht bit nacheinander
3. leitung schickt der µ-controller ein signal wenn er das bit erhalten hat.
also:
A = 65 = 01000001
pin a = 1 // sagt dem controller es liegt ein bit an
pin b = 0 // ist der eigendliche befehl
pin c = (wenn µ-controller signal bekommen hat, schickt der µcontroller) 1
pc = signalisiert an pin c ein 1 signal also schickt er die nächste frequenz los
pin a = 1
pin b = 1
pin c = (wenn µ-controller signal bekommen hat, schickt der µcontroller) 1
.
.
.
usw
dauert halt länger da ich nur eine "datenleitung"
klingt etwas komplieziert aber ich glaube da habe ich keine problemme mit der synkroniesation, da der µ-controller ein bereitsignal zurückschickt, wenn er bereit zur nächsten übertragung ist.
aber was meinst du mit: "zei seriale infaces warum benutz du nicht die?" damit
kannst du mir das nochmal erklären?
NumberFive
06.02.2005, 10:33
doch hast ein prolem mit sync da du am mircocontroller nicht weißt wann es los geht.
genau was du da beschreibst währe eine Seriale übertragung. nur halt mit deinem eingenen protokoll. es gibt da ein standart protokoll sag ich jetzt das nennet sich rs232 das müsste dein controller auch können wenn ich das auf datenplatt richtig gesehen habe. ich wahrseinlich nur ein problem
mit dem pegel aber es gibt ja den max232 der mach die pegel an passung
machen hier alle so.
ist jetzt klarer was ich meine ?
Ich habe was von einem Baudrate generator gelesen
hallo
daher habe ich ja die erste leitung die dem controller sagt das da ein signal anliegt, das signal liegt solange an bis der controller ein "fertig" signal rausschickt.
rs232
also sind das protokolle die includen muss oder was??
noch eine frage kann ich denn controller direckt am lpt-port aschließen oder mach ich da irgendetwas kaput
NumberFive
08.02.2005, 10:34
also wie das mit dem pegel auf dem prallel port ist weiß ich nicht so genau bei rs232 braucht du einen pegel wandler.
http://info.electronicwerkstatt.de/bereiche/stecker/parallel.html
laut der seite sollte aber bei der parallen das dirrect gehen (kein garantie)
zu rs232:
http://www.engelmann-schrader.de/handbuch/mcb517.pdf
und nach rs232 suchen
http://www.c51.de/c51.de/Dateien/Baugruppen.php?UIN=
hier steht auch noch was zum Thema
Gruß
Du kannst das das LCD auch direkt an die Parallele Schnittstelle hängen, dann brauchst Du zwar min. 6 Datenleitungen, aber derartiges gibt es schon und Du musst Dich nicht mit µControllern rumschlagen und kein neues Protokoll erfinden.
Die Pegel am LPT sind übrigens TTL-kompatibel, haben also +5V.
Bei der Seriellenübertragung würde ich Dir einen Takt zur synchronisation empfehlen, da asynchrone Datenübertragung nicht ganz einfach ist. Oder wie schon von NumberFive vorgeschlagen die serielle Schnittstelle, da kannst Du dann auch ganz leicht mit einem Terminalprogramm Deine Displayansteuerung testen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.