- 打卡等级:偶尔看看III
- 打卡总天数:58
- 最近打卡:2025-05-31 11:37:09
中级会员
- 积分
- 255
|
;步进电机型号:28BYJ-48
;缩放比1/64 单周期度数=360/64=5.625
;经实验推理得出 周期之间的延时时间为750us-850us 速度最快最丝滑。可根据需求调整延时时间来改变步进电机速度。
;以下程序还有很多纰漏 如未增加消抖 和程序调用最优化。只为模版 作为步进电机模块方案 供汇编爱好者自行修改。😋
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV P0,#00H
JNB P1.0,BJDJ
LCALL YS
LCALL YS
SJMP MAIN
BJDJ:
JNB P1.0,MAIN
MOV R7,#8
MOV R6,#00H
MOV DPTR,#TAB
LOOP:MOV A,R6
MOVC A,@A+DPTR
MOV P0,A
LCALL YS
INC R6
DJNZ R7,LOOP
LJMP BJDJ
;粗略计算延时时间为:7*7*8*2(机器期)*1us=784us
YS:MOV 30H,#7
D2:MOV 31H,#7
D1:MOV 32H,#8
D0:DJNZ 32H,D0
DJNZ 31H,D1
DJNZ 30H,D2
RET
TAB:DB 80H,0C0H,40H,60H,20H,30H,10H,90H
END |
|