我以前写的,只有正转和反转,你可以根据需要修改,调节延时可控制转速
BUFF_STEP EQU 21H
;独立键盘的输入程序
org 00h ;表示程序从00H处(开头)开始存储
main:
jnb p0.0,s1ok ;检测按键是否按下
jnb p0.1,s2ok ;jnb 当P0.1为0时就执行s2ok处程序,其它同此
jnb p0.2,s3ok
jnb p0.3,s4ok
JMP MAIN ;无条件跳转指令,跳转至main处,就是循环
s1ok:
MOV DPTR,#TAB_CW ;使指针DPTR指向TAB_CW
JMP BEG1
s2ok:
MOV DPTR,#TAB_CCW ;与上意义相似
JMP BEG1
BEG1: MOV A,BUFF_STEP
MOVC A,@A+DPTR
MOV P1,A ;此处是P1口接了步进电机
LCALL DEL ;实现延时,调节延时野饥可控源陵制转速
INC BUFF_STEP
MOV A,BUFF_STEP
CJNE A,#04H,MAIN
MOV BUFF_STEP,#00H
JMP MAIN
DEL: MOV R6,#500
DEL0: MOV R7,#200
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB_CW: DB 11110001B,11101001B,11100101B,11100011B ;正转相序
TAB_CCW: DB 11110001B,11100011B,11100101B,11101001B ;反转相雹脊戚序
END
proteus 安装后里有例子 似乎就是这个 你看卡
我也准备问呢!谢谢提问,希望大虾帮忙!
按一下正反转才合适,因为按两下的时间间隔因手而异
学习啦