sebastianh
28.02.2005, 11:42
Hallo,
bin leider voller Anfänger mit Assembler.
benutze untenstehenden Code um einen Schrittmotor über die C-Control anzusteueren.
Wie könnte man untenstehendes Script erweitern, um noch einen zweiten Motor anzuhängen.
Also man müsste von Basic aus noch eine zusätzliche Variable mitgeben, die dann entweder Port B oder C aktiv setzt.
Hier ein Auszug des Scripts.
Ist von Wolfgang Back (http://www.wolfgang-back.com/PDF/Schrittmotor.pdf) - Seite 14-15
Wäre super wenn mir jemand kurz helfen könnte.
mfg sebastian
***************************************
bport equ $01 ; Digitalport 1 - 8
bpdir equ $05 ; Richtung
schrittlo equ $9A ; Anzahl Schritte low
schritthi equ $99 ; Anzahl Schritte high
direct equ $98 ; links oder rechts?
halbvoll equ $96 : Halb- oder Vollschritt?
pau1 equ $94 ; Pausenwert 1
pau2 equ $92 ; Pausenwert 2
***************************************
org $101; Programmstart
lda #255 ; als Ausgang
sta bpdir ; einstellen
richtung lda direct ; 0 oder 1 ?
bne links ; bei 1 verzweige nach links
rechts ldx bport ; lade den Portwert nach x
lda halbvoll ; lade Halbschritt oder Vollschritt
bne halb ; wenn nicht 0, dann Vollschritt
lda vollright,x ; lese den indizierten Tabellenwert
bra ausgang ; Verzweige nach ausgang
....
bin leider voller Anfänger mit Assembler.
benutze untenstehenden Code um einen Schrittmotor über die C-Control anzusteueren.
Wie könnte man untenstehendes Script erweitern, um noch einen zweiten Motor anzuhängen.
Also man müsste von Basic aus noch eine zusätzliche Variable mitgeben, die dann entweder Port B oder C aktiv setzt.
Hier ein Auszug des Scripts.
Ist von Wolfgang Back (http://www.wolfgang-back.com/PDF/Schrittmotor.pdf) - Seite 14-15
Wäre super wenn mir jemand kurz helfen könnte.
mfg sebastian
***************************************
bport equ $01 ; Digitalport 1 - 8
bpdir equ $05 ; Richtung
schrittlo equ $9A ; Anzahl Schritte low
schritthi equ $99 ; Anzahl Schritte high
direct equ $98 ; links oder rechts?
halbvoll equ $96 : Halb- oder Vollschritt?
pau1 equ $94 ; Pausenwert 1
pau2 equ $92 ; Pausenwert 2
***************************************
org $101; Programmstart
lda #255 ; als Ausgang
sta bpdir ; einstellen
richtung lda direct ; 0 oder 1 ?
bne links ; bei 1 verzweige nach links
rechts ldx bport ; lade den Portwert nach x
lda halbvoll ; lade Halbschritt oder Vollschritt
bne halb ; wenn nicht 0, dann Vollschritt
lda vollright,x ; lese den indizierten Tabellenwert
bra ausgang ; Verzweige nach ausgang
....