BT2k
LOGO

Mikrocontroller II
Das erste Programm

Übersetzen in Hexadezimalzahlen
Das erste kleine Programm wird zunächst in Hex-Befehle übersetzt. Diese Hex-Bytes werden dann in den Speicher des Sios übertragen und als Programm gestartet.
 
 
      MOV  A,#85
      MOV  0E8H,A
 ende LJMP ende
Mit der Tabelle die Befehle übersetzen
Der Befehlsübersicht kann entnommen werden, welcher Befehl welchem Byte entspricht. MOV A,#DATA; entspricht 74h. Die Dezimalzahl 85 entspricht #DATA, damit wird aus dem ertsen Befehl 74h 55h. MOV DIREKT,A; entspricht F5h; Die interne RAM-Adresse entspricht E8h. Der zweite Befehl lautet dann F5h E8h. Der absolute Programmsprung LJMP wird mit 02h übersetzt. Nun muss noch das Sprungziel (ende) angegeben werden. Hier wird 81h 04h eingetragen.

Wohin mit dem Programm?
Sios Programme sollten ab der Adresse 8100h abgelegt werden. Die Übertragungsroutine geht ebenfalls von dieser externen RAM-Adresse aus. Damit sieht nach der Programmübertragung der Speicher im Sios wie folgt aus:
   8100 74 55
   8102 F5 E8
   8104 02 81 04
In obiger Darstellung sieht man deutlich, was ein Zwei- bzw. Dreibyte-Befehl ist. Dem absoluten Sprung 02 folgt zunächst das Highbyte und danach das Lowbyte der Zieladresse. 

      Adr. Byte
      8100  74
      8101  55
      8102  F5
      8103  E8
      8104  02
      8105  81
      8106  04


 Sub BlinkBin()
     A$ = "7455F5E8028104"
     ix = 1
     INITSIOS 1
     'Systemreset
 ....
Programm übertragen
Nun wird das Excel-Blatt geladen und mit ALT+F11 der VBA-Editor aufgerufen. Es sollte das Modul SIOS angezeigt werden. Dort sucht man unten die Subroutine "BlinkBin" und ändert entsprechend der nebenstehenden Abbildung den Inhalt der Zeichenkette A$.

Mit dem Start der Sub Blinkbin() und angeschlossenem Sios an Com1, wird das 7-Byte-Programm in den Speicher übertragen.


Mikrocontroller III
.
Startseite Bücher Software SatTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt