Software Projects
hier gibt es Softwaremodule fuer die C-Control
   
i2ctest.zip (4 kB)  
Viele Geräte lassen sich an die systemeigene I2C-Schnittstelle der C-Control anschließen. Doch oftmals ist es sicherer, eine zweite, von der ersten getrennte, Schnittstelle einzusetzen. Für diesen Anwendungsfall ist das Assemblermodul für einen zweiten I2C-Bus gedacht. Es kann mit zwei Pins von Port B (BYTEPORT [1] in Basic) eine vollwertige und schnelle I2C-Schnittstelle emulieren.

Gegenüber den Systemroutinen besitzt das neue Modul sogar den Vorteil, auch bei einem nicht angeschlossenen oder nicht reagierenden Gerät nach einer halben Sekunde in das Hauptprogramm zurückzukehren. Anhand des Rückgabecodes kann der Bus gescannt und der Anwender entsprechend informiert werden.

Abweichend von anderen Softwaremodulen für I²C wird die Acknowledge-Quittierung nicht in den Lese- und Schreibroutinen durchgeführt. Nach I2C_READ muß deshalb I2C_SENDACK oder I2C_SENDNACK aufgerufen werden und nach I2C_WRITE das I2C_GETACK.

 
pctast.zip (3 kB)  
Mit diesem Softwaremodul läßt sich eine ganz normale PC-Tastatur an die C-Control anschließen. Die von der Tastatur gesendeten Scancodes können empfangen werden, eine Umwandlung nach ASCII findet zwar nicht statt, kann aber noch in CCBASIC implementiert werden.

Wer noch mehr über den Anschluß einer PC-Tastatur an einen 68HC05-Mikrokontroller erfahren möchte, kann auf der Site Interfacing the PC / Beyond Logic vorbeischauen. Dort ist auch beschrieben, an welchen Pins des DIN- oder PS/2-Steckers das Daten- und Clocksignal entnommen werden kann. Und auch sonst gibt es reichhaltige Informationen für Bastler auf dieser Site.

 
quirl.zip (7 kB)  
Mit dem nebenstehenden Assemblermodul lassen sich bis zu drei digitale Drehsignalgeber abfragen. Die Geber müssen eine Rechts-/Links-Kennung anhand um 90 Grad verschobener Impulsphasen aufweisen.

Die Routine ist in der Lage, nur jeweils einen Impuls von einem Drehgeber zu erkennen. Eine gleichzeitige Erfassung aller Geberbewegungen ist also nicht möglich. Die vorliegende Lösung ist daher gedacht zur Auswertung von Drehgebern, welche als Eingabegerät für PCs dienen und von Hand bedient werden, beispielweise ein Jog Shuttle.

 
i2c_ram_eeprom.zip (8 kB)  
Dieses Softwaremodul ist eine Alternative zu DeepXS 2.0 von Mark Hämmerling. Es handelt sich um Assemblerroutinen zur Verwaltung eines externen RAMs und eines externen EEPROMs am System-I²C-Bus der C-Control-1. Bytes, Words und Vektoren von Bytes koennen unter festen Adressen im externen Speicher abgelegt und das RAM kann als Stack benutzt werden. Explizit nicht unterstuetzt werden Bausteine mit Paging, die DeepXS unterstuetzt. Grund ist der knappe Platz, der im internen EEPROM fuer Assemblerprogramme zur Verfuegung steht.

Im Quellcode muessen zunaechst die hart kodierten Adressen von RAM und EEPROM angepasst und anschliessend mittels AS05 assembliert werden.

 
irsony.zip (5 kB)  
Das nebenstehende ZIP-Archiv hat mir Romain Roduit aus Lausanne zugesandt. Mit den darin enthaltenen BASIC- und Assemblerprogrammen kann man Sony-Geräte mittels Infrarot-Licht steuern. Romain hat je ein Beispielprogramm für 12, 15 und 20 Bit Protokollänge entwickelt. Allerdings hat er den Code für 15 Bit bisher noch nicht austesten können.