18纯情男高中生 发表于 2023-11-11 11:24:48

汇编实操项目·单按键控制步进电机正转和停止

;步进电机型号: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

jkernet 发表于 2023-11-15 21:59:43

感谢分享 学习
页: [1]
查看完整版本: 汇编实操项目·单按键控制步进电机正转和停止