Der Mikrocomputer PS11 baut auf dem Mikrocontoller M68HC11 (8MHz) von Motorola auf. Er wird im expanded mode betrieben und ist mit einer PRU M68HC24, 32kByte RAM und 32 kByte EEPROM als externen Komponenten versehen. Die Programmentwicklung erfolgt auf einem PC unter Verwendung des unter Windows 95 laufenden DOS-Programms IDE11 (Integrated Development Environment for M68HC11). Dieses ermöglicht das Editieren, Assemblieren und Bereitstellen von Programmen für den M68HC11. Der Datentransfer zwischen PC und Zielrechner erfolgt über eine serielle Schnittstelle (COM-Port mit 9600 Baud).
Die Angaben zu den einzelnen Versuchen sind als thematischer Rahmen zu sehen. Die Aufgabenstellung kann durch den betreuenden Dozenten jederzeit modifiziert werden. Im Verlauf des Versuchs ist auf eine vernünftige Dokumentation zu achten.
Benutzername ( user ) : ide11
Kennwort ( password ) : ide11
Das Programm HC11-IDE11 wird durch klicken auf das entsprechende Icon gestartet. Wenn Sie IDE11 mehr als einmal starten, verweigern alle Inkarnationen des Programms den Kontakt zum M68HC11. In diesem Fall sind alle laufenden Versionen zu schließen und das Programm einmal neu zu starten.
Die im Laufe eines Praktikums-Versuchs erstellten (name.a) oder erzeugten (name.lst) Dateien sind über den Ordner (Directory) Eigene Dateien des Arbeitsplatzes (Desktop) verfügbar. Sie können von dort aus auf Diskette oder einem USB Massenspeicher abgespeichert werden. Wenn Sie vorbereitete Programme auf Diskette oder USB Massenspeicher mitbringen, dann speichern Sie diese auch immer in diesem Ordner ab.
Wurde HC11-IDE11 versehentlich beendet, kann es über Doppelklicken des Symbols (Icon) des Arbeitsplatzes (Desktop) wieder gestartet werden.
Der Praktikumsrechner PS11 ist nicht
auszuschalten, sondern nur herunterzufahren:
(START > Computer ausschalten).

File->New
Erzeugt ein leeres Editorfenster mit dem Namen "Untitled". Beim ersten
Speichern wird ein SAVE AS ausgeführt.
File->Open
Eine Datei (Quellprogramm) kann aus dem Arbeitsverzeichnis
ausgewählt und geöffnet werden. Für die Bearbeitung der
Datei mittels Tasten gelten die üblichen Regeln. Weitere Funktionen
werden im Menue EDIT angeboten. Es können auch mehrere Fenster
geöffnet werden. Die Bearbeitungsvorgänge beziehen sich immer
auf das aktive (oben liegende) Fenster.
File->Save
Speichert den Inhalt des aktiven (oben liegenden) Editorfensters als
Textdatei. Ist der Dateiname noch nicht festgelegt, wird ein SAVE AS
ausgeführt.
File->Save As
Erst nachdem die Datei mit der Erweiterung .a abgespeichert wurde wird code coloring aktiviert:

Ein neues oder verändertes Quellprogramm im
aktiven Fenster wird abgespeichert und anschließend
übersetzt. Bei fehlerfreiem Ablauf der Übersetzung werden ein
Zielprogramm (name.s19) und ein Programmlisting (name.lst)
erzeugt. Eine evtl. erzeugte Fehlerliste wird im Output Fenster
angezeigt. Durch Doppelklick auf den angezeigten Fehler (Error:
xxxxx) wird im Quellprogamm die fehlerhafte Zeile markiert.

Menü Tools->Simulate
Das Zielprogramm wird in den Simulator geladen. Hier kann das
Programm in einem simulierten PS11 System erprobt werden.

Menü Tools->Load in Target
Das Zielprogramm, das zu dem im aktiven Fenster angezeigten
Quellprogramm gehört, wird in den Speicher des Zielrechners
übertragen (aber nicht gestartet).
Jedes Programm muß folgende Anweisungen enthalten:
stak equ $7FFF ; Stackbereich ab $7FFF (RAM, abwaerts)
Der RAM-Speicher ab Adresse 0 bis Adresse 255 kann nicht genutzt
werden (Bootloader bzw. Trace).
prog equ $8000 ; Programmbereich ab $8000 (EEPROM)
data equ $2000 ; Datenbereich ab $2000 (RAM)
rvec equ $FFFE ; Reset-Vektor
org data ; Beginn Datenbereich
. ; Variablen-Definitionen
.
.
org prog ; Beginn Programmbereich
main lds #stak ; Stackpointer setzen
.
. ; Befehle des Programms
.
. ; ggf. fixe Tabellen dahinter
.
org rvec ; Setzen Reset-Vektor
dc.w main
end
Das Anschlußkabel zwischen M68HC11 und Experimentierboard endet auf einem Buchsenfeld, von dem aus die Verbindungen zur Anzeigeplatine bzw. zu den Schaltern, Tastern und LEDs gesteckt werden müssen.
Beachten Sie, daß die LED-Treiber an der Vorderkante des Boards sowie das Board mit den Siebensegmentanzeigen gesondert mit Spannung versorgt werden muß. Ihr Betreuer zeigt Ihnen die entsprechenden Verbindungen am ersten Praktikumstag.

Sie finden auf dem Experimentier-Board auf einer der IC-Buchsen ein Widerstandsarray (WID-SIP) eingesteckt, das acht Widerstände enthält, die auf einer Seite miteinander verbunden sind. Dieser gemeinsame Anschluß ist auf dem Gehäuse des WID-SIP durch einen Punkt gekennzeichnet. Er wird mit +5V verbunden. Die anderen Pins des WID-SIP werden einerseits mit einem Schalter verbunden und andererseits mit einem Eingansport des 68HC11.

Die beiden Taster sind bereits mit einer Entprell-Logik verbunden und liefern korrekte Digitalsignale für 0 und 1. Sie können daher direkt mit einem Eingangspin des 68HC11 verbunden werden.

hx4a psha ; Akku A auf dem Stack ablegen
bsr hx2a ; Akku B umwandeln (Stelle 3 und 4)
pulb ; Akku A vom Stack holen, in Akku B ablegen
; Nun einfach in hx2a fallen und Akku B
; umwandeln (Stelle 1 und 2)
hx2a pshb ; Akku B auf dem Stack sichern
bsr hx1a ; Bits 0-3 von Akku B umwandeln
pulb ; Original-Akku B wieder holen
lsrb ; viermal schieben (Bits 4-7 --> 0-3)
lsrb
lsrb ; und nun die obere Haelfte umwandeln
lsrb ; indem einfach in hx1a gefallen wird
; Nun wird die eigentliche Arbeit gemacht:
hx1a andb #$0F ; die oberen 4 Bits ausmaskieren
addb #48 ; ASCII-Wert von "0" addieren
cmpb #57 ; groesser als "9"?
bls hx1b ; nein, dann speichern
addb #7 ; sonst die Distanz zwischen "9" und "a" addieren
hx1b stab 0,y ; im Speicher ablegen, auf den Y zeigt
dey ; Y zeigt jetzt auf die Stelle davor
rts ; und weg
Beispielaufruf:
ldd #$AFFE ; Hexzahl in Akku D laden
ldy #PUFFER+3 ; Position auf letzte Stelle im Puffer
; der Puffer muss im Datenbereich reserviert sein
bsr hx4a ; do it!
ldy #PUFFER ; y --> Pufferanfang
bsr STOU ; z.B. seriell ausgeben