Assembly emu8086上步进电机的逆时针步进

Assembly emu8086上步进电机的逆时针步进,assembly,emu8086,Assembly,Emu8086,我知道步进电机可以使用以下命令执行顺时针方向的步骤,但如何执行逆时针方向的步骤 MOV AL, 001b ; initialize. OUT 7, AL MOV AL, 011b ; half step 1. OUT 7, AL MOV AL, 010b ; half step 2. OUT 7, AL MOV AL, 110b ; half step 3. OUT 7, AL 我复制了这段代码两次,它产生了90度的顺时针旋转 现在我需要它做一个90度的逆时针旋转,但是当我把代码倒过来时

我知道步进电机可以使用以下命令执行顺时针方向的步骤,但如何执行逆时针方向的步骤

MOV AL, 001b ; initialize.
OUT 7, AL

MOV AL, 011b ; half step 1.
OUT 7, AL

MOV AL, 010b ; half step 2.
OUT 7, AL

MOV AL, 110b ; half step 3.
OUT 7, AL
我复制了这段代码两次,它产生了90度的顺时针旋转 现在我需要它做一个90度的逆时针旋转,但是当我把代码倒过来时,结果不是我想要的

MOV AL, 06h

OUT 7, AL

MOV AL, 04h

OUT 7, AL

MOV AL, 03h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
MOV AL, 03h 

OUT 7, AL

MOV AL, 01h

OUT 7, AL

MOV AL, 06h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
逆时针旋转:

MOV AL, 06h

OUT 7, AL

MOV AL, 04h

OUT 7, AL

MOV AL, 03h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
MOV AL, 03h 

OUT 7, AL

MOV AL, 01h

OUT 7, AL

MOV AL, 06h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
顺时针旋转:

MOV AL, 06h

OUT 7, AL

MOV AL, 04h

OUT 7, AL

MOV AL, 03h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
MOV AL, 03h 

OUT 7, AL

MOV AL, 01h

OUT 7, AL

MOV AL, 06h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
逆时针旋转:

MOV AL, 06h

OUT 7, AL

MOV AL, 04h

OUT 7, AL

MOV AL, 03h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL
MOV AL, 03h 

OUT 7, AL

MOV AL, 01h

OUT 7, AL

MOV AL, 06h 

OUT 7, AL

MOV AL, 02h

OUT 7, AL

是否缺少101b?我猜:以相反的顺序运行命令序列这可能会有帮助:@Tommylee2k不,我从emu8086复制了此代码help@planetmaker我照你说的做了结果是45度逆时针旋转,我想要的是一个90度的计数器,所以再次粘贴它,但结果不是又一次45度旋转,不是缺少了101b吗?我猜:以相反的顺序运行命令序列这可能会有帮助:@Tommylee2k不,我从emu8086复制了这段代码help@planetmaker我照你说的做了,结果是一个45度的逆时针旋转,我想要的是一个90度的逆时针旋转,所以再次粘贴它,但结果不是另一个45度旋转3->1->6->2不可能是正确的,一个步进电机你只改变一个磁铁的状态。。。1-->6将是001到110。。。这不会是一个平稳的转折,或者根本不起作用。这就是为什么“普通”步进电机一轮通常有4个步骤。如果“001”是“初始化”3->1->6->2不正确,一个步进电机您只改变一个磁铁的状态。。。1-->6将是001到110。。。这不会是一个平稳的转折,或者根本不起作用。这就是为什么“普通”步进电机一轮通常有4个步骤。不是OP写的3,如果“001”是“initialize”,那么显然缺少了一些(“半步4”)