PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Nadel-) drucker am MC



Import-Script
22.01.2003, 13:13
Hi, <BR> <BR>wenn man etwas protokolieren möchte, eignet sich ein Nadeldrucker hervorragend dazu. Das schon gedruckte Protokoll kann nicht aus Versehen/Stromausfall gelöscht werden. <BR> <BR>Anwendungen währen z.B. Alarmanlagen, Wetterstation, Langzeit&uuml;bgerwachungen, ... <BR> <BR>So funktioniert&#39;s: <BR>Ich beziehe mich bei der Pinbelegung direkt auf die Centronics-Schnittstelle. <BR>Praktischerweise geben die meisten Nadeldrucker am Pin 18 &#43;5V ab. Damit kann man den MC betreiben. <BR> <BR>Das zu druckende Zeichen wird an die Datenleitungen angelegt. Zum Drucken von normalen Zeichen reichen 7 Leitungen &#40;D0-D6; Pin 2-8&#41;, siehe ASCII-Code. Die 8. Datenleitung wird selbstverständlich auf Masse gelegt. Datenleitungen sind nicht Invertiert. Das erleichtert die Verwendung von Zeichenketten. <BR> <BR>Jetzt sollte man pr&uuml;fen, ob die BUSY-Leitung auf LOW steht. Ist sie HIGH, dann ist entweder der Puffer voll, der Drucker offline oder kein Papier mehr drin. Warten bis BUSY auf LOW geht. <BR> <BR>Um den Drucker mitzuteilen, dass das Zeichen &uuml;bernommen werden soll wird die Leitung Strobe &#40;ist Invertiert&#41; &#40;Pin 1&#41; runtergezogen &#40;0V&#41;. Dabei sollte man ein paar µs warten &#40;5 NOPs reichen bei 12MHz Quarz&#41;, damit bei langen Leitungen die Datenleitungen auf definierten Pegel gehen können. <BR> <BR>Danach muß man warten, bis der Drucker das Zeichen angenommen hat. Das geht am einfachsten, in dem man wartet, bis die BUSY-Leitung HIGH wird. Damit signalisiert der Drucker, dass er mit irgendwas beschäftigt ist. In diesem Fall mit unserem gesendeten Zeichen. <BR>Jezt wird die Strobe-Leitung wieder auf HIGH gesetzt, um dem Drucker mitzuteilen, daß man den Empfang mitbekommen hat. <BR>Nachdem BUSY wieder auf LOW geht, erwartet der Drucker das nächste Zeichen. Das muß man nicht extra abfragen, das wurde oben schon gemacht. <BR> <BR>Hier noch mal die Schritte in Kurzform: <BR>- Zeichen anlegen &#40;Datenleitungen&#41; <BR>- kurz warten &#40;paar µs, bei Langen Leitungen mehr&#41; <BR>- Warten, bis BUSY LOW ist <BR>- Strobe auf LOW legen <BR>- Warten, bis BUSY HIGH ist <BR>- STROBE auf HIGH legen <BR>- Warten, bis BUSY LOW ist &#40;optional, BUSY wird oben eh nochmal abgefragt, wenn Programm widerholt wird&#41;. <BR>- F&uuml;r jedes Zeichen alles Widerholen. <BR> <BR>Mit 9 Portpins kann man Textfähige Drucker &#40;fast alle&#41; und auch Postscript-Drucker komplett steuern. bei Postscript währe ein einfacher MC mit der Datenerzeugung hoffnungslos &uuml;berfordert, aber theoretisch ginge das. <BR> <BR>Möchte man Grafik ausdrucken &#40;Es werden immer 8 Punkte gleichzeitig &uuml;bertragen&#41; oder alle ASCII-Zeichen verwenden, so braucht man 10 Portpins &#40;alle 8-Datenleitungen&#41;. Wie man den Grafikmodus einschaltet und bedient steht meistens im Druckerhandbuch &#40;Zumindest bei Nadeldruckern&#41;. <BR> <BR>Die wichtigsten ASCII-Codes: <BR> <BR>0d / 07h BEL: Drucker piepst, falls er kann <BR>8d / 08h BS : Ein Zeichen zur&uuml;ck, So kann man auf einer Stelle zweimal drucken &#40;Durchstreichen, unterstreichen mit &#34;_&#34;&#41; <BR>10d/ 0Ah LF : Linefeed, Papier wird eine Zeile weitergeschoben <BR>12d/ 0Ch FF : Form Feed. Papier zum nächsten Seitenanfang <BR>13d/ 0D CR : Wagenr&uuml;cklauf. Ohen Autofeed kann man so eine Zeile mehrmals bedrucken. <BR>27d/1Bh ESC: Escape. Drucker schaltet in Befehlsmodus &#40;F&uuml;r Grafikdruck, Schriftart, ...; s. Handbuch&#41; <BR>127d/7Fh DEL: Letztes Zeichen löschen &#40;sofern vorher kein CR wird es &uuml;berhaupt nicht gedruckt&#41; <BR> <BR>Wenn &#34;Autofeed&#34; beim Drucker abgeschaltet ist, muß man CR und LF nacheinander senden, um in die nächste Zeile zu gelangen. <BR>Autofeed wird entweder per DIP-Schalter eingestellt oder meistens durch die Leitung &#34;Auto Feed&#34; &#40;Pin 14&#41; gewählt. LOW = Autofeed an, HIGH = aus. In der Regel sollte man es auf LOW &#40;AN&#41; stellen. <BR> <BR>Macht der Drucker nichts, so muß man &#34;Select In&#34; &#40;Pin 36&#41; br&uuml;cken. Sollte aber auch so funktionieren. <BR> <BR>Massepins sind: <BR>15/16 meist auch nicht belegt <BR>19-30 normalerweise immer belegt. <BR> <BR>Möchte man Meßwerte als Kurve ausdrucken, so schaltet man in den Grafikbetrieb und Druckt immer 8 Meßwerte in eine Zeile. Die einzelnen Pixelpositionen muß man allerdings selber aufwändig berechnen. Das habe ich noch nie in Angriff genommen. <BR> <BR>Leider habe ich kein Programm f&uuml;r MCs, ich habe das bisher nur mal mit einem 6502-System gemacht. Allerdings ist die Umsetzung sehr leicht. <BR>Wie das Programm zur Zeichenaufbereitung aufgebaut werden muss, hängt von der Applikation ab. Man sollte ein Unterprogramm zur Zeichenausgabe &#40;1 Zeichen pro Aufruf&#41; schreiben. Dann wird&#39;s universeller. <BR> <BR>Leider habe ich im Moment keine Zeit, selber ein fertiges Programm zu erstellen. Ich habe auch z.Z. keinen Bedarf. Aber villeicht ist jemand experimentierfreudig und veröffenlicht hier seine Ergebnisse. Bei Fragen stehe ich gerne zur verf&uuml;gung. <BR> <BR>Gruß <BR>Elmar <BR> <BR>

Import-Script
23.01.2003, 08:36
Die Idee ist nicht schlecht! <BR> <BR>Vielleicht noch ein paar Anregungen dazu: <BR> <BR>Die Zeichenausgabe sollte &uuml;berwacht werden, sonst hängt der µC bei Druckerfehlern auf dem Busy-Signal fest. <BR> <BR>Das Strobe-Signal ist lt. Centronics Spezifikation wie eine Art Latch-Signal zu sehen. d.h. es reicht ein neg. Impuls von bestimmter Länge. Danach muss vor dem nächsten Strobe auf jeden Fall das Busy-Signal wie beschrieben abgefragt werden. <BR> <BR>Nadeldrucker gibts auch mit serieller Schnittstelle. <BR> <BR>Die Darstellung von Grafiken wird je nach Druckertyp mit unterschiedlichen ESC-Sequenzen eingeleitet. Wenn man später auch mal Grafiken drucken will, sollte man die Ansteuerung direkt in 8-Bit Breite statt 7-Bit auslegen. <BR> <BR>Siegfried <BR>

Import-Script
23.01.2003, 17:03
Hi, <BR> <BR>Bei der einfachen Version stimmt es nat&uuml;rlich, daß er Drucker bei besetztem Drucker &#40;Papier alle&#41; hängenbleibt. Man kann ja bei Bedarf eine Zählschleife einbauen, um das zu verhindern. <BR> <BR>Das Strobe-Signal ist in der Tat ein Latch-Signal, aber warum eine zweite Warteschleife einf&uuml;hren, wenn man eh auf das BUSY warten muß. <BR>Das ACK-Signal quittiert eigentlich den Empfang, aber das BUSY tut es genauso und zeigt gleichzeitig ein Besetzt an. Somit spart man einen Portpin des MCs. <BR> <BR>Selbstverständlich gibt es Nadeldrucker mit RS232-Schnittstelle, aber diese Ansteuerung ist trivial und braucht nicht näher erläutert zu werden. Hier geht es darum einen im Keller rumliegenden Drucker einer Sinnvollen verwendung zuzuf&uuml;hren. Wer nutzt schon einen seriellen Drucker f&uuml;r den PC. Die Dinger wurden fast ausschließlich an Terminals oder Sonderfällen &#40;Printserver mit vielen Druckern&#41; verwendet. Muß man sich f&uuml;r ein Projekt sowiso einen Drucker kaufen, so kann man dann einen mit RS232 nehmen. Das spart eine menge Portpins. <BR>Hier geht es darum, mit so wenig Portpins wie möglich auszukommen und eine Möglichst einfache und knappe Ansteuerung zu verwenden. Sonnst Könnte man das gesamte Centronics-Protokoll mit allen Leitungen Implementieren, was f&uuml;r eine Einfache Ansteuerung mit einem MC keinen Sinn macht. <BR>Auch geht es um die Grundlage. So ist es besser zu verstehen. Die ein oder anderen Gimiks werden ant&uuml;rlich auch benötigt. Das ist aber abhängig von dem verwendungszweck und sollte jeder f&uuml;r sich ausknobeln können. bei Fragen stehe ich nat&uuml;rlich gerne zur Verf&uuml;gung. <BR> <BR>Wie die Darstellung von Grafiken funktioniert variiert von Drucker zu Drucker. Die meisten beherrschen EPSON-FX80, aber wer Grafikdruck benötigt informiert sich am Besten im internet bzw. liest es im Druckerhndbuch nach, sofern noch vorhanden. Die Beschreibung von Grafik w&uuml;rde hier den Rahmen sprengen und ist sowiso nur in Ausnahmefällen von Nöten. <BR> <BR>Wie man die Ansteuerung anstellt hängt vom Projekt ab. Braucht man nur ASCII, dann erfolgt die Ansteuerung &uuml;ber 7-Bit. Das 8. Kann man zwar an einen Portpin legen &#40;f&uuml;r später&#41;, aber wenn man diesen f&uuml;r was anderes Braucht legt man diese Leitung halt auf Masse. Portpins am MC sind bei den meisten Projekten Mangelware. Gerade, wenn Daten aufbereitet und Ausgewertet werden m&uuml;ssen die ja irgendwie dem MC zugänglich gemacht werden. <BR> <BR>Hat man sowiso zu wenig Portpins, so kann man einen extra-MC f&uuml;r den Drucker nehmen. Dieser kann sogar einen eigenen Puffer enthalten und RS232 nach quasi Centronics umwandeln. Somit braucht man am Applikations- MC nur noch 1 oder 2 Portpins f&uuml;r den Drucker. Daf&uuml;r allerdings einen zusätzlichen MC. <BR> <BR>@Sibi: <BR>Ich will Dich nicht fertig machen. Sind Berechtigte Fragen, aber so sehen nun mal meine Antworten aus. Nimms nicht Persönlich. Sorry! <BR> <BR>Gruß <BR>Elmar

Import-Script
24.01.2003, 09:33
Die Geschichte mit der Busy-Überwachung macht schon Sinn. Mal angenommen, der µC steuert irgentwas und bleibt bei einer Druckerstörung in der Zeichenausgaberoutine hängen. Dann hängt als Konsequenz davon auch die Steuerung fest. Bin der Ansicht, man kann eher auf das Protokoll als auf die funktionierende Steuerung verzichten. <BR> <BR>@Elmar <BR>Man bin ich jetzt fertig ... <img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0> <BR>Ich sehe in meinen Beitrag eher eine Ergänzung und keine Gegendarstellung! <BR> <BR>Siegfried

Import-Script
24.01.2003, 10:18
Hi, <BR> <BR>Stimmt zwar, aber wenn der MC irgendwelche Ereignisse aufschreibt und der Drucker ist aus, dann kann der MC mit seinen paar Bytes nicht viel zwischenspeichern und muß dann kurze Zeit später auch aufgeben. <BR> <BR>Wie gesagt: Der Anwender muß daf&uuml;r Sorge Tragen, daß so was nicht passiert. Mir gings nur darum, zu Zeigen wie so was geht. <BR> <BR>@Sibi: <BR>Wie gesagt, berechtigte Fragen. Ohne Dich währe wahrscheinlich jemand böse Überrascht worden bei Papierende. Ist auch eine gelungene Ergänzung. Aber die Antworten sind vom Typ &#34;So isses!&#34;. Hab jezt auch ein gaaaanz schlechtes Gewissen! <BR> <BR>Gruß <BR>Elmar

Import-Script
25.01.2003, 14:17
Moin, <BR> <BR>nur mal so doof &#40;oder auch d. o. v. = dauernd ohne Verstand&#41; gefragt und ohne jemanden beleidigen zu wollen. Seit ihr als Kind mit dem Klammerbeutel gepudert worden?! <BR>Kann es sein das diese Beiträge erst mal keinen Interessieren?! <BR>Na ja, ist ja auch egal. Ich hab&#39; heute meinen Dooftag s. o. und <b>muss</b> jemanden ärgern <img src="http://progshop.com/elektronik/diskussion/clipart/biggrin.gif" border=0> <font size="-2">ausserdem hab&#39; ich einen im Schuh, ja um diese Uhrzeit.</font> <BR> <BR><img src="http://progshop.com/elektronik/diskussion/messages/2066/5823.jpg" alt=""> <BR> <BR>Gruß Winnie <BR> <BR>

Import-Script
25.01.2003, 14:47
Nochmal, <BR> <BR>geht nicht anders. <BR> <BR><img src="http://progshop.com/elektronik/diskussion/messages/2066/5826.jpg" alt="trara"> <BR> <BR>Gruß Winnie <BR>

Import-Script
27.01.2003, 09:22
Hi, <BR> <BR>zunächst mal bei dem Thema hier handelt es sich um Beispielroutinen. Das ist zwar keine Beispielroutine, aber es ist eine Anleitung, wie man so was macht. <BR>In der Beschreibung des Themas heißt es eindeutig: <BR><i>MCS-51 Mikrocontroller Beispiel Routinen <BR>In dieser neuen Rubrik des Diskussionsforums <b>können allgemein n&uuml;tzliche Routinen f&uuml;r die Programmierung der MCS-51 Microcontroller veröffentlicht werden, die dann jedem zur freien Verf&uuml;gung stehen.</b></i> <BR> <BR>Außerdem trau ich mich wenigstens, ein Bild von mir selber hier zu veröffentlichen. Winnie hat ja noch nicht einmal irgendetwas als Bild <img src="http://progshop.com/elektronik/diskussion/clipart/lol.gif" border=0> <BR> <BR>Kannst Dir ja ein Icon nehmen, was ähnlich aussieht: <img src="http://progshop.com/elektronik/diskussion/clipart/crazy.gif" border=0> <BR> <BR>Gruß <BR>Elmar

Import-Script
27.01.2003, 21:46
Ne ne, <BR> <BR>lass mal gut sein, aber wenn ich von mir ein Bild hinhänge hängt man mich vielleicht. Oder ich bekomme eins aufs Dach wegen Erregung öffentlichen Ärgernisses. <BR> <BR>&#62;&#62;Das ist zwar keine Beispielroutine,... <BR> <BR>Das meinte ich,... <BR> <BR>&#62;&#62;...aber es ist eine Anleitung, wie man so was macht. <BR> <BR>...aber wenn mans so sieht stimmts auch wieder. <BR> <BR>Ich habe auch als Antwort mangels fertiger Routinen und genauem Wissen auf eine andere Frage mit &#39;Ideen&#39; geantwortet. Manchmal hilft das ja. <BR> <BR>Nichts f&uuml;r ungut und ich werd mal nach nem Bild-Ersatz suchen.<img src="http://progshop.com/elektronik/diskussion/clipart/blush.gif" border=0> <BR> <BR>Gruß Winnie <BR>

Import-Script
29.01.2003, 12:33
Schau mal bei <a href="http://www.autsch.de" target=_top>www.autsch.de</a> oder leih Dir eins bei <a href="http://www.ich-bin-on.de" target=_top>www.ich-bin-on.de</a>! <BR> <BR>Ist sowieso witzig: Auf der Werbefläche an unserem haus ist diese Werbung auch. Fr&uuml;her stand da: &#60;name&#62; ist fröhlich, weil &#60;beschreibung&#62; und deshalb ON. Heute steht auf dem einen: &#60;name&#62; ist ON. Auf dem daneben steht nur drauf: Ist ON! <BR> <BR>Gruß <BR>Elmar

Import-Script
06.02.2003, 20:23
@winnie: <BR>Also der Beitrag von dir is ja wohl total deplaziert gewesen, im Gegensatz zu Elmar und Siegfrieds Beiträgen. Du hast&#40;oder hoffentlich hattest&#41; wohl eine sehr lange doof Phase. <BR> <BR>Und nur mal nebenbei: Mich hat der Beitrag interessiert!! Es muss doch nicht immer gleich ein riesen Codeblock an jedem Beitrag haengen. Eine ausf&uuml;hrliche und verständliche Erklärung, der Technik die angewandt wird ist hier Gold wert. Ein Sourcecode kann ja noch von einem anderen konstruktieven Gehirn kommen. <BR> <BR>Wenn ich mal bissel Zeit hab schau ich vieleicht mal ob sich Code maeßig was machen lässt. <BR> <BR>Hab hir noch einen Epson LQ-850&#40;mit paralleler ind serieller schnitti&#41; und einen Star LC-20 rummliegen <BR> <BR>Gruß Tobias <BR>Ps: <BR>Elmar mach weiter so! Deine Beitrage sind meistens bestens!

Import-Script
07.02.2003, 09:37
Hi, <BR> <BR>die meisten Nadeldrucker verstehen den Epson FX-80 befehlssatz. Din A3 Drucker unterst&uuml;tzen Epson FX80&#43;. Das ist allerdings nur bei Grafik oder besonderen Textformatierungen &#40;Doppelte Höhe/Breite&#41; etc. von Nöten. <BR> <BR>Bei den Beiträgen gebe ich mir M&uuml;he Anschauliche Beispiele und Hintergr&uuml;nde hineinzubringen. Dabei lege ich besonders Wert auf eine praxisorientiere Theorie. Code zum Abtippen oder &#34;Kochb&uuml;cher&#34; kann ich auf Anfrage erstellen. Selberdenken ist durch nichts zu ersetzen. Heutzutage kann man fast alles viel billiger im Laden kaufen. Bei der Hobbyelektronik geht es ja hauptsächlich mehr ums Lernen und man hat das Gef&uuml;hl etwas &#40;großartiges&#41; selber gemacht und geleistet zu haben. <BR> <BR>@Winnie: <BR>Spaß muß sein. Geld verdienen ist ernst genug. <BR> <BR>Gruß <BR>Elmar

Import-Script
07.02.2003, 13:16
Hallo Elmar, <BR> <BR>&#62;&#62;Heutzutage kann man fast alles viel billiger im Laden kaufen. Bei der Hobbyelektronik geht es ja hauptsächlich mehr ums Lernen und man hat das Gef&uuml;hl etwas &#40;großartiges&#41; selber gemacht und geleistet zu haben. <BR> <BR>Ja ja, so ist das wohl. Im Aldi gab es letztens f&uuml;r 3.99€ eine elektronische Zeitschaltuhr. Die gleiche die es fr&uuml;her schon mal f&uuml;r 9.98DM gab und die ich auch damals kaufte. <BR>F&uuml;r den Kurs bekommst du nicht mal die Teile. Leider hat man aber auch nicht das was man will. <BR>Deshalb baue ich auch f&uuml;r meine Tochter einen extra Wecker mit Counter &#40;f&uuml;r Einschlafmusik&#41; der einfacher zu bedienen ist und größere Zahlen hat. <BR>Mal sehen was ich da noch integrieren kann, schließlich will mans ja auch nicht zu einfach haben<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>Bei Globus gab es auch mal eine drei fach Kombination. Hier konnte jede Steckdose einzeln programmiert werden. Habe ich auch hier das Teil. Ist völliger Schrott da es beim Einschalten irgendwelcher Verbraucher wie Licht oder TV völlig rumspinnt. Ich meine nicht vom Gerät geschaltet sondern es reicht schon irgendwo Licht einzuschalten. <BR> <BR>Gruß Winnie <BR> <BR>

Import-Script
07.02.2003, 13:28
Hi, <BR> <BR>als ich mit Elektronik und Computern anfing sparte man 50%, wenn man Adapterkabel selber lötet. Heute zahlt man 50% Aufpreis. <BR> <BR>Zu dem Wecker. Ich hatte mal einen selbstgebauten &#40;TTL-Grab&#41;, der machte zuerst das Radio an zum schonenden Aufwachen, dann wurde es eine Stufe lauter, eine Lampe wurde eingeschaltet &#40;Licht macht wach&#41; und wenn alles nichts hilft ein lauter Piepser. Heute habe ich daf&uuml;r einen normelen Radiowecker und eine Zeitschaltuhr. M&uuml;sste mal das TTL-Grab reparieren, aber habe damals im Jugendlichem Leichtsinn wild drauflosgelötet ohne vorher oder nacher einen Schaltplan zu machen. <BR> <BR>Gruß <BR>Elmar

Import-Script
07.02.2003, 13:53
Moin, <BR> <BR>ich habe zu C-64er Zeiten einen Joystick gebaut. Weil ich immer so trödel gab es die sonst so teuren fertigen mittlerweile schon f&uuml;r unter 20DM. Meine Teile besonders der blöde Sub-D 9 Stecker waren schon teurer.