Mini SIPO fuer LCD Module

background image

Die BASIC-stamp II verfügt über 16 I/O-Lei-
tungen. Zum Anschluss eines LCD-Moduls an
eine BASIC-stamp II benötigt man acht
Daten- und zwei Steuerleitungen, und selbst
wenn man das Datenbyte in zwei Paketen á
vier Bits hintereinander verschickt, besetzt
das Modul immer noch sechs I/O-Anschlüsse
der BASIC-stamp. Die verbleibenden zehn
I/O-Leitungen können in bestimmten Appli-
kationen aber zu wenig sein.

Zwei Busse

Die hier beschriebene Variante der Ansteue-
rung kommt mit nur vier Leitungen aus.
Dabei wird der bekannte Bustreiber
74HCT574 zweckentfremdet und als Serial in
parallel out
-Baustein (SIPO) eingesetzt. Wie
in Bild 1 zu sehen, sind die acht Kippstufen
des Bustreibers in Reihe geschaltet, so dass
das IC wie ein Schieberegister arbeitet. Die
seriellen Eingangsdaten gelangen über eine
Leitung (DATA) zum 74HCT574, eine zweite
Leitung (CLOCK) ist für den Schiebetakt

MIKROPROZESSOREN

54

Elektor

12/2000

Mini-SIPO

für LCD-Module

Display für BASIC-stamp II

Entwurf von Klaus Burkhardt

Ganze vier Anschlüsse
benötigt diese Schaltung,
um eine BASIC-stamp II
mit einem LCD-Modul
auszustatten.

Bild 1. Ein Bustreiber zwischen BASIC-Stamp und LCD-Modul.

74HCT574

IC1

12

13

14

15

16

17

18

19

EN

11

C1

1D

2

3

4

7

8

9

5

6

1

LCD-Modul

VCC

R/W

VSS

RS

11

D4

12

D5

13

D6

14

D7

D0

D1

D2

10

D3

VS

2

6

E

5

4

7

8

9

3

1

10k

BASIC

STAMP

P3

P2

P1

P0

II

5V

000113 - 11

IC1

20

10

CLOCK

DATA

RS

ENABLE

5V

background image

erforderlich. Der Datenverkehr erin-
nert an einen I2C-Bus.
Immer, wenn ein Byte am Ausgang
des Schieberegisters komplettiert
ist, kommen zwei weitere Leitungen
zum Einsatz. Der Status der RS-Lei-
tung (register select) bestimmt, ob
das folgende Byte als Steuerbefehl
(Low) oder als darzustellender Text
(High) interpretiert wird. Das Byte
wird auf die fallende Flanke der
ENA-Leitung (enable) hin in den Dis-
playspeicher übernommen. Auf die
Möglichkeit, den Modulinhalt zu
lesen, muss allerdings verzichtet
werden. Der entsprechende Pin 5
(R/W)des Moduls liegt daher auf
Masse.

Software

Das Programm zur Ansteuerung der
vier relevanten I/O-Leitungen in Bild
2
der BASIC-stamp ist kurz und
dank der Kommentierung nicht
schwer zu durchschauen. Es besteht
(nach der üblichen Definition der
Variablen) aus einem Hauptpro-
gramm und zwei Unterprogrammen.
Das Unterprogramm shift: liest den
acht Bit langen Befehl (Steuerung
oder Text) von rechts (LSB) nach
links und übergibt ihn - bitweise auf
den pulsout-Befehl (SCL) hin - über
P1 (out1) dem Scheiberegister.
Das zweite Unterprogramm ena:
besteht nur aus einem Befehl, einem
Enable-Impuls zur Übernahme des
parallelen Bytes am Ausgang des
74HCT574 in den Modulspeicher.
Das Hauptprogramm in_lcd: erle-
digt die Voreinstellungen des Dis-
plays und die Umschaltung zwi-
schen erster und zweiter Zeile. Die
Kommentare im Programm sprechen
für sich.

(000113)rg

Das Programm kann in einer deut-
schen und einer englischen Version
kostenlos von unserer Home-Page

www.elektor.de

heruntergeladen werden.

MIKROPROZESSOREN

55

12/2000

Elektor

speicher data “1. Zeile ———*2. Zeile ———*”
zeichenvar byte
sipovar nib
avar byte
befehlvar byte
dirs = %0000000000001111
out0 = 0

Clock (SCL)

out1 = 0

serielle Daten (SDA)

out2 = 0

Register Low = Befehlskode / High = Dateneingang

out3 = 1

High nach Low-Flanke = Enable

in_lcd: Anzeige

initialisieren

befehl = %00000001

Leeren

gosub shift:gosub ena
pause 10
gosub ena:gosub ena

befehl = %00000011

Coursor home

gosub shift:gosub ena
gosub ena:gosub ena

befehl = %00111000

8 bit / 2 lines

gosub shift:gosub ena
befehl = %00001111

Display an/Coursor+Blink an

gosub shift:gosub ena
befehl = %00000110

Vorschub nach rechts

gosub shift:gosub ena
toggle 2

Umschalten auf data input

pause 100

for zeichen = 0 to 15
read zeichen,befehl

Text “1. Zeile.....”

gosub shift:gosub ena
pause 50: next

toggle 2

Umschalten auf instruct

befehl = %11000000

Anfang 2te Zeile

gosub shift:gosub ena
toggle 2

Umschalten auf data input

pause 100

for zeichen = 16 to 30
read zeichen,befehl

Text “2. Zeile.....”

gosub shift:gosub ena
pause 50: next
stop

Ende des Unterprogramms

shift:
for sipo = 0 to 7
a = befehl & 1

maskierter And-Befehl liest nur LSB

out1 = a

Serielle data (SDA)

pulsout 0,10

Shift Clock (SCL)

befehl = befehl / 2

Shift right,1

next:return

ena:

pulsout 3,10:return

Enable für Datenübernahme

Bild 2. Das kurze Listing kann von Elektors Internet-Site heruntergeladen werden.


Wyszukiwarka

Podobne podstrony:
Mini Programmer fuer PIC16F84 16C84
6 China Mini LCD TV Schematic (MC802 LA7605N)
mini zima
lcd
mini słowniczek kulinarny włoski Ł
Aparatura sciaga mini
LCD F PCB
Mini netykieta
DSC PC5010 v2 0 obs lcd
Module 10
Grundig TV Lcd
Module 8
AT AT mini
warzywa-mini, szkoła, zkoła, warzywa

więcej podobnych podstron