Zusatzexperimente für den Kosmos-Microcontroller
Programm cp_echo.k

C = 99
Pdir = 63
L1: Start A = Uin
A = A + 1
D = A
Portout = 0
L2: Pause D*Goto L2: Pause
A = C
B = A
A = [B+]
A = A Shr 1
B = A
A = Din
A = A - 1
A = A + B
Portout = A
D = A
A = C
B = A
A = D
[B+] = A
C*Goto L1: Start
L3: Restart C = 99
Goto L1: Start
End

Programm downloaden
Echo aus dem RAM
Hier der Aufbau für ein simples digitales Echogerät (englisch: Digital Delay). Die Ports D0 bis D5 vom Kosmos Microcontroller werden über Widerstände abnehmender Größe mit dem Lautsprecher verbunden, damit Töne unterschiedlicher Lautstärke erzeugt werden können.

Ein kurzer Druck auf den Taster erzeugt einen Ton; die Tonhöhe kann mit dem Poti eingestellt werden. Zusätzlich wird der Ton im RAM abgespeichert, dessen Werte permanent ausgelesen und an die Ports ausgegeben werden. Bei jedem Durchlauf werden die Werte aus dem RAM und damit auch die Lautstärke des Echos verringert (A = A Shr 1).
Microcontroller Echo
Das Programm ist sehr einfach gehalten, weil jede zusätzliche Programmzeile die maximal erreichbare Tonhöhe verringert. Daher ändern sich Delay-Zeit und Tonhöhe des Echos mit der eingestellten Tonhöhe -was bei einem professionellen Echogerät natürlich nicht passieren sollte.

Mit ein paar Zeilen Code extra kann man erreichen, dass der Ton so lange klingt, wie der Taster gedrückt wird. Im Moment wird der Ton praktisch von seinem eigenen Echo ausgelöscht, weil es ab Lautstärke 255 eben wieder bei 0 losgeht.
Diese Tatsache wurde übrigens in den Zeilen "A = Din" und "A = A - 1" ausgenutzt, um für A die Werte 0 und 255 statt 0 und 1 zu erhalten...