|
圖5.3 PORT5步進馬達控制圖。 P50 0 0 1 1 P51 1 1 0 0 P52 1 0 0 1 P53 0 1 1 0 圖5.4 PORT5步進馬達控制時序圖。 圖5.3中可以看出,PORT5接到STEP MOTOR的對應引腳,圖5.4可以看出PORT5應該送出的信號。圖5.3中P50和P51的輸出必須反相,P52和P53的輸出必須反相,而P50和P52必須有相位差,假設P50和P52的相位差為90度,于是導出圖5.4 的時序圖。 圖5.4的時序圖中,可以看出有四個相位會一直循環,分別是: | Phase 0 | Phase 1 | Phase 2 | Phase 3 | P50 | 0 | 0 | 1 | 1 | P51 | 1 | 1 | 0 | 0 | P52 | 1 | 0 | 0 | 1 | P53 | 0 | 1 | 1 | 0 | Value | 0x06 | 0x0A | 0x09 | 0x05 |
上表中有四個基本相位數值。所以只要不停的送出這四個相位,STEP MOTOR就會不停的旋轉,送出的速度快,STEP MOTOR的轉速就快,但是要在STEP MOTOR的旋轉極限之內。 PORT5 == 5 ; 定義 ; 程序開始 IOW PORT5 ;設定PORT5為輸出口。 AGAIN: MOV A, @0X06 ;設定A的值為0X06。 MOV PORT5, A ;將A的值輸出到PORT5。 MOV A, @0X0A ;設定A的值為0X0A。 MOV PORT5, A MOV A, @0X09 ;設定A = 0X09。 MOV PORT5, A MOV A, @0X05 ;設定A = 0X05。 MOV PORT5, A ;設定PORT5 = 5。 JMP AGAIN ;循環。 |