Notwendige Downloads
NEU: Bedienungsanleitung zur Open-Micro, Open-Mini und Open-Midi - Version 14.0 (zum Offline-Lesen)
| ||
NEU: Bedienungsanleitung zur Open-Macro und Open-Maxi - Version 7.0 (zum Offline-Lesen)
| ||
Open-Control/BASIC-Compiler - Version 1.11 (16 Bit & 32 Bit)
| ||
NEU: Übertragungstools für Windows und DOS
| ||
Aktuelle Include-Datei für Open-Micro und Open-Mini in OCBASIC
| ||
Aktuelle Include-Datei für Open-Midi in OCBASIC
| ||
Aktuelle Include-Datei für Open-Macro in OCBASIC
| ||
Aktuelle Include-Datei für Open-Maxi in OCBASIC
| ||
Aktuelle Include-Datei für Firmwareroutinen in OCBASIC
|
Ein Mikrocontroller mit zwei Betriebssystemen: Die Open-Midi und Open-Macro
Zusätzliche Downloads
Alternative Entwicklungsumgebungen, Compiler und Tools
Wechsel von C-Control/Micro auf Open-Micro
Downloads für fortgeschrittene Anwender
Verschiedenes
Experimentelles
Die Open-Midi und Open-Macro basieren auf dem gleichen Mikrocontroller. Deshalb läßt sich das Betriebssystem in-system wechseln.
Die Open-Midi hat den meisten Speicher, während die Open-Macro vollständiges 16-Bit-Handling, eine Hardware-RS232, 10-Bit-ADC und Programmdownload mit bis zu 38400 Baud bietet. Außerdem ist das Filehandling und LOOKTAB wahlweise im Byte- oder Word-Format möglich.
ZIP-Archiv
Kommentar
Wechsel zwischen Open-Midi und Open-Macro
Mit den hier zur Verfügung gestellten Programmen läßt sich das Betriebssystem der Open-Midi durch das Betriebssystem der Open-Macro komfortabel ersetzen. Der Wechsel in die Gegenrichtung ist genauso einfach möglich. Bitte die Datei INFO.TXT lesen.
Kurzdoku zur Open-Macro
Hier wird die neue Open-Macro anhand einiger Beispiele kurz vorgestellt.
Hier noch ein paar nützliche Downloads in Form von Treibern, Erweiterungsmodulen und Beispielprogrammen. Die ZIP-Archive können zum Beispiel mittels Winzip entpackt werden. Nach dem Entpacken wird üblicherweise in der Datei INFO.TXT erklärt, wie die Programme zu benutzen sind.
ZIP-Archiv
Kommentar
NEU: Auflistung der Demoprogramme
Einige Anwender haben im Forum etliche nützliche Beispielprogramme für die OM-Controller veröffentlicht. Hier ein Link auf die Auflistung.
NEU: Preiswerte LED-Matrix-Anzeige auf der Open-Maxi
Das preiswerte auf dem MAX7219 basierende "8x32 Dot-Matrix-LED-Display-Modul" von AZ-Delivery per Open-Maxi ansprechen.
Es kann über Amazon bezogen werden und kostet zur Zeit nur 9,99 EUR.
Beim Modul handelt es sich um eine LED-Dot-Matrix-Anzeige mit 256 (4*64) LEDs. Sie
wird von vier Treiberchips "Maxim 7219" angesteuert. Jeder MAX7219 steuert
dabei 8*8 LEDs. Die vier ICs sind hintereinander geschaltet und werden
über einen SPI-Bus angesprochen. Die Betriebsspannung darf 3 bis 5 Volt betragen.
NEU: Servomotoren für Open-Maxi mittels Basic++
Der E-Mail-Kontakt mit einem Open-Maxi-Anwender hat mich auf ein Problem aufmerksam gemacht, was auftritt, wenn die Open-Maxi mit Basic++ programmiert wird. Es lassen sich dann die beiden Digital-Analog-Ports der Open-Maxi nicht auf Servo-Betrieb konfigurieren. Wenn die C-Control I Versionen 1.2 und 2.0 mit Basic++ programmiert werden, nimmt das Basic++-Programm Konfigurationen am Controller vor, um die DA-Ports auf Servobetrieb zu konfigurieren. Diese Konfiguration muß bei der Open-Maxi auf andere Art und Weise durchgeführt werden. Um das zu bewerkstelligen, muß auf Assembler zurückgegriffen werden.
Preiswertes OLED-I²C-Grafikdisplay auf der Open-Maxi
Das preiswerte 0.96 Inch OLED-I2C-Display von AZ-Delivery per Open-Maxi ansprechen.
Das Display ist grafikfähig und besitzt eine Auflösung von 128 mal 64 Pixel.
Es kann über Amazon bezogen werden und kostet zur Zeit nur 5,99 EUR bei
kostenlosem Versand.
Das Display basiert auf der Controllertype SSD1306 und verfügt über einen
I²C-Bus. Es wird an den I²C-Bus der Open-Maxi angeschlossen.
Die Betriebsspannung darf 3 bis 5 Volt betragen.
Im ZIP-Archiv enthalten sind zwei Demoprogramme: Einmal für Text und eines
für Grafik.
Als kleine Grafikdemo ein Splash-Screen.
Im Forum gibt es auch ein kleines Programm, das die
Mandelbrot-Menge
berechnen und auf dem Display darstellen kann.
Für echte Grafik benötigt man
meinen Quellen nach zu urteilen wohl einen Displaybuffer mit 1024 Byte
Größe im Controller. Die Open-Maxi würde das unterstützen, aber nicht die
kleinen OM-Controller. In einem Beitrag im Forum habe ich das realisiert.
Das Beispielprogramm kann Linien und Kreise auf dem Display zeichnen.
Patch für preiswerte I²C-LCD-Module auf der Open-Maxi
Besonders bei eBay gibt es in letzter Zeit sehr preiswerte I²C-LCD-Module,
die für den Arduino entworfen wurden. Leider haben diese eine andere
Pinbelegung zwischen dem I²C-Portexpander PCF8574 und dem LCD als es das
Open-Maxi-Betriebssystem voraussetzt. Doch in diesem Code ist ein Konverter
enthalten. Mit Hilfe des On-Chip-Debuggers wird ein sogenannter ROM-Patch
realisiert. Die Ausführung des Betriebssystems wird an einer bestimmten
Stelle unterbrochen und dann eigener Code ausgeführt. Danach wird die
Ausführung des Betriebssystems an einer darauffolgenden Stelle fortgesetzt.
Übrigens funktionieren mit diesem Code auch I²C-LCDs von CCTools.
Komfortable 32-Bit-Arithmetik auf der Open-Maxi
Bisher gab es eine Erweiterung für Grundrechenarten in 32 Bit für alle OM-Controller. Diese ließ sich aber nur recht umständlich verwenden.
Im nebenstehenden ZIP-Archiv ist eine Erweiterung für komfortable 32-Bit-Arithmetik auf der Open-Maxi enthalten. Alle OCBASIC-Befehle wurden auf LONG erweitert. Es stehen nun 1024 Byte User-RAM mittels LONG-Variablen zur Verfügung. Die Open-Maxi kann jetzt Zahlen von -2147483648 bis +2147483647 verarbeiten. Auch ein schnelles 32-Bit-SQR ("Wurzelziehen") ist enthalten.
Die 32-Bit-Funktionalität läßt sich nur mit dem beiliegenden OCBASIC-Compiler Version 1.12 nutzen. Es handelt sich um eine experimentelle Version. Mittels "OPTION 32BIT" muß die 32-Bit-Funktionalität am Quelltextanfang freigeschaltet werden.
Enthalten sind auch zwei Testsuites inklusive Sourcecode, mit denen die Erweiterung mit Hilfe von Zufallszahlen überprüft werden kann.
Schnelles Bit-Feld mit über 10000 Elementen auf der Open-Maxi
Die Open-Maxi bietet dem Anwender über 1800 Byte freies RAM.
In diesem Programmpaket befinden sich in Assembler geschriebene Routinen,
mit deren Hilfe im RAM ein schnelles Bit-Feld mit über 10000 Elementen realisiert werden kann.
Jedes Element des Bit-Feldes kann den Zustand ON oder OFF annehmen.
Als Beispielcode habe ich unter anderem eine
Primzahlberechnung beigefügt.
Im Forum ist außerdem die Computersimulation Game Of Life (Spiel des Lebens) und der Bresenham-Algorithmus zum Zeichnen von Linien, Kreisen und Ellipsen zu finden.
Zweite Serielle Schnittstelle auf der Open-Maxi
Das Betriebssystem der Open-Maxi unterstützt eine Serielle Schnittstelle mit Empfangsbuffer, die mittels SCI2-Modul realisiert ist. Das SCI1-Modul ist also frei.
In diesem Beispielprogramm wird das SCI1-Modul verwendet, um eine zweite
Serielle Schnittstelle auf der Open-Maxi zu realisieren.
Außerdem gibt es im Forum ein Programm, das die zweite Serielle Schnittstelle mit einem Empfangsbuffer ausstattet.
Multithreading für Open-Maxi
In diesem Programmpaket befindet sich ein BASIC-Interpreter für die Open-Maxi, der Multitasking, bzw. Multithreading zur Verfügung stellt. Unter Multithreading versteht man die quasi-parallele Abarbeitung mehrerer Programmsegmente. Eines von diesen Segmenten wird Thread (engl. "Faden") genannt. Beim Multithreading wird in schnellen zeitlichen Abständen zwischen den verschiedenen Threads gewechselt, so daß beim Anwender der Eindruck von Gleichzeitigkeit entsteht. Bitte INFO.TXT lesen.
4 Kanäle Pulsweitenmodulation (PWM) für Open-Macro
Routinen für Pulsweitenmodulation an 4 Ports für Open-Macro. Wie bei der C-Control/Micro arbeitet die PWM mit einer Frequenz von nur 50 Hz. Die PWM ist daher nur zur Generierung von Signalen niedriger Frequenz einsetzbar. Allerdings ist es möglich, die Taktfrequenz durch Verringerung des Wertes im TIM Counter Modulo Register (TMODH und TMODL) zu erhöhen. Die Systemuhr läuft dadurch schneller, aber die Uhrzeitfunktionen lassen sich ohnehin mittels ClockDis deaktivieren.
Servomotoren für Open-Maxi
In diesem ZIP-Archiv befinden sich die Programme servo12.bas und
servoda1da2.bas, mit denen zwei mal zwei Servomotoren auf der Open-Maxi
angesprochen werden können. Die beiden Sourcecodes sind kombinierbar,
so daß gleichzeitig vier Servos steuerbar sind.
Es wäre möglich, das in servoda1da2.bas verwendete Verfahren auch beim
TPM1-Modul anzuwenden und auf diese Weise 6 weitere Servos (insgesamt
also 8) anzusprechen.
Das habe ich in einem Beitrag im Forum demonstriert.
I²C-Bus-Routinen für Open-Maxi
Die Schreib- und Leseroutine für I2C sind bereits im Betriebssystem der
Open-Maxi integriert und werden als Firmwareroutinen zur Verfügung
gestellt. Mit dem in diesem Archiv vorhandenen OMAX_I2C.PRO koennen sie
auch in OCBASIC komfortabel genutzt werden.
Soundausgabe per PWM
Diese Beispielprogramme demonstrieren, wie DA[1] der Open-Maxi
verwendet werden kann, um mit der Soundkarte eines PCs eingesampelte Klänge
mittels PWM auszugegeben. Die Soundausgabe findet im
Hintergrund, während der normalen Programmabarbeitung statt.
Es ist möglich, eigene Klänge aufzunehmen und mit der Open-Maxi abzuspielen.
Fließkommazahlen/Gleitkommazahlen
Dieses Softwaremodul erweitert die Open-Macro und die Open-Maxi um
32-Bit-Fließkommazahlen ("Gleitkommazahlen") im IEEE-Format. Es verwendet
die Float-Routinen für 6805 von Motorola. Der Darstellungsbereich umfaßt
±1,175*10-38 bis ±3,403*1038 bei etwa 7 dezimalen Stellen. Die von den
OM-Controllern verwendeten ganzzahligen, vorzeichenbehafteten 16-Bit-Zahlen
("WORD") lassen sich leicht ins Fließkommazahlen-Format konvertieren.
Ebenso leicht ist die Rückkonvertierung möglich.
Dieses Softwarepaket basiert auf den Fließkommazahlenroutinen FLOAT05COD von
Motorola. Obwohl diese vor über 20 Jahren veröffentlicht wurden, sind sie
leider nicht fehlerfrei. Bisher wurden Fehler in der Additions- und
Divisionsroutine entdeckt und behoben. Außerdem wurde die Divisionsroutine
komplett von GeKue überarbeitet.
UPDATE: GeKue hat auch die Multiplikationsroutine überarbeitet.
Sie ist jetzt 60 Byte kürzer und sollte auch schneller arbeiten.
Die Änderungen sind in einer neuen IEEEFPM.PRO zu finden.
Grundrechenarten in 32 Bit für Open-Micro, Open-Mini und Open-Midi
Grundrechenarten in 32 Bit für Open-Macro und Open-Maxi
Diese Beispielprogramme demonstrieren, wie sich 32-Bit-Arithmetik auf allen OM-Controllern realisieren läßt. Für alle OM-Controller gibt es einen in Assembler erstellten Code, der hohe Verarbeitungsgeschwindigkeit, vorzeichenbehaftete Zahlen und ein schnelles PRINT32 bietet. Für die Open-Micro, Open-Mini und Open-Midi gibt es zusätzlich einen in BASIC erstellten Code.
1-Wire Digitalthermometer DS1820 & Co.
Dieses umfangreiche Gemeinschaftsprojekt von GeKü und Jens Gürtler ermöglicht die Verwendung aller für die "1 Wire"-Digitalthermometer DS1820, DS18S20, DS18B20 und DS1822 vom Hersteller MAXIM vorgesehenen Funktionen auf der Open-Micro bis Open-Macro. Um den zum Betrieb notwendigen Programmplatz so gering wie möglich zu halten, wurden Programme sowohl für eine einzelne Familie als auch zum gleichzeitigen Betrieb aller drei Thermometerfamilien geschrieben. Nach dem Entpacken des ZIP-Archivs wird in der PDF-Datei Lies_Mich.pdf alles Wesentliche erklärt.
Funkuhr-Funktion (DCF77)
Bei Frankfurt am Main steht ein Langwellensender namens DCF77,
der ein von Atomuhren gespeistes Funkuhr-Signal ausstrahlt.
Mittels preiswertem DCF-Empfangsmodul (Conrad-Bestellnummer 641138)
und der Routinen in diesem ZIP-Archiv läßt sich das Signal auch auf der OM nutzen.
Reproduzierung von Infrarot-Signalen
Mit nur wenig Hardwareaufwand kann die OM
beliebig formatierte Infrarotsignale
empfangen und später wiedergeben (reproduzieren).
Die OM kann so unter anderem als lernfähige IR-Fernbedienung eingesetzt
werden, die das Signal einer Fernbedienung "lernen" und später
wieder aussenden kann.
I²C-Bus-Routinen für 100 kHz Bustakt
Routinen für einen I²C-Bus mit 100 kHz Bustakt in OCBASIC und CCBASIC. Außerdem wird in den beiliegenden Beispielprogrammen gezeigt, wie ein I²C-EEPROM, das Videotext-IC SAA5246AP/E und mittels PCF8574-Portexpander ein 4x20-LCD über den I²C-Bus angesprochen werden können. Damit kann nun erstmals an einer Micro ein LCD mit hoher Geschwindigkeit betrieben werden!
Die aktuellsten LCD-Routinen befinden sich allerdings im Beispiel Kleine Pizza-Uhr. Dort wird unter anderem gezeigt, wie sich auf dem LCD komfortabel Strings ausgeben lassen.
Extended Ports für die OM
Ein Nachteil der Open-Micro, Open-Mini und Open-Midi
war bisher deren relativ geringe Portanzahl. Aus diesem Grund lassen sie sich
jetzt mit diesem Softwaremodul um bis zu 64 Extended Ports
erweitern. Die Extended Ports werden mittels PCF8574-I2C-Portexpandern
realisiert und lassen sich in BASIC nach der Aktivierung des Softwaremoduls
genauso wie die normalen Ports ansprechen.
Hardware-RS232 auf der Open-Midi
Der Mikrocontroller QB8, auf dem die Open-Midi basiert, besitzt ein Enhanced Serial Communications Interface (ESCI), also eine Hardware-RS232. In diesem ZIP-Archiv befinden sich eine INCLUDE-Datei und ein Programm namens DEMO.BAS, die
die Benutzung dieses ESCI demonstrieren. Der Empfang findet interruptgesteuert mit 8 Byte großem Buffer statt.
Arithmetikerweiterung für 16-Bit
Bisher gab es zwar Erweiterungsroutinen für die Grundrechenarten, aber diese ließen sich nur
recht unkomfortabel nutzen. Dieses Softwaremodul wird dagegen direkt in den Interpreter eingebunden und erweitert, für den Anwender völlig transparent, so gut wie jede Systemfunktion auf 16-Bit. Sie lassen sich also inklusive Wordvariablen und Wordpointer genauso nutzen wie auf den großen C-Controls.
Pseudo-Zufallszahlen
Dieses Softwaremodul enthält zwei Routinen zur Generierung von 8-Bit-Zufallszahlen mittels 16- und 32-Bit-Generator. Es wird die Methode der linearen Kongruenz verwendet. Im Archiv befindet sich auch ein Chi-Quadrat-Test (Chi-Square), um den Zufallscharakter der produzierten Zahlen zu überprüfen.
8 MHz Bustakt (für alle OM-Controller)
Der Bustakt wird von 3.2 MHz auf 8 MHz erhöht. Die OM wird also genauso schnell getaktet wie die C-Control I UNIT M 2.0. Da die OM oft nur mit Bytevariablen arbeiten muß, schneidet sie in Benchmark-Tests deutlich schneller ab als die neue C-Control. Für die Open-Micro und Open-Mini ist eine Anpassung der seriellen Schnittstelle an den erhöhten Bustakt enthalten, die direkt in den Interpreter eingebunden wird.
Auf der Open-Midi und Open-Macro kann im laufenden Betrieb zwischen 3.2 und 8 MHz hin- und hergewechselt werden. Als Bonus stehen an der 2. Seriellen Schnittstelle (ESCI) der Open-Macro die zwei neuen hohen Baudraten 76800 und 153600 zur Verfügung.
Es wird ein Quarzoszillator im DIP-14-Gehäuse verwendet, den Reichelt unter der Artikelnummer "OSZI 32,000000" für 0,86 EUR anbietet. Auch ein SMD-Quarzoszillator läßt sich verwenden. Dieser hat eine Größe von nur 3,2 x 2,5 mm, ist aber für eine Lastkapazität von nur 15 pF ausgelegt.
I2C-Slave-Master
Es wurde schon mehrfach nach der Möglichkeit gefragt, Daten und Befehle zwischen zwei OM-Mikrocontrollern zu übertragen. Die in diesem ZIP-Archiv vorhandenen Prozeduren stammen von GeKue und ermöglichen es, eine beliebige OM (Micro, Mini oder Midi) als I2C-Slave anzusprechen. Als I2C-Master kann ebenfalls ein beliebiger OM-Mikrocontroller verwendet werden.
SLE-4442-Chipkarten
Softwareroutinen zum Ansprechen der mit 256 Byte EEPROM ausgestatteten Chipkarten SLE 4442 und SLE 4432 von Siemens. Die SLE 4442 kann mit einem 3 Byte großen Sicherheitscode (PSC) schreibgeschützt werden. Nach drei vergeblichen Übermittlungsversuchen des PSC ist die Karte dauerhaft schreibgeschützt. Im Sourcecode sind alle wichtigen Funktionen mittels Subroutinen gekapselt. Die Karten lassen sich also komfortabel nutzen, ohne daß sich der Anwender mit den Interna auseinandersetzen muß. Die Karten sind bei Reichelt Elektronik erhältlich.
Pulsweitenmodulation (PWM)
Routinen für Pulsweitenmodulation an 2 Ports von René Stadler. Wie bei der C-Control/Micro arbeitet die PWM mit einer Frequenz von nur 50 Hz. Die PWM ist daher nur zur Generierung von Signalen niedriger Frequenz einsetzbar. Allerdings ist es möglich, die Taktfrequenz durch Verringerung des Wertes im TIM Counter Modulo Register (TMODH und TMODL) zu erhöhen. Die Systemuhr läuft dadurch schneller, aber die Uhrzeitfunktionen lassen sich ohnehin mittels ClockDis deaktivieren. In den Beispielen wird auf mögliche Probleme wie Phasenfehler hingewiesen.
Servo-Ansteuerung
Drei Demoprogramme zur Servo-Ansteuerung von René Stadler.
Das Servo-Signal läßt sich an einem beliebigen Digitalport der OM ausgeben.
Dieses Beispiel zeigt eine Realisierungsmöglichkeit für INLINE-Interrupt-Assemblerroutinen (IIARs) in CCBASIC.
Interruptgesteuerter serieller Empfang
Ein Demoprogramm für interruptgesteuerten seriellen Empfang an Port[2] (PTA1) oder Port[1] (PTA0) von René Stadler. Es kann ein Ringpuffer mit einer Größe von bis zu 32 Byte verwendet werden.
Grundrechenarten mit 16-Bit-Festkommazahlen
Ein Beispielprogramm für binäre 16-Bit-Festkommazahlen mit einem 8 Bit großen Nachkommaanteil. Im obenstehenden ZIP-Archiv mit den 32-Bit-Grundrechenarten ist demonstriert, wie man den ganzzahligen Anteil vergrößern kann. Mit dem Nachkommananteil kann man ähnlich verfahren.
7-Segment-Anzeige über I²C-Bus
Dieses Programm zeigt, wie eine 7-Segment-Anzeige mittels SAA 1064 über den I²C-Bus mit der OM verbunden werden kann. Es stammt ursprünglich vom Entwickler der neuen C-Control-1-Versionen, wurde aber von Eckhard Raetz an die OM angepaßt und freundlicherweise zur Verfügung gestellt.
Demo zur AD-Wandlung und zu Kommazahlen
Das Beispiel demonstriert, was auf der OM bei der Nutzung der AD-Ports zu beachten ist. Außerdem wird gezeigt, wie der gemessene Spannungswert als Kommazahl über die serielle Schnittstelle ausgegeben werden kann.
Kleine Pizza-Uhr auf der Open-Macro
Dieses kleine Beispielprogramm demonstriert, wie Tasten des PE-Boards
abgefragt und daraufhin Signale erzeugt werden. Auch bei einem Sekundenwechsel wird ein Signal erzeugt. Ausgewertet werden die Signale in einem
sogenannten Zustandsautomaten. Die Ausgabe findet auf dem an BYTEPORT[2]
angeschlossenen I2C-LCD von Conrad Electronic (Bestellnr. 198330) statt.
Darüber hinaus wird gezeigt, wie auf dem LCD komfortabel Strings (also
Texte) ausgegeben werden können.
Als kleinen Bonus gibt es zwei weitere Programme, die ebenfalls I2C-LCDs nutzen.
I²C-EEPROM und I²C-LCD
Routinen, die das Zusammenspiel von im EEPROM gespeicherten Texten und Ziffern und einem per PCF8574 angeschlossenem LCD auf einer Open-Mini über die I2C-Schnittstelle demonstrieren.
Assembler-Hilfsroutinen von GeKü
Hilfsroutinen einschließlich Testprogramm zur Fehlersuche in
Inline-Assembler-Programmen.
Diverse Beispielprogramme
Eine Sammlung mit diversen Beispielprogrammen, mit denen die Open-Micro während der Betatest-Phase überprüft wurde. Enthalten ist ein Disassembler in OCBASIC, die Demonstration des Datei-, Pointer- und Fehlerhandlings, Aufruf von Firmwareroutinen in Assembler, ein einfaches Hexdump-Utility, das Benchmark-Programm und Demos für Inline-Assembler und die BASIC-Interruptroutine.
NEU: Timeout für GET an der Seriellen Schnittstelle
NEU: Nimm-Spiel, bzw. Nim-Spiel
NEU: TPM1CH0-Interrupt nutzen
NEU: TPM1CH0-Interrupt nutzen - Single Shot
NEU: BEEP-Interrupt nutzen
NEU: BEEP-Interrupt nutzen in 32 Bit
NEU: Timer/PWM-Module (TPM) auf Deutsch erklärt
NEU: Labyrinth-Spiel auf dem I²C-Text-LCD
NEU: Eine Zahl zwischen -16384 und 16383 erraten lassen
NEU: Rechnen mit einer Quadratischen Gleichung in 32-Bit II
NEU: Rechnen mit einer Quadratischen Gleichung in 32-Bit
NEU: Symbolrätsel erstellen/generieren
NEU: Schalthysterese verstehen und anwenden (mit Bild)
NEU: 8x32 Dot-Matrix-LED-Display-Modul mit MAX7219
NEU: Sortieren eines WORD- und BYTE-Feldes
NEU: Spiel "Wörtersuchen"
NEU: Palindrom-Test
NEU: Viermal "Turm von Hanoi"
NEU: Spiel "Mini-Schiffeversenken"
NEU: Lied "Stille Nacht" auf der Open-Maxi
NEU: Schneller Sinus, Cosinus und Tangens
NEU: Spiel "Black-Jack", auch "17 & 4" genannt
NEU: Arabische Zahl in römische Zahl umwandeln
NEU: Ziegenproblem
NEU: Echtzeituhr (Real Time Clock, RTC) mit DS3231
NEU: Scan vom I²C-Bus
NEU: Zweite Serielle Schnittstelle mit 255-Byte-Empfangsbuffer
NEU: Universeller Ringbuffer für 255 Bytes
NEU: Spiel "Kopfrechnen" - für geistige Fitneß
NEU: Nummer des Tages ermitteln
NEU: 512 Tagessprüche
NEU: Eingrenzung des Wertebereichs von Zufallszahlen
NEU: "Nibbles" mit Arduino-Anschlußbelegung und WASD
NEU: Spiel "Nibbles" auf dem I2C-LCD
NEU: I²C-LCD mittels Portexpander PCF8574A ansprechen
NEU: Lied "Stille Nacht", bzw. "Silent Night"
Wörterraten mit ROT13-Verschlüsselung
Wörterraten (Hangman, Galgenmännchen)
Open-Maxi abbremsen auf Original-C-Control-Niveau
Zwei OLED-I2C-Displays gleichzeitig am I2C-Bus
Smilies im Terminalprogramm
RTC-Modul DS3231 von Norbert
Adresse von Tabellen oder von Code bestimmen ohne Assembler
Adresse von Tabellen oder von Code bestimmen
Countdown mittels Zustandsautomat
Fakultätsberechnung mittels FOR..NEXT-Schleife
Fakultätsberechnung mittels Rekursion
DTMF-Signale mittels PWM
Preiswerte I²C-LCD-Module mit den kleinen OM-Controllern von Joe Fenk
GPS-Modul auslesen (NMEA-Parser)
Geschwindigkeit von Code, der mit OCBASR kompiliert wurde
Entfernung per Ultraschall-Modul HC-SR04 ermitteln
OLED-I2C-Grafikdisplay: Zufällige Kreise
OLED-I2C-Grafikdisplay: Linien und Kreise
OLED-I2C-Grafikdisplay: Mandelbrot-Menge
Pulsweitenmodulation (PWM) konfigurieren
Geschwindigkeit der schnellen DBNZ-Schleifen
Timer/PWM-Module für 8 Servo-Ports umkonfigurieren
Alle 16 Analog-Digital-Eingänge nutzen
Anzahl der Variablen auf der Open-Maxi
Interner Temperatur-Sensor bei variabler Betriebsspannung
Internen Temperatur-Sensor nutzen
Interne Bandgap-Spannungsreferenz nutzen
Ein einfacher 6808-Disassembler
Wochentagsberechnung für alle OM-Controller
Wochentagsberechnung
Serielle Schnittstelle mit 7 Datenbits
Tasten abfragen
HEX$ für BYTE-Variablen
Periodendauer eines sehr langsamen Rechtecksignals ermitteln
Periodendauer eines Rechtecksignals an FREQ1 ermitteln
Verzögerungsschleife mit Vielfachen von 100 µs
ON..TIMER-Funktionalität
Ein Spiel auf dem I²C-LCD: "Meteor-Mess"
Selbstdefinierte Zeichen auf dem I²C-LCD
Mondphasenberechnung mit Integer-Arithmetik
Reset-Historie per "System Reset Status Register"
DCF77-Simulator
Laufschrift auf dem I²C-LCD
Bresenham-Algorithmus für Ellipsen
Betriebssystem der Open-Macro mittels CRC prüfen
Betriebssystem der Open-Maxi mittels CRC prüfen
Bresenham-Algorithmus für Kreise
Bresenham-Algorithmus für Linien
Auf richtigen OM-Controller testen
Game Of Life (Spiel des Lebens)
Fehler-Behandlung mit RunOnErr
PrintHex im BYTE-Format
Arrays auf den OM-Mikrocontrollern
TIMER-Takt auf der Open-Maxi erhöhen
Assemblerkurs für die OM-Mikrocontroller - Teil 1
Assemblerkurs für die OM-Mikrocontroller - Teil 2
Assemblerkurs für die OM-Mikrocontroller - Teil 3
Assemblerkurs für die OM-Mikrocontroller - Teil 4
Mit skalierten Werten rechnen
Auswirkungen der Drive-Strength-Kontrolle
Auswirkungen der Slew-Rate-Kontrolle
AD-Ports nicht mehr floaten lassen
Oszillator aussetzen lassen auf der Open-Maxi
Strom sparen auf der Open-Maxi
Schnellere Serielle Schnittstelle
Entfernungen mit Ultraschallmodul HC-SR04 messen von Norbert Klein
Tastverhältnis eines Rechtecksignals ermitteln
Periodendauer eines Rechtecksignals ermitteln
LC-Display mit SSD1803-Controller von Norbert Klein
Schnelle 32-Bit-Wurzelfunktion von Joe Fenk
32-Bit-Arithmetik von Joe Fenk
32-Bit-Quadratwurzel von GeKue
GPS-NMEA-Daten auswerten von Joe Fenk
ESCI-Demoprogramm von Joe Fenk
Assemblerroutinen für 32 Bit von GeKue
Software-Watchdog für die Open-Maxi
Software-Watchdog für die kleinen OM-Controller
Zwei Ausgänge unabhängig mit einem Taster schalten von Jens Gürtler
"Flackerlicht" auf Open-Micro
Spiel "Senso"
BEEP während Programmausführung
Dezimale Kommazahl auf dem LCD
Interne BANDGAP-Spannungsreferenz
PEEK und POKE (8 Bit & 16 Bit)
Tabellenzugriff in Assembler
Port toggeln in Assembler
Anzahl der Stapelspeicher in Assembler
Bis zu 8 Servos mit Open-Macro von Olaf Stermann
Messung Pulsbreite 0,5 bis 1,5 ms bei 20 ms Duty cycle
PWM Takt 100 bzw. 200Hz statt 50Hz von Joe Fenk
Heizgriffsteuerung für Motorräder von Andreas Rutenberg
LCD-Display-Ansteuerung über den I2C-Bus von Jens Gürtler
PCA9530-Demo von Jens Gürtler
Frequenz einlesen, verändern und wieder ausgeben von Georg
20 µs Timerauflösung auf der Open-Macro
Idee zum LCD-Grafikdisplays eDip240 auf der Open-Midi
IRQ an PORT[3], FREQ1 an PORT[4], PWM an PORT[2] und RS232 an PORT[1]
AD-Wandler der Open-Midi auf 10-Bit-Modus umschalten
Anwender-Interrupt-Assemblerroutine auf der OM
Rechtecksignale per Interrupt generieren
IRQ an PORT[3] und FREQ1 an PORT[4]
Kurze Impulse mit einer OM messen
BASIC-Interruptroutine bei einem Keyboard-Interrupt aufrufen
RC5-IR-Empfang auf der Open-Micro
Hostmode starten per RS232
PWM-Frequenz erhöhen und Echtzeituhr nutzen & Folgende
Musik mit der Open-Micro
Einige Anwender haben im Forum nützliche Beispielprogramme für die OM-Controller veröffentlicht. Hier einige Links zu den Beiträgen.
Wer möchte, kann seine Beispielprogramme oder Softwaremodule ebenfalls ins Forum stellen. Falls sie zu lang dafür sind, sollten sie aber an mich per E-Mail gesandt werden. Ich stelle sie dann auf die Download- oder Projekte-Seite.
Wenn Programme ins Forum gestellt werden, bitte den Quellcode mit den CODE-Tags formatieren: <code>Quellcode</code>
Integrierte Entwicklungsumgebungen (IDEs) für die C-Control I eignen sich oft auch zur Programmierung der OM.
ZIP-Archiv
Kommentar
NEU: Open-Maxi für Sprint-Layout
Rico Seifert alias MECler war so freundlich, mir sein Makro der Open-Maxi für Sprint-Layout zuzuschicken. Es kann mit seiner Genehmigung hier heruntergeladen werden.
NEU: Konfiguration der ConTEXT-IDE für Syntaxhighlighting in Open-Control/BASIC. Außerdem Einbindung der CCBASIC-Hilfedatei. Version 2.3.
Die Konfigurationsdatei OCBASIC.CHL muß in das Highlighters-Verzeichnis im Installationsverzeichnis der ConTEXT-IDE kopiert werden. Anschließend steht in der ConTEXT-IDE die Syntaxhervorhebung für Open-Control/BASIC zur Verfügung.
Zusätzlich wird die CCBASIC-Hilfe in OCBASIC-Sourcecodes verwendet, sofern C-Control/BASIC für Windows installiert ist und der richtige Pfad zur Hilfedatei konfiguriert wurde.
In der Version 2.1 wurden die Assemblerbefehle PSHA, PSHX, PSHH, PULA, PULX und PULH hinzugefügt. Außerdem wurde ein Fehler im Filter beseitigt.
In der Version 2.2 wurde der Zeichensatz DOS7X12.FON hinzugefügt. Außerdem wird nun die aktuelle Zeile hervorgehoben.
In der Version 2.3 wurden die Assemblerbefehle BCC und BCS hinzugefügt. Außerdem werden Zahlen jetzt rot angezeigt.
NEU: Echter BASIC-Compiler OCBASR (16 & 32 Bit)
Mit dem Compiler OCBASR lassen sich OCBASIC-Programmteile für alle OM-Mikrocontroller ohne großen Aufwand typischerweise um den Faktor 3 bis 4 beschleunigen! Mit diesem echten Compiler werden die Programmteile in die Maschinensprache der 6808-CPU umgewandelt.
Enthalten sind auch zwei automatische Programmtests ("Testsuite") für die Open-Macro und Open-Maxi.
Ich habe dem ZIP-Archiv auch zwei ältere 16-Bit-DOS-Versionen hinzugefügt. Diese unterstützen nicht die aktuellsten OM-Controller, benötigen dafür aber weniger DOS-Speicher.
In-System-Debugger
In diesem ZIP-Archiv befindet sich ein In-System-Debugger für alle
OM-Controller.
Der In-System-Debugger besteht aus zwei Teilen: Ein Teil wird in die OM
übertragen und in den Interpreter eingebunden. Ein anderer Teil läuft auf dem
PC und übernimmt die Steuerung. Es handelt sich dabei um ein Win32-Programm.
Der Teil in der OM wird jedesmal aktiviert, nachdem ein neuer Tokenbefehl aus
dem Speicher geholt wurde. Das ist unmittelbar bevor der Tokenbefehl vom
Interpreter ausgeführt wird.
Der Debugger wird über die PC-Tastatur gesteuert. Es werden die Befehle L, V,
S, B, D, R, W und T unterstützt.
Terminalprogramm in 32-Bit
Terminalprogramm für neuere Windowsversionen, auf denen TERMINAL.EXE für DOS nicht arbeitet. Es handelt sich um ein 32-Bit-Consoleprogramm, das in die ConTEXT-Entwicklungsumgebung eingebunden und auf Tastendruck gestartet werden kann. Es hat die gleichen Übergabeparameter wie TERMINAL.EXE für DOS. Hilfe durch "Terminal32 /?".
Studie zum DBG-Modul für Open-Maxi - Version 1.1
Dieses Beispielprogramm demonstriert, wie das "On-Chip Debug System" (DBG) des MC9S08AW60-Mikrocontrollers verwendet werden kann, um eigene Assemblerprogramme zu debuggen. Es wird gezeigt, wie ein Breakpoint gesetzt wird, um das Assemblerprogramm an einer beliebigen Stelle zu unterbrechen. Im Manual zum Controller wird außerdem beschrieben, wie auch andere Triggermodi verwendet werden können.
Es handelt sich um die Version 1.1 der Studie. Sie
unterstützt nun auch Firmwareroutinen-Aufrufe in der zu debuggenden
Assemblerroutine.
Studie zum BRK-Modul für Open-Macro
Dieses Beispielprogramm demonstriert, wie das "Break Module" (BRK) des MC68HC908QB8-Mikrocontrollers verwendet werden kann, um eigene Assemblerprogramme zu debuggen. Es wird gezeigt, wie ein Breakpoint gesetzt wird, um das Assemblerprogramm an einer beliebigen Stelle zu unterbrechen. Leider unterstützt das BRK-Modul, anders als das DBG-Modul der Open-Maxi, keine weiteren Triggermodi.
Studie zum BRK-Modul für Open-Micro, Open-Mini und Open-Midi
Dieses Beispielprogramm demonstriert, wie das "Break Module" (BRK) der kleinen OM-Mikrocontroller verwendet werden kann, um eigene Assemblerprogramme zu debuggen. Es wird gezeigt, wie ein Breakpoint gesetzt wird, um das Assemblerprogramm an einer beliebigen Stelle zu unterbrechen. Leider unterstützt das BRK-Modul, anders als das DBG-Modul der Open-Maxi, keine weiteren Triggermodi.
Downloadtool für Windows 8
Bei Michael Hoyer funktioniert mein Downloadtool OMDLWIN.EXE nicht unter Windows 8. Deshalb hat er ein eigenes kleines Downloadtool für die OM-Controller erstellt.
Terminalprogramm für Windows
In diesem ZIP-Archiv befinden sich ein von Jens Gürtler speziell für die OM-Controller entwickeltes
Terminalprogramm.
Es ist lauffähig unter Windows 95, 98, Me, NT, 2000, XP, Vista und 7.
Das Terminalprogramm kann in
die ConTEXT-Entwicklungsumgebung eingebunden und auf Tastendruck
gestartet werden. Es hat die gleichen Übergabeparameter wie TERMINAL.EXE für DOS.
NEU: CCBASIC für Windows 10
Zwar läßt sich C-Control/BASIC Version 1.33 für Windows 95/98/NT unter Windows 10 ausführen, aber leider nicht installieren. Deshalb habe ich ein ZIP-Archiv mit einem fertig installierten CCBASIC erstellt und biete es hier zum Download an. Es muß heruntergeladen und in das Verzeichnis "C:\CCBasic" entpackt werden. Anschließend läßt sich die Verknüpfung "C:\CCBasic\Ccew32d.exe" auf den Windows-Desktop kopieren. Mit Hilfe der Verknüpfung kann dann CCBASIC gestartet werden.
Unter neueren Windows-Versionen funktionierte die kontextsensitive Hilfe nicht. Es kam die Fehlermeldung "Die Registerkarte Suchen kann nicht angezeigt werden. (177)". Ich habe jetzt dem ZIP-Archiv eine alte CCEW32D.FTS-Datei hinzugefügt, um dieses Problem zu beheben.
CCBASIC für Windows:
für Open-Micro, Open-Mini und Open-Midi
oder
für die Open-Macro
Eine gepatchte DLL für die integrierte
Entwicklungsumgebung von C-Control/BASIC-Windows Version 1.33, um die
Open-Micro, Open-Mini, Open-Midi und Open-Macro in CCBASIC programmieren zu können.
Die Original-DLL sollte nicht überschrieben, sondern sinnvollerweise umbenannt werden.
Wer alle OM-Controllertypen mit CCBASIC programmieren möchte, sollte die DLL für die Open-Macro
verwenden. Allerdings muß der Anwender dann selber darauf achten, keine Features zu benutzen,
die von den kleinen OM-Controllern nicht unterstützt werden (z.B. WORD-Variablen).
NEU: CCPLUS für Windows 10
Zwar läßt sich C-Control/Plus Version 1.08 für Windows 95/98/NT unter Windows 10 ausführen, aber leider nicht installieren. Deshalb habe ich ein ZIP-Archiv mit einem fertig installierten CCPLUS erstellt und biete es hier zum Download an. Es muß heruntergeladen und in das Verzeichnis "C:\CCPlus" entpackt werden. Anschließend läßt sich die Verknüpfung "C:\CCPlus\Ccplus" auf den Windows-Desktop kopieren. Mit Hilfe der Verknüpfung kann dann CCPLUS gestartet werden.
CCPLUS für die kleinen OM-Mikrocontroller
Patch für C-Control/Plus Version 1.08, damit das LCD-Modul auch in Programmen für die kleinen OM-Mikrocontroller benutzt werden kann.
Das war bisher nicht möglich, weil die OM zu schnell arbeitet. Außerdem wurde der Fehler im Modul "Einlesen als Text" behoben.
Die Originaldateien der CCPLUS-Installation sollten nicht überschrieben, sondern vor dem Patchen umbenannt werden.
NEU: CCPLUS-LCD mit Open-Maxi
Die Open-Maxi arbeitet das CCPLUS-Programm deutlich schneller ab, als die
C-Control 1.1. Deshalb müssen alle CCPLUS-Programme, die den LCD-Block
verwenden, zu Beginn im SLOWMODE gestartet werden, damit die Initialisierung
des LCD korrekt erfolgen kann. Nach der einmal notwendigen LCD-Initialisierung
kann dann wieder in den FASTMODE zurückgeschaltet werden.
OM-Schablone für C-Control/PLUS
Mit der OM-Schablone lassen sich mit CCPLUS auch jene Funktionen der
OM-Mikrocontrollerfamilie verwenden, für die der CCPLUS-Blockvorrat keine
Entsprechung kennt. Dies sind u.a. die Steuerung der internen
Pull-up-Widerstände, Hostmodus, Aktivierung der Hardware-RS232 mit Open-Macro,
zusätzliche Baudraten, und weitere.
PWM für C-Control/PLUS
Routinen für Pulsweitenmodulation an PORT[2] mit CCPLUS. Sie stammen vom |_ Team und basieren auf den
Routinen von René Stadler. Sie funktionieren mit Open-Micro bis Open-Macro.
Wie bei der C-Control/Micro arbeitet die PWM mit einer Frequenz von nur 50 Hz.
Die PWM ist daher nur zur Generierung von Signalen niedriger Frequenz einsetzbar.
mBasic (externer Link, nicht erreichbar)
mBasic (gepatchte Version)
NEU: mBasic9,0,5,37.zip (aktuellste Version)
Patrick Borek hat freundlicherweise in seine Programmiersprache mBasic nun auch Support für die Open-Micro und Open-Mini integriert. Dadurch entfällt das bisher notwendige Patchen der Entwicklungsumgebung. Die zusätzlichen Features der OM-Mikrocontroller werden allerdings nicht unterstützt. Außerdem sind einige Funktionen von mBasic nur auf einer B-Control verfügbar.
Leider ist die Website von mBasic seit einiger Zeit nicht mehr zu erreichen. Aus diesem Grund
biete ich wieder die von mir gepatchte mBasic-Version zum Download an. Der Patch ersetzt in mBasic die
C-Control durch die Open-Micro. Der Anwender muß selber darauf achten, keine Features zu
benutzen, die von den OM-Controllern nicht unterstützt werden.
Im nebenstehenden ZIP-Archiv ist die aktuellste Version von mBasic enthalten. Es unterstützt wohl
auch die Open-Micro und Open-Mini. Leider kann ich keine Verbindung zur Open-Maxi aufbauen, was
wohl daran liegt, daß mBasic von einer Single-Wire-Schnittstelle mit Echo ausgeht. Was ich außerdem
feststellen mußte: Wenn man mBasic so konfiguriert, daß Code für die OM-Mikrocontroller erstellt wird,
dann werden weder Word-Variablen noch Strings unterstützt!
DOS-IDE für die OM-Mikrocontroller
Dieses ZIP-Archiv enthält die leicht modifizierte integrierte Entwicklungsumgebung (IDE) für den von Conrad Electronic entwickelten C-Control/BASIC-Mikrocontroller, allerdings angepaßt an die Open-Micro und den Open-Control/BASIC-Compiler. Ein großer Vorteil der DOS-IDE ist, daß diese auf jedem Rechner, auf
dem DOS oder Windows installiert ist, sofort lauffähig ist. Der Compiler OCBASIC, der Assembler AS05, ein Terminalprogramm, etc. wurden bereits in die IDE integriert.
Einbinden des CCBASIC-Compilers in die ConTEXT-IDE:
Benutzerbefehl 1 (F9) und Benutzerbefehl 2 (F10)
Diese beiden Bilder zeigen, wie der CCBASIC-Compiler CCBAS.EXE und das Downloadtool OMDL.EXE in die ConTEXT-IDE eingebunden werden können. Alternativ lassen sich natürlich auch der OCBASIC-Compiler OCBAS.EXE und das Downloadtool OMDLWIN.EXE verwenden.
Einbinden des AS05-Assemblers in die ConTEXT-IDE:
Benutzerbefehl 1 und Benutzerbefehl 2
Diese beiden Bilder stammen von Gerhard Fischer und zeigen, wie der AS05-Assembler AS05.EXE und das Tool zum Erstellen einer INLINE-Assemblertabelle INLASM.EXE in die ConTEXT-IDE eingebunden werden können.
Automatische Konfiguration der ConTEXT-Entwicklungsumgebung für Syntaxhighlighting in Open-Control/BASIC und AS05-Assembler. Außerdem Einbindung der CCBASIC-Hilfedatei.
Dieses ZIP-Archiv von Gerhard Fischer enthält zwei Konfigurationsdateien für die ConTEXT-IDE, die in das Highlighters-Verzeichnis im Installationsverzeichnis kopiert werden müssen. Anschließend stehen in der ConTEXT-IDE die Syntaxhervorhebung für Open-Control/BASIC und AS05-Assembler zur Verfügung. Zusätzlich wird die CCBASIC-Hilfe in OCBASIC-Sourcecodes verwendet, sofern C-Control/BASIC für Windows installiert ist und der richtige Pfad zur Hilfedatei konfiguriert wurde.
Mikrocontroller über serielle Schnittstelle starten
Das ist ein Win32-Programm, um den ASCII-Code 13 (RETURN) über die serielle
Schnittstelle zu senden und auf diese Weise die OM-Mikrocontroller aus
dem Hostmode heraus zu starten. Es öffnet kein Fenster und läßt sich deshalb gut in die ConTEXT-IDE einbinden und auf Tastendruck starten.
Einige Downloads für den Wechsel von der C-Control/Micro auf die Open-Micro.
ZIP-Archiv
Kommentar
Upgrade C-Control/Micro 2.00 auf Open-Micro
Mit diesem Upgrade kann die erste C-Control/Micro (Version 2.00) auf eine
Open-Micro aufgewertet werden. Die C-Control/Micro 2.00
besitzt unter anderem einen Fehler bei FOR..NEXT-Schleifen. Der Endwert wird
falsch ausgewertet, so daß ein Schleifendurchlauf zuwenig ausgeführt wird.
Weitere Vorzüge der Open-Micro gegenüber der C-Control/Micro sind in der Dokumentation aufgelistet.
Umbau des "C-Control Micro P/E-Board" in ein PE-Board für die Open-Micro
Einige Anwender der C-Control/Micro haben ihre Micro durch das bereitgestellte
Upgrade auf eine Open-Micro aufgewertet und haben nun keine Verwendung mehr
für ihr Conrad-P/E-Board. Die in diesem ZIP-Archiv enthaltenen Bilder erklären, wie dieses
P/E-Board in ein Board für die Open-Micro umgelötet werden kann, so daß
es zur Programmierung der Open-Micro weiterverwendbar ist.
Der fortgeschrittene Anwender wird sicher den Mikrocontroller im vollen Umfang nutzen wollen. Die folgenden Sachen helfen dabei.
ZIP-Archiv
Kommentar
NEU: Die vier Betriebssysteme der fünf OM-Mikrocontroller im LST-Format
Dieses ZIP-Archiv richtet sich an alle Assemblerkundigen und enthält
die Betriebssysteme der fünf OM-Mikrocontroller
im LST-Format. Die Betriebssysteme wurden vollständig mit dem sehr
zuverlässigen AS05-Assembler von Frank A. Vorstenbosch ("AS05 for M6805
[1.40]") und Macros für die neuen 6808-Befehle erstellt. Der Assembler erzeugt
beim Assemblieren eine LST-Datei, die das Quellprogramm und den daraus
generierten Maschinencode enthält. Das Listing dient vor allem dazu, daß ein
prüfender Leser erkennen kann, an welchen Adressen der Assembler welchen Code
erzeugt hat. Die LST-Datei ist also ein Teil der Dokumentation.
NEU: DAT2TAB
Mit diesem Tool können Codebereiche aus DAT-Dateien vom OCBASIC-Compiler in
die CCBASIC-Tabellenform umgewandelt werden. Nützlich ist das zum Beispiel,
um diese Codebereiche in CCPLUS-Tabellen einzufügen. So können positionsunabhängige
INLASM-Routinen für die OM auch in CCPLUS verwendet werden.
3 Volt für Open-Midi und Open-Macro
Normalerweise ist auf der Open-Midi und Open-Macro nur 5-Volt-Betrieb erlaubt.
Aber mit diesem Tool kann das Betriebssystem auf 3-Volt-Betrieb gepatcht werden.
Damit können nun auch die mittleren OM-Controller mit Batterien oder mit 3-Volt-Equipment betrieben werden.
Bitte die Warnhinweise beachten!
Konfiguration der Open-Maxi
Standardmäßig schaltet die Open-Maxi alle internen Pullup-Widerstände der
Ports BYTEPORT[1], BYTEPORT[2], BYTEPORT[3], BYTEPORT[5], BYTEPORT[6] und
BYTEPORT[7] nach jedem Reset aktiv. Wenn dieses Verhalten unerwünscht ist,
kann das mit dem Programm NVCONFIG.BAS umkonfiguriert werden.
Außerdem ist es möglich, das SPMSC2-Register dauerhaft anzupassen. Dadurch
ist wahlweise 5-Volt- oder 3-Volt-Betrieb möglich.
Darüber hinaus kann nun HGO eingestellt werden, um den Controller auch bei
Minusgraden einsetzen zu können.
Bitte die Warnhinweise beachten!
RAM-Speicherbelegungsplan für
Open-Micro und Open-Mini
In dieser INCLUDE-Datei wird für jedes Byte im RAM detailliert beschrieben,
wie es belegt ist und unter welchen Bedingungen es vom BASIC- oder
CCPLUS-Programmierer benutzt werden darf.
Dadurch kann der Anwender weit mehr als die üblichen 64 Byte zur Variablenspeicherung verwenden.
Assembler-Befehlssatz in Deutsch
Viele Anwender haben sicher Verwendung für das nebenstehende ZIP-Archiv. Es enthält eine PDF-Datei, in der alle Assemblerbefehle der 6808-CPU in deutscher Sprache erklärt werden.
Leider handelt es sich um die Rohfassung der Befehlsbeschreibung, doch wenn ein Anwender Lust hat, kann er die Assemblerbeschreibung erweitern, denn die Original-Word-Perfect-Datei ist ebenfalls im Archiv enthalten.
Die Dateien wurden von Jörg Schnyder von der SYSTECH J.Schnyder GmbH erstellt und freundlicherweise für das OM-Projekt zur Verfügung gestellt.
Hilfsprogramme zur Assemblerprogrammierung
In diesem ZIP-Archiv befindet sich der bekannte Assembler AS05 von Frank A. Vorstenbosch mit Makros für die Befehle der 6808-CPU. Außerdem sind ein Disassembler, ein Tool zum Erstellen von Tabellen für Inline-Assembler in CCBASIC und andere Goodies enthalten.
Speicherdump für QT4/QY4/QB8
Dieses Assemblermodul kann zum Testen eines Mikrocontrollers auch ohne Betriebssystem benutzt werden. Für die Ausgabe über RS232 werden keine ROM-Firmware-Routinen benutzt.
Open-Micro-Betriebssystem Version 1.0
und zugehörige Tools
Die offiziell erste Version des OM-Betriebssystems für registrierte Anwender, die mittels QT4- oder QY4-Mikrocontroller eine eigene Open-Micro oder Open-Mini herstellen wollen. In dieser Betriebssystemversion wurde gegenüber der letzten während des Betatests veröffentlichten Version 0.6 fast nichts verändert, um die Fehlerfreiheit nicht zu gefährden.
Das Betriebssystem und die Tools sind sowohl für QT4 als auch für QY4 geeignet und auf den zweiten PE-Board-Prototyp abgestimmt.
Bitte KURZDOKU.TXT und die umfangreiche Anleitung zur OM lesen. In der Bedienungsanleitung ist ausführlich beschrieben, was beim OS-Download zu beachten ist. Die Mikrocontroller müssen vor dem OS-Download korrekt resettet werden, was offenbar viele Anwender nicht beachten. Die Anleitung beschreibt die Herstellung der Mikrocontroller noch anhand der OS-Version 0.6, was aber kein Problem sein sollte.
Die Downloadtools arbeiten fehlerfrei unter allen PC-Betriebssystemen von DOS über Windows 98 bis XP.
Allerdings klappt der OS-Download unter einigen Windows-Systemen in Kombination mit bestimmter Hardware offenbar nicht oder nur teilweise. Insbesondere einige USB-nach-seriell-Konverter bereiten Probleme.
Für Hilfestellung stehe ich per E-Mail gern zur Verfügung.
Alle Dateien mit dem Betriebssystem sind paßwortgeschützt. Nur noch Lehramtsinhaber können nach der Registrierung das Paßwort erhalten, damit sie das Betriebssystem in QT4- oder QY4-Mikrocontroller laden können, um die OM zu Schulungszwecken einzusetzen.
Für andere Mikrocontroller ist das Betriebssystem in der jetzigen Form nicht geeignet.
OSCTRIM in 32-Bit
S19MON08 in 32-Bit
Ich habe die DOS-Programme OSCTRIM.EXE und S19MON08.EXE nach 32-Bit konvertiert, denn die DOS-Tools konnten unter neueren Windowsversionen nicht eingesetzt werden. Außerdem gab es Probleme, wenn der Rechner keine "richtige" Serielle Schnittstelle besitzt. Jetzt kann sogar die Baudrate eingestellt werden, womit auch arg vertrimmte Controller ansprechbar sind.
Mit Hilfe von Osctrim32.exe kann der interne Oszillator eines QT4-, QY4- und QB8-Controllers getrimmt, bzw. kalibriert werden. Die bei CCTools verkauften Controller sind bereits getrimmt. Und mit S19mon0832.exe kann ein Betriebssystem im S19-Format in einen QT4, QY4 und QB8 geladen werden. Wie die Tools im einzelnen zu benutzen sind, wird im Kapitel "Herstellung der OM-Controller" in der Bedienungsanleitung zur Open-Micro, Open-Mini und Open-Midi ausführlich erklärt. Als zusätzlicher Parameter kann beim Aufruf die Baudrate übergeben werden. Je nach Schnittstellenadapter lassen sich auch "krumme" Baudraten verwenden.
Es handelt sich um 32-Bit-Consoleprogramme, die in einem Console-Fenster ("Eingabeaufforderung", "DOS-Box") gestartet werden sollten. Während die Programme in den FLASH programmieren, darf der Controller nicht resettet werden oder die Verbindung aus einem anderen Grund nicht abreißen. Nicht das Betriebssystem der Open-Micro und Open-Mini in einen QB8 laden! Das OS ist nicht kompatibel.
Das Trimmen und Flashen sollte entweder über eine "echte", UART-basierte Schnittstelle oder mit einem USB-nach-seriell-Adapter mit FTDI-Chip durchgeführt werden.
Zweites PE-Board für QT4, QY4, QB8 & C-Micro:
Schaltbild, Layout und Bestückungsplan für Eagle,
Stückliste,
Kurzinstruktionen für den OS-Download,
Optimierung des Protect-Jumpers für den Standard-Monitor-Mode,
der am PE-Board angeschlossene GT16 und der
AP32
Dieses Board ist besser zum Experimentieren geeignet als das erste PE-Board, da u.a. die LEDs über einen 4049 getrieben werden und Dual-Wire-RS232 möglich ist. Pro Europaplatine lassen sich zwei Boards herstellen. Unoptimal ist: Belegung der Stiftleisten, 4049-Eingänge ohne (möglichst zuschaltbare) Pull-Ups.
Flash-Programmer PROG08SZ von PEMICRO einsetzen
Dieser Text beschreibt am Beispiel des Flash-Programmers PROG08SZ von P&E Microcomputer Systems, wie man nach dem Installieren des Open-Micro-Betriebssystems den internen Systemmonitor MON08 starten und nutzen kann.
Für einige Anwender ist sicher die folgende Bildergalerie von Interesse.
Bildergalerie
Im Laufe der Zeit hat sich eine große Anzahl an Bildern angesammelt, die unter anderem den Einsatz der Open-Micro und die Weiterentwicklung des PE-Boards zeigen. Ich möchte sie dem interessierten Anwender nicht vorenthalten. Vielleicht ergibt sich daraus die eine oder andere Idee.
Für alle ungeduldig auf neue Programmversionen wartenden Anwender gibt es hier einiges Neues, das sich noch in der Entwicklung befindet und deshalb teilweise noch nicht ausführlich getestet wurde. Verbesserungsvorschläge oder Hinweise auf Fehler werden per E-Mail dankbar entgegengenommen.
ZIP-Archiv
Kommentar
OMDLWIN_mit_groesserem_Timeout.zip
Für besondere Einsatzzwecke gibt es hier eine OMDLWIN-Version mit einem größeren Timeout.
Damit kann mittels Bluetooth-Anwendung unter Windows 11 eine Verbindung zur Open-Maxi aufgebaut werden.
OCBAS112e1_32_english_2.zip
Here you can find a 32-bit version of OCBASIC in english language. It's version 2.
Diese Seite wurde von Dietmar Harlos am 4. Januar 2006 erstellt.