步進電機加速-勻速-減速運行程序(ASM)
功能:
????步進電機以加速方式啟動,轉速達到程序規定的最快速度后保持一段時間勻速運轉,又開始以減速
方式運行直到步進電機停止轉動。由K1鍵控制演示程序運行。步進電機模塊上D1-D4可以指示工作狀態。
?;/******************************************************************/
?;/*???????????????????????????????????????????????????????????????
?;/*?ME300B單片機開發系統演示程序?-?步進電機加減速運行程序??????????
?;/*????????????????????????????????????????????????????????????????
?;/*?步進電機啟動時,轉速由慢到快逐步加速。?????????????????????????
?;/*?步進電機勻速運行???????????????????????????????????????????????
?;/*?步進電機由快到慢逐步減速???????????????????????????????????????
?;/*??????????????????????????????????????????????????????????????????????????????????????????????????
?;/*?網站:?http://www.1cnz.cn?;??????????????????????????????????????????????????????????????????????????
?;/*【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!??????
?????????????????????????????????????????????????????????
?;/*********************************************************/
?;?步進電機步進角為?7.5度,一圈?360?度。
?;?雙四拍工作方式:
?;?AB-BC-CD-DA?(即一個脈沖,轉?7.5?度)
?;?單雙八拍工作方式:
?;?A-AB-B-BC-C-CD-D-DA?(即一個脈沖,轉?3.75?度)
?;-------------------------------------------------------
?;?A組線圈對應?P1.0????(桔色)
?;?B組線圈對應?P1.1????(棕色)
?;?C組線圈對應?P1.2????(黃色)
?;?D組線圈對應?P1.3????(黑色)
?;-------------------------------------------------------
??????????RATE??EQU??50H
??????????BEEP??BIT??P3.7
??????????K1????BIT??P1.4
?;-------------------------------------------------------
??????????ORG?0000H
??????????LJMP?MAIN
??????????ORG?0030H
?;----------------?---------正轉-------------------------
MAIN:
???????????MOV??SP,#60H
???????????MOV??P1,#0F0H
???????????MOV??RATE,#10H
???????????JB???K1,$
???????????ACALL?BEEP_BL
?;-------------------------------------------------------
?;加速啟動過程
?;-------------------------------------------------------???????????
FFW_RISE:
???????????MOV?R0,#00H
FFW1:
???????????MOV?A,R0
???????????MOV?DPTR,#TABLE_F??????;選擇工作方式
???????????MOVC?A,@A+DPTR
???????????MOV?P1,A
???????????LCALL?DELAY
???????????INC?R0
???????????JNZ??FFW1
???????????MOV?R0,#00H
???????????MOV??A,RATE
???????????DEC??A
???????????MOV??RATE,A
???????????CJNE??A,#1,FFW1
???????????
?;---------------------------------------------------
?;勻速運行過程
?;---------------------------------------------------
FFW_CONSTANT:???????????
???????????MOV??R1,#0FFH
FFW2:???????????
???????????MOV?A,R0
???????????MOV?DPTR,#TABLE_F??????;選擇工作方式
???????????MOVC?A,@A+DPTR
???????????MOV?P1,A
???????????LCALL?DELAY
???????????INC?R0
???????????JNZ??FFW2
???????????MOV?R0,#00H??????????
???????????DJNZ??R1,FFW2
?;---------------------------------------------------
?;減速停止過程
?;---------------------------------------------------?????????
FFW_FALL:
???????????MOV?R0,#00H
FFW3:???????????
???????????MOV?A,R0
???????????MOV?DPTR,#TABLE_F??????;選擇工作方式
???????????MOVC?A,@A+DPTR
???????????MOV?P1,A
???????????LCALL?DELAY
???????????INC?R0
???????????JNZ??FFW3
???????????MOV?R0,#00H
???????????MOV??A,RATE
???????????INC??A
???????????MOV??RATE,A
???????????CJNE??A,#10H,FFW3
???????????
???????????JMP??MAIN
????????????
?;-------------------------------------------------------
?;?延時子程序
?;-------------------------------------------------------
DELAY:
???????????MOV???R5,RATE
DEL2:
???????????MOV???R7,#5
DEL3:
???????????MOV???R6,#250
???????????DJNZ??R6,$
???????????DJNZ??R7,DEL3
???????????DJNZ??R5,DEL2
???????????RET
???????????
?;-------------------------------------------------------
?;蜂鳴器響一聲子程序
?;-------------------------------------------------------
BEEP_BL:
?????????MOV??R6,#100
??BL1:
?????????CALL??DEX1
?????????CPL??BEEP
?????????DJNZ??R6,BL1
?????????RET
?DEX1:
?????????MOV??R7,#180
?DEX2:
?????????NOP
?????????DJNZ??R7,DEX2
?????????RET
?;-------------------------------------------------------
?;?單雙八拍工作方式
TABLE_F:???;正轉表
????????DB??0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H
????????DB??00
TABLE_R:???;反轉表
????????DB??0F9H,0F8H,0FCH,0F4H,0F6H,0F2H,0F3H,0F1H
????????DB??00
?;-------------------------------------------------------
?;?雙四拍工作方式:
TABLE1:
????????DB???03H,06H,0cH,09H???;正轉表
????????DB???00???;正轉結束
TABLE2:
????????DB???09H,0CH,06H,03H???;反轉表
????????DB???00???;反轉結束
?;-------------------------------------------------------
????????END
評論
查看更多