Assembler mit SIOS

TasmEdit für das SIOS-Interface

(28.9.05)

Das SIOS-Interface eignet sich gut für den Einstieg in die Assembler-Programmierung, weil die vorhandenen Ein- und Ausgänge reale Versuche ohne Gefahr für die Hardware ermöglichen. Der im SIOS verwendete Mikrocontroller 80C535 ist 8051-kompatibel mit zusätzlichen Ports, Timern und einem AD-Wandler. Programme können z.B. mit dem beliebten Shareware-Assembler TASM übersetzt werden.

Die Windows-Entwicklungsoberfläche TASMedit wurde ursprünglich für den Basiskurs Mikrocontroller entwickelt und existierte bisher für das Elektor-Flashboard und für das ES52-Flash von AK MODUL-BUS. Es erleichtert die Arbeit mit dem DOS-Assembler TASM. Nun wurde das Programm auch für das SIOS angepasst.

Download: TasmEditSIOS (TasmEditSIOS.zip, 163 kB)
Download TASM (Tasm.zip, 129 kB)

Beide Programme müssen in ein gemeinsames Verzeichnis, z.B. in C:\SIOS entpackt werden. Nach dem Start von TasmEditSIOS kann in das linken Textfenster ein Assembler-Quelltext eingetippt oder geladen werden. Die Schaltfläche TASM ruft Tasm.exe auf und assembliert das Programm. Das Listfile wird dann im rechten Fenster angezeigt. Mit der Schaltfläche RUN wird das Programm schließlich in das SIOS übertragen und gestartet.

In TasmEditSIOS.zip sind drei Beispielprogramme enthalten, die die wichtigsten Besonderheiten des SIOS zeigen. Programme beginnen immer bei der Adresse 8100h. Das erste Programm (Sios1.asm) zeigt den Zugriff auf die digitalen Ausgänge des SIOS über den Port P4 des 80C535.

;Sios1.asm
.org 8100h
   mov  A,#55h
   mov  0E8H,A   ;Port4
ende  
   sjmp ende
.end

Die digitalen Eingänge des SIOS liegen am Port P1 des Prozessors. Mit der .equ-Anweisung können die Portnamen den Registeradressen zugeordnet werden. Das Programmbeispiel Sios2.asm kopiert alle Portzustände von den digitalen Eingängen auf die digitalen Ausgänge.

;Sios2.asm
P1 .equ 090H ;Din
P4 .equ 0E8H ;Dout
.org 8100h
Loop
   mov  A,P1   ;Eingang lesen
   mov  P4,A   ;Ausgang schreiben
   sjmp Loop
.end

Die Zugriffe auf den AD-Wandler und den DA-Wandler im SIOS können sehr einfach durch Aufrufe einzelner Funktionen des SIOS-Betriebssystems ausgeführt werden. Außer den Zugriffen auf die Wandler werden auch die Adressen für RS232-Zugriffe und eine Delayfunktion für eine Millisekunde gezeigt. Beim Lesen des AD-Wandlers übergibt man den Kanal in A und erhält das 8-Bit-Ergebnis in A zurück. Eine analoge Ausgabe über den DA-Wandler benötigt den Ausgabewert in A und den Kanal in B. Das Programm SIOS3.asm misst die Spannugen an den analogen Eingängen A und B und gibt sie unverändert an den analgen Ausgängen A und B wieder aus.

;Sios3.asm
;#include 8051.h
B  .equ    0F0H

RdCOM  .equ  0101h
WrCOM  .equ  0112h
Delay  .equ  0120h
RdAD   .equ  0177h
WrDA   .equ  0558h

.org 8100h
Loop
   mov  A,#0   ;Kanal AinA
   lcall RdAD  ;Messen
   mov  B,#0   ;Kanal AoutA
   lcall WrDA  ;Ausgaben
   mov A,#1    ;Kanal AinB
   lcall RdAD  ;Messen
   mov B,#1    ;Kanal AoutB
   lcall WrDA  ;Ausgaben
   sjmp Loop
.end

Die Entwicklungsoberfläche TasmEditSIOS verwendet beim Aufruf von TASM die Dateien work.asm, work.lst und work.bin. Daher kann die Entwicklungsoberfläche auch zum Laden extern übersetzter Programme in das SIOS verwendet werden. Man kann z.B. den Makrocompiler MC oder einen C-Compiler verwenden. Das übergebene Binärfile muss jeweils in work.bin umbenannt werden.

Siehe auch:
Assembler-Kurs für das SIOS von H.-J. Berndt
Informationen zum Basiskurs Mikrocontroller
Informationen und Software zum SIOS
Softwarearchiv zum SIOS


TASMedit für das ES51

Für dieses ältere System gab es bisher nur Download-Software unter DOS. Nun wurde TASEDIT auch für das ES51 mit 9600 Baud angepasst.

Download: TasmEditES51 (TasmEditES51.zip, 162 kB)


Zurück zur Startseite der MB-News
Zurück zur Startseite AK-Modul-Bus