Hallo!
Was verstehst du denn unter „programmieren“?
Häufig meint man damit eher „konfigurieren“, zum Beispiel dann, wenn man dem Videorecorder sagt, daß er heute um 20:15 zwei Stunden lang ZDF aufnehmen soll. Wenn nicht vorgesehen ist, daß das, was du willst, eingestellt werden kann, dann geht das eben nicht.
Aber: Auf der Platine sitzt ein Atmel AT89C2051, das ist ein Microcontroller, für den sich prinzipiell ein völlig eigenes Programm erstellen lässt, das dann das tut, was du willst. Der verbaute Microcontroller hat sogar ein serielles Interface, wenn die zugehörigen Beinchen noch nicht genutzt werden, könnte man das ganze so einrichten, daß du die Platine sogar per PC steuern kannst.
Man müßte nur rausfinden, welches Beinchen was steuert, aber das ist bei der Platine vermutlich nicht so das Problem.
Allerdings, wenn du grundsätzlich wüßtest, daß man Microcontroller programmieren kann, würdest du die Frage wohl kaum stellen, und du wirst auch kaum wen finden, der das mal eben für dich macht.
Wenn du Interesse hast, dich mit sowas zu beschäftigen, wäre diese Platine sicherlich ein gutes Einsteigerprojekt, das einzig etwas knifflige könnte die Fernbedienung werden.
Zu der Sache mit den 8cm:
Man kann das ganze so machen, daß der Microcontroller den Motor nur max. z.B. 800 Schritte in eine Richtung machen lässt, wenn das 8cm entspricht. Aber der Microcontroller weiß beim Einschalten nicht, wo dein Motor grade steht, er hat auch kein EEPROM, um sich die Position zu merken, solange der Strom weg ist. Und wenn der Motor zu stark belastet wird, könnte es sein, daß er Schritte auslässt, und dann steht er nicht mehr an der Position, wo der Microcontroller denkt.
Im einfachsten Fall hätte man Endabschalter, so daß der Microcontroller erkennt, wenn der Motor dort ankommt. Beim Einschalten einmal in eine Richtung bis zum Endabschalter fahren, und der Microcontroller weiß, wo der Motor ist, und könnte ab da dann die Schritte zählen.