Stepper Motor

Discussion on Coding.
Post Reply
tester
Outpost bitch
Posts: 544
Joined: Wed Jan 07, 2004 8:58 pm

Post by tester »

Well i wrote a proggie to control a stepper motor and u can reverse it by an interrupt.

this one worked on pc

0001 0000 3E 17 START LD A,23
0002 0002 D3 03 OUT (03h),A
0003 0004 3E 00 LD A,00
0004 0006 D3 03 OUT (03h),A
0005 0008 21 38 00 LD HL,INTPRG
0006 000B ED 56 IM 1
0007 000D FB EI
0008 000E 37 LEDS SCF
0009 000F 17 LUS RLA
0010 0010 D3 02 OUT (02h),A
0011 0012 06 02 VERT LD B,02h
0012 0014 0E 02 LD C,02h
0013 0016 05 LOOP DEC B
0014 0017 20 FD JR NZ,LOOP
0015 0019 0D DEC C
0016 001A 20 FA JR NZ,LOOP
0017 001C C3 0F 00 JP LUS
0018 001F 00 NOP
0019 0020 00 NOP
0020 0021 00 NOP
0021 0022 00 NOP
0022 0023 00 NOP
0023 0024 00 NOP
0024 0025 00 NOP
0025 0026 00 NOP
0026 0027 00 NOP
0027 0028 00 NOP
0028 0029 00 NOP
0029 002A 00 NOP
0030 002B 00 NOP
0031 002C 00 NOP
0032 002D 00 NOP
0033 002E 00 NOP
0034 002F 00 NOP
0035 0030 00 NOP
0036 0031 00 NOP
0037 0032 00 NOP
0038 0033 00 NOP
0039 0034 00 NOP
0040 0035 00 NOP
0041 0036 00 NOP
0042 0037 00 NOP
0043 0038 F3 INTPRG DI
0044 0039 F5 PUSH AF
0045 003A C5 PUSH BC
0046 003B 3E FF LD A,0FFh
0047 003D D3 02 OUT (02h),A
0048 003F 06 02 VERTI LD B,02h
0049 0041 0E 02 LD C,02h
0050 0043 05 LOOPI DEC B
0051 0044 20 FD JR NZ,LOOPI
0052 0046 0D DEC C
0053 0047 20 FA JR NZ,LOOPI
0054 0049 C1 POP BC
0055 004A F1 POP AF
0056 004B FB EI
0057 004C ED 4D RETI
Number of errors = 0






Well but when i gave it in the processor
and put the motor on it wouldnt work
so i wrote a new proggie


0001 0000 ED 56 start im 1
0002 0002 16 01 ld d, 01h
0003 0004 FB ei
0004 0005
0005 0005 37 led scf
0006 0006 3F ccf
0007 0007 3E 01 ld a, 01h
0008 0009 D3 03 led1 out (03), a
0009 000B CD 16 00 call vert
0010 000E 17 rla
0011 000F CB 67 bit 4, a
0012 0011 20 F2 jr nz, led
0013 0013 C3 09 00 jp led1
0014 0016
0015 0016 06 01 vert ld b, 01h
0016 0018 05 dec b
0017 0019 20 FB jr nz, vert
0018 001B C9 ret
0019 001C
0020 001C
0021 001C 00 nop
0022 001D 00 nop
0023 001E 00 nop
0024 001F 00 nop
0025 0020 00 nop
0026 0021 00 nop
0027 0022 00 nop
0028 0023 00 nop
0029 0024 00 nop
0030 0025 00 nop
0031 0026 00 nop
0032 0027 00 nop
0033 0028 00 nop
0034 0029 00 nop
0035 002A 00 nop
0036 002B 00 nop
0037 002C 00 nop
0038 002D 00 nop
0039 002E 00 nop
0040 002F 00 nop
0041 0030 00 nop
0042 0031 00 nop
0043 0032 00 nop
0044 0033 00 nop
0045 0034 00 nop
0046 0035 00 nop
0047 0036 00 nop
0048 0037 00 nop
0049 0038 F1 int pop af
0050 0039 C1 pop bc
0051 003A 15 dec d
0052 003B 20 C3 jr nz, start
0053 003D 28 00 jr z, start2
0054 003F
0055 003F
0056 003F ED 56 start2 im 1
0057 0041 FB ei
0058 0042 16 02 ld d, 02h
0059 0044 F5 push af
0060 0045 C5 push bc
0061 0046 3D dec a
0062 0047 D3 03 out (03), a
0063 0049 CD 16 00 call vert
0064 004C 1F rra
0065 004D CB 47 bit 0, a
0066 004F 20 03 jr nz, loop
0067 0051 C3 5B 00 jp loop1
0068 0054 3E 04 loop ld a, 04h
0069 0056 D3 03 out (03), a
0070 0058 CD 16 00 call vert
0071 005B 1F loop1 rra
0072 005C CB 47 bit 0, a
0073 005E 20 F4 jr nz, loop
0074 0060 C3 5B 00 jp loop1
0075 0063
0076 0063
0077 0063
0078 0063 start3
Number of errors = 0



Whats the bug in this one????


btw these lines are ment to configure the board
0001 0000 3E 17 START LD A,23
0002 0002 D3 03 OUT (03h),A
0003 0004 3E 00 LD A,00
0004 0006 D3 03 OUT (03h),A

And as you can see my adress start at 0000 but in real its 5000h
And those NOP's is for filling up becuz the int prog needs to be at at 0050h


Cheers Tester
I support a woman's right to choose<br><br>- In the Mouth?<br>- In the Ass ?<br>- In the Vagina?<br>- Between the Tits?
Post Reply