找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3232|回复: 0
收起左侧

STC15F2K60S2单片机控制步进电机-汇编代码

[复制链接]
ID:301181 发表于 2018-7-22 09:25 | 显示全部楼层 |阅读模式
使用的单片机型号STC15F2K60S2
利用 P1.0~P1.3 实现步进电机的正转;以及固定的圈数

/* 步进电机程序
ORG  0000H
LJMP  MAIN
ORG  0100H
MAIN:
MOV  SP,#60H
ACALL  DELAY  ;ULN2003 反相
MOV P1,#00H;
SMRUN: ; 电机控制方式为单双八拍
MOV  P1,#08H ;A  1 0 0 0
ACALL  DELAY
MOV  P1,#0CH ;AB 1 1 0 0
ACALL  DELAY
MOV P1,#04H ;B  0 1 0 0
ACALL  DELAY
MOV  P1,#06H ;BC 0 1 1 0
ACALL  DELAY
MOV P1,#02H ;C  0 0 1 0
ACALL  DELAY
MOV  P1,#03H ;CD 0 0 1 1
ACALL  DELAY
MOV  P1,#01H ;D  0 0 0 1
ACALL  DELAY
MOV  P1,#09H ;DA 1 0 0 1
ACALL  DELAY
SJMP  SMRUN ;循环转动
DELAY: ;单步延时程序
NOP ;采用由 STC 给出的 2ms 的延时
NOP
NOP
NOP
PUSH 30H
PUSH 31H
MOV 30H,#18
MOV 31H,#48
NEXT:
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
END

/* 步进电机程序 一圈
ORG  0000H
LJMP  MAIN
ORG  0100H
MAIN:
MOV  SP,#60H
MOV R0,#10H;
MOV R1,#20H
ACALL  DELAY  ;ULN2003 反相
MOV P1,#00H;
SMRUN: ; 电机控制方式为单双八拍
MOV  P1,#08H ;A  1 0 0 0
ACALL  DELAY
MOV  P1,#0CH ;AB 1 1 0 0
ACALL  DELAY
MOV P1,#04H ;B  0 1 0 0
ACALL  DELAY
MOV  P1,#06H ;BC 0 1 1 0
ACALL  DELAY
MOV P1,#02H ;C  0 0 1 0
ACALL  DELAY
MOV  P1,#03H ;CD 0 0 1 1
ACALL  DELAY
MOV  P1,#01H ;D  0 0 0 1
ACALL  DELAY
MOV  P1,#09H ;DA 1 0 0 1
ACALL  DELAY
DJNZ R1,SMRUN;
MOV R1,#20H
DJNZ R0,SMRUN;
LJMP STOP; ;循环转动至 4096 个节拍
DELAY: ;单步延时程序
NOP ;采用由 STC 给出的 2ms 的延时
NOP
NOP
NOP
PUSH 30H
PUSH 31H
MOV 30H,#18
MOV 31H,#48
NEXT:
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
STOP:
SJMP $;
END


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表