步进电机启动停止正反转控制程序的汇编语言的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DELAY 1MS MACRO TIME ;延时宏命令

LOCAL AA

LOCAL BB

PUSH CX

MOV CX,TIME

AA: PUSH CX

MOV CX,1000

BB: NOP

LOOP BB

POP CX

LOOP AA

POP CX

ENDM

DATA SEGMENT

TABA DB 01H,03H,02H,06H,04H,05H;正转的模型

TABB DB 05H,04H,06H,02H,03H,01H;反转的模型DATA ENDS

CODE SEGMENT

ZZ PROC NEAR

PUSH DS

MOV AX,DATA

MOV DS,AX

MOV AX,0

PUSH AX

MOV DX,203H

MOV AL,80H

OUT DX,AL ;8255的控制字设定

MOV DX,200H

MOV AL,0

OUT DX,AL ;先输出制动命令

MOV CX,360 ;设定正转步数

DD: MOV BL,6 ;六拍

MOV DX,200H

LEA DI,TABA ;指针指向正转的数字模型

CC: MOV AL,[DI]

OUT DX,AL

DELAY 1MS 10

INC DI ;指针加1,指向下一步的数字模型

DEC BL ;拍数减1

JNZ CC ;六拍未结束,则继续循环

LOOP DD;360个周期的六拍未结束,继续循环

ZZ ENDP

FZ PROC NEAR

MOV CX,400 ;设定反转步数

FF: MOV BL,6

MOV DX,200H

LEA DI,TABB ;指针指向反转的数字模型

EE: MOV AL,[DI]

OUT DX,AL

DELAY 1MS 10

DEC DI ;指针减1,指向反转下一步数字模型

DEC BL

JNZ EE

LOOP FF

FZ ENDP

MOV DX,200H

MOV AL,0

OUT DX,AL ;结束后,输出制动命令

RET

MAIN ENDP

CODE ENDS

END START

相关文档
最新文档