湖北汽车工业学院科技学院 KT1023-3 ONION 实时控制系统的步进电机速度控制器设计
设计内容与要求:利用TPC-H通用微机接口实验箱设计一个实时控制系统的步进电机速度控制器。步进电机为四相,步距角为180/步,以单四拍方式运行。要求采用定时中断的方法控制步进电机的速度,转速在1~60r/min之间连续可调,具有正反转控制功能。
程序如下:
DATA 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 DATA ENDS
STAK SEGMENT STA0 DB 128 DUP(?) STAK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,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 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 MOV BUF2,AL
JMP SCZ ZZ:
AND AL,3FH CBW
MOV BUF,AX
MOV AL,BUF2
; 280H~287H ;<-,PA3~PA0接A~D 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