Herunterladen und Installieren von
MPLab (link defekt)
Zunächst soll mit 'Project/Project Wizard' ein neues Projekt, z.B. mit dem Namen 'p1' erstellt werden.
Den richtigen Prozessor, z.B. PIC16F877A für unser 'kleines Pic-Board' wählen.
Es ist wahrscheinlich eine gute Idee, dem Projekt einen eigenen Ordner z.B. in dem
vorher angelegten Ordner 'pic' zu geben. Dazu mit 'Browse' zu dem Ordner 'pic' verzweigen und mit 'Neuer
Ordner' einen neuen Ordner 'p1' erstellen. Der Bildschirm sieht dann etwa so aus:
Ein Projekt könnte verschiedene
Assembler-Files haben, die zusammengefügt werden müssen.
Das besorgt der Linker.
Er wiederum wird von einer Steuerdatei gesteuert, die in unserem Fall so hinzugefügt werden kann:
'Linker Scripts' markieren und mit der rechten Maustaste 'Add Files' anwählen. Nach
c:/programme/microchip/MPASM Suite/LKR (je nach Installation!) verzweigen und '16f877a.lkr' auswählen.
Mit 'File/New' eine neue Datei erzeugen und unter dem Namen 'p1.asm' im Projektordner speichern. Diese Datei
mit 'Source Files'/rechte Maustaste 'Add Files' dem Projekt hinzufügen.
Der Bildschirm sieht dann etwas so aus:
Ein erstes kleines Programm könnte wie nebenstehend aussehen. Man erkennt drei Typen von Einträgen:
Assembler-Befehle ('org 0x00' (origin) legt den Beginn des Speicherplatzes fest,
'end' steht am Ende des Assembler-Programms)
Maschinen-Befehle ('movlw 0x09' bewegt (move) eine Konstante (Literal)
in das Arbeitsregister w, 'addlw 0x0a' addiert eine Konstante (0x0a = 1010)zu dem Inhalt des
Arbeitsregisters w, das Ergebnis steht dann im Arbeitsregister, 'goto loop' springt zur Marke loop)
Labels (loop)
Mit dem Befehl 'Project/Build all' lässt man sich die Hex-Datei 'p1.hex' samt allen Zwischendateien erzeugen.
Wenn alles gut geht, so erhält man folgende Ausgabe:
Mit 'Debugger/Select Tool/MPLab Sim'
startet man den Debugger. Der Bildschirm hat sich jetzt folgendermaßen
verändert. Der grüne Pfeil im Assembler-Quelltext symbolisiert den
Programmzähler pc (program counter),
der auf den nächsten auszuführenden Befehl zeigt. Gegebenenfalls kann man mit einem CPU-Reset (F6) den pc wieder auf 0
setzen. Übrigens kann man den Inhalt des PC und des W-Registers unten in der Statusleiste ablesen. Sollte einem der Wert
des W-Registers nicht passen, so wählt man 'View/Special Function Registers' und setzt den Wert von 'WREG' direkt
z.B. auf 0.
Jetzt kann man mit 'Step into' die Befehle einzeln durchsteppen.
Hat der Prozessor korrekt addiert? Notfalls sich über
Hexadezimalzahlen kundig machen! Nach dem Addieren wird der
Prozessor in eine Endlosschleife geschickt. Wir haben jetzt bereits fast 10% der Maschinenbefehle kennengelernt!
Zeitmessungen mit dem Debugger
Bevor man die Stopp-Uhr nutzt, muss man mit Debugger/Settings die richtige Prozessor-Frequenz eintragen.