实时控制系统的步进电机速度控制器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北汽车工业学院科技学院 KT1023-3 ONION
实时控制系统的步进电机速度控制器设计
设计内容与要求:利用TPC-H通用微机接口实验箱设计一个实时控制系统的步进电机速度控制器。步进电机为四相,步距角为180/步,以单四拍方式运行。要求采用定时中断的方法控制步进电机的速度,转速在1~60r/min之间连续可调,具有正反转控制功能。
程序如下:
DA TA SEGMENT
BUFF DW 0H,0BB8H,05DCH,3E8H,2EEH,258H,1F4H,1ACH,177H,14DH,12CH DW 110H,0FAH,0E6H,0D6H,0C8H,0BBH,0B0H,0A6H,9DH,96H
DW 8EH,88H,82H,7DH,78H,73H,6FH,6BH,67H,64H
DW 60H,5DH,5AH,58H,55H,53H,51H,4EH,4CH,4BH
DW 49H,47H,45H,44H,42H,41H,3FH,3EH,3DH,3CH
DW 3AH,39H,38H,37H,36H,35H,34H,33H,32H,32H
BUF DW 1H
BUF2 DB 0
DA TA ENDS
STAK SEGMENT
STA0 DB 128 DUP(?)
STAK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA,SS:STAK
START:MOV AX,DATA;
MOV DS,AX
;8255初始化
MOV DX,240BH ;288H~28FH
MOV AL,10001011B ; A口输出,C口输入
OUT DX,AL
;PA0-PA3控制电机的ABCD
;PC7正反转,PC6脉冲,PC5-PC0共6个控时间
;8253初始化
;计数器0
MOV DX,2403H; 280H~287H
MOV AL,00110110B;方式3
OUT DX,AL
MOV DX,2400H
MOV AX,1000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV BUF2,33H ;A口输出初始值
MOV BX,OFFSET BUFF
MOV SI,0
;计数器1 方式0
NEXT:MOV AX,BUF
AND AX,3FH
MOV SI,AX
SAL SI,1
MOV AX,[BX+SI]
MOV BUF,AX
MOV DX,2403H ; 280H~287H
MOV AL,01110000B
OUT DX,AL
MOV DX,2401H
MOV AX,BUF
OUT DX,AL
MOV AL,AH
OUT DX,AL
L0:MOV DX,240AH
IN AL,DX
TEST AL,40H
JNZ L1
JMP L0
L1: TEST AL,80H
JNZ ZZ
;FZ:
AND AL,3FH
CBW
MOV BUF,AX
MOV AL,BUF2
ROR AL,1 ;<-,PA3~PA0接A~D
MOV BUF2,AL
JMP SCZ
ZZ:
AND AL,3FH
CBW
MOV BUF,AX
MOV AL,BUF2
ROL AL,1 ;->,PA3~PA0接A~D
MOV BUF2,AL
SCZ: MOV DX,2408H
;MOV AL,BUF2
OUT DX,AL ;A口最终的输出值
;有按键就退出
MOV AH,0BH
INT 21H
CMP AL,0FFH
JZ EXIT
MOV AX,BUF
CMP AL,1 ;最低速1r/min
JB L3
CMP AL,60 ;最高速60r/min
JA L4
JMP NEXT
L3:MOV AX,1
MOV BUF,AX
;CALL ASCI
JMP NEXT
L4:MOV AX,60
MOV BUF,AX
;CALL ASCI
JMP NEXT
;退出
EXIT:MOV AX,4C00H
INT 21H
CODE ENDS
END START