Das Rezept: Man nehme einen lei-
stungsfähigen AT90S1200 mit integrier-
ten RAM- und ROM-Speicher, stelle ihm
einen TTL-Puffer vom Typ HC245 zur
Seite und füttere ihn mit ein paar
trickreichen Programmroutinen. Das
Resultat: ein Mikrocomputer mit
Druckerschnittstelle, seriellem Port und
der Möglichkeit, ein LC-Display zu
steuern. Die Anwendungen sind
Legion. Was halten Sie von einer Über-
wachung der parallelen PC-
Schnittstelle oder der Darstellung der
Kommunikation mit einem seriellen
Peripheriegerät im LC-Display?
Neben den beiden ICs sind noch eini-
ge wenige passive Bauteile nötig,
nämlich ein 16-MHz-Quarz und zwei
keramische Kondensatoren, die für die
Taktfrequenz verantwortlich sind, wei-
terhin ein paar kleine Kondensatoren,
um die Betriebsspannung vom Netzteil
zu entkoppeln.
Die Entwickler haben die Schaltung in
Verbindung mit einem MCS51-System
gebraucht, die Displaysteuerung als
Monitor für die Druckerschnittstelle ein-
gesetzt. Mit einiger Mühe läßt sich die
Schaltung auch als universeller Seriell-
nach-parallel-Umsetzer gebrauchen.
Interessant dabei ist die geringe
Stromaufnahme (4,6 mA in Ruhe, 13,6
mA in Betrieb), die eine Verwendung
der seriellen Schnittstelle als
Spannungsquelle erlaubt. Damit läßt
sich die Schaltung über nur drei
Leitungen mit dem MCS51-System ver-
binden, nämlich +5 V, Masse und
LPout (Port 1.7 oder Pin 8 des 8032). Ist
es nötig, den angeschlossenen
X-12 - 11/98 Elektor
EXTRA
——————————————————— PC-P
LUS
Zwei Chips, ein Mikrocontroller und ein
TTL-Buffer, sind die Bestandteile des klein-
sten Computers, den wir jemals in
Elektor-Extra vorstellten. Mit dieser
Minimalstkonfiguration läßt sich eine
Druckerschnittstelle und ein serieller Port
realisieren und ein LC-Display ansteuern.
Entwurf von H. Böhling und D. Wulf
Kompakte
Displaysteuerung
Zwei Chips für Drucker und LC-Display
Eigenschaften
Controller:
AT90S1200
Taktfrequenz:
16 MHz
Serieller Eingang:
TTL-Pegel
Baudrate:
2400, 4800 oder 9600 baud
Handshake:
DTR
Bidirektionaler Port:
8 bit
als Ausgang Centronics-kompatibel
Handshake:
busy, strobe
LCD:
2·16-Standard-Display
Der AT90S1200 ist die Zentrale der Schaltung. Der Entwurf von Programmen ist beson-
ders leicht, da viele Tools kostenlos im Internet zur Verfügung stehen.
Drucker über eine Busy-Leitung zu
bewachen, wird zu diesem Zweck ein
Interrupt-Eingang freigemacht.
Die Steuerung von einem MCS51-
System ist relativ einfach möglich. Mit
dem BASIC-Befehl BAUD 2400 (oder
BAUD 4800 oder BAUD 9600) selektiert
man die richtige
Datenübertragungsrate und schickt
anschließend die Daten mit den
Befehlen PRINT# und LIST# über die
serielle Schnittstelle zur kompakten
Displaysteuerung. Die Schaltung sorgt
für eine Darstellung der Information
auf dem LC-Display oder einen Druck
auf dem angeschlossenen Drucker.
Software-Experimente
Daß die Schaltung zu Experimentieren
einlädt, versteht sich beinahe von
selbst. Die Software ist als Quellkode von
Elektor lieferbar (986030-1). Dank einer
ausführlichen Kommentierung und
Dokumentation ist es für jedermann
ohne große Probleme möglich, unab-
hängig von der ursprünglichen
Anwendung eigene Ideen zu verwirkli-
chen. Ist die hier beschriebene
Anwendung genau das, was Sie
suchen, so können Sie auch einen fertig
programmierten Controller erwerben
(EPS 986521-1). Einen Assembler, einen
Simulator und weitere Software (zusätzli-
che Infos, Beispielprogramme), um den
Controller selbst zu programmieren, fin-
den Sie kostenlos im Internet. Auf Atmels
Site http://www.atmel.com finden Sie
unter der Rubrik Produkte bei den 8-bit-
AVR-Prozessoren die Software AVR.EXE.
Dieses Paket enthält neben Assembler
und Debugger auch eine ausführliche
Dokumentation im PDF-Format. Haben
Sie keinen Internet-Zugang, so liefert der
Elektor-Verlag auch diese Software (EPS
976017-1). Ein hervorragend geeigne-
tes und preiswertes Programmiergerät,
das Heinzelmännchen, wurde in Elektor
12/97 vorgestellt.
Selbstbau
Zu diesem kompakten Entwurf haben
wir kein Platinenlayout entworfen, da
die wenigen Bauteile leicht auf einer
Experimentierplatine Platz finden und
die Schaltung in der Regel ohnehin in
einem größeren Ganzen integriert
werden dürfte.
Wie schon erwähnt, kann die
Schaltung über die serielle PC-
Schnittstelle versorgt werden. Wichtig
ist aber, daß ein Spannungsregler
(zum Beispiel der Tripode 78L05) und
zwei Kondensatoren die Spannung auf
genau +5 V stabilisieren. Wird die
Kompakte Displaysteuerung von
einem MCS-51-System genutzt, so soll-
te dies auch die Versorgung überneh-
men. Ein paar Milliampere mehr oder
weniger macht dessen Netzteil kaum
etwas aus...
Als Display kann ein gängiges LCD mit
2
⋅16 Zeichen gebraucht werden.
Nach dem Einschalten der
Versorgungsspannung stellt man an P1
den Kontrast ein. Wenn der Cursor gut
sichtbar ist, ist die richtige Einstellung
gefunden. Die Schaltung ist nun fertig
und kann ans Werk gehen.
(980096)rg
PC-P
LUS
——————————————————
Elektor
EXTRA
X-13 - 11/98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
K1
K2
K3
RESET
S1200
AT90
IC1
XT1
XT2
PB6
PB5
PB7
PB4
PB3
PB2
PB1
PB0
PD0
PD1
PD2
PD3
PD4
PD5
PD6
20
10
19
18
17
16
15
14
13
12
11
5
4
1
2
3
6
7
8
9
X1
16MHz
C1
22p
C2
22p
C5
100n
C3
100n
C4
100n
C6
10
µ
25V
10k
P1
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
74HCT245
IC2
3EN2
3EN1
11
12
13
14
15
16
17
18
19
G3
2
3
4
7
8
9
5
6
1
1
2
D0
D1
D2
D3
D4
D5
D6
D7
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
IC2
20
10
5V
+ 5V
5V
5V
980096 - 11
BSY INT
SIN
5V
STR
BUSY
RS
R/W
E
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
RS
R/W
E
V0
VDD
VSS
Bild 1. Die vollständige Schaltung zeigt den aus zwei Chips bestehenden Steuercomputer.
Steuerkodes
PRINT#CHR(1) . . . . . . . . . . . . . . . . . . . Schaltet von Drucker nach Display*
PRINT#CHR(6) . . . . . . . . . . . . . . . . . . . Reset der Schaltung nach Display*
PRINT#CHR(7) . . . . . . . . . . . . . . . . . . . Schaltet von Display nach Drucker *
PRINT#CHR(8) . . . . . . . . . . . . . . . . . . . Backspace
PRINT#CHR(9) . . . . . . . . . . . . . . . . . . . Tab-Zeichen
PRINT#CHR(10 . . . . . . . . . . . . . . . . . . . Zeilenvorschub, LF
PRINT#CHR(11) . . . . . . . . . . . . . . . . . . Home
PRINT#CHR(12) . . . . . . . . . . . . . . . . . . Display löschen
PRINT#CHR(13) . . . . . . . . . . . . . . . . . . Neue Zeile, CR
PRINT#CHR(14) . . . . . . . . . . . . . . . . . . Cursor aus
PRINT#CHR(15) . . . . . . . . . . . . . . . . . . Cursor an
* Der Steuerkode CHR(7) sorgt dafür, daß die nachfolgenden Daten zum Drucker
geschickt werden. Erst wenn Steuerzeichen CHR(1) empfangen wird, wird der Drucker
abgeschaltet und alle Daten zum LC-Display geschickt.