汇编语言——>>步进电机

步进电机控制系统

设计一个开环步进电机控制系统。使得步进电机能够正常运转。并能实现启停、正反转、调速控制。以及显示速度。

2.设计要求如下:
①硬件测试通过。接线完成。三个芯片分别测试通过。步进电机能够正常运转。
②中断方式的转动。
③启停。按KK1+键控制步进电机的启动。按KK2+键控制步进电机的停止。
④正反转。开关K7控制步进电机的正反转。当K7向下拨时,电机正转(顺时针);向上拨时,电机反转(逆时针)。
⑤在LED数码管上显示速度编号。K0对应1挡、K1对应2挡,其余类推。
⑥调速。开关K6~K0分别控制电机的转速:K0向上拨时,得到最低转速,…… K6向上拨时,得到最高转速。步进电机转速分为7级,依次是30 、60、90、120、150、180、210 (r/min)。
1.步进电机工作原理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:步进电机不使用时请断开连接器,以免误操作使电机过热损坏。
2.硬件接线图
①8255与系统总线的接线图
在这里插入图片描述
②8254与系统总线的接线图在这里插入图片描述
③8259的接线图
在这里插入图片描述
上述步骤完成后按以下步骤改线,完成步进电机控制系统的接线。
PA口接8个开关。
PB口接步进电机。
PC口接数码管。数码管的COM端接地。
OUT1接L0的连线,改到MIR6上。
3.端口地址说明
在这里插入图片描述

五、软件设计
1.R变量和M变量说明
定义SWITCH,通过判断k0-k7的输入调用相对应的功能
定义DELAY实现延迟
定义CLKWISE,REVROT实现正反转通过判断语句执行相应代码

2.程序说明
MIR6模块实现中断转动
MIR7模块实现步进电机启动
SIR1模块实现步进电机停止

六、源程序清单
1.参考程序

P8255A 		EQU   	0600H 
P8255B 		EQU   	0602H 
P8255C 		EQU   	0604H 
P8255M	 	EQU   	0606H
DATA 		SEGMENT 
TABLE1		DB      01H,03H,02H,06H,04H,0CH,08H,09H 
TABLE2		DB      01H,03H,02H,06H,04H,0CH,08H,09H 
LEDCODE	DB		3FH,06H,5BH,4FH,66H,6DH,7DH,07H	;0--7的显示代码
			DB		7FH,6FH,77H,7CH,39H,5EH,79H,71H		;8--F的显示代码
TIMEP		DW		03E8H				;延时子程序时间参数
DCODE		DB		3FH					;数码管显示代码
DATA 		ENDS
SSTACK 	SEGMENT STACK
			DW    256 DUP(?) 
SSTACK 	ENDS 	
CODE 		SEGMENT 
		ASSUME	CS:CODE, SS:SSTACK, DS:DATA
START: 	MOV 	AX, DATA 
		MOV 	DS, AX 
MAIN:	MOV 	AL, 90H ; 控制B口工作于方式0,输出 
		MOV 	DX, P8255M 
		OUT 	DX, AL 
A1: 	MOV 	BX, OFFSET  TABLE1 
		MOV 	CX, 0008H 
A2: 	MOV 	AL,[BX] 
		MOV 	DX, P8255B ; 写B口 
		OUT 	DX, AL 
		CALL	DALLY ; 控制步进电机的转速 
		INC 	BX 
		LOOP	A2 
		JMP 	A1 
DALLY: 	PUSH 	CX 
		MOV 	CX,8000H 
A3: 	PUSH 	AX 
		POP 	AX 
		LOOP 	A3
 		POP 	CX 
		RET 
CODE 	ENDS
 		END 	START

2.最终程序清单
TIMER0      EQU     06C0H       ;IOY3
TIMER1      EQU     06C2H 
TIMER2      EQU     06C4H 
TIMERM      EQU     06C6H
P8255A      EQU     0600H       ;IOY0
P8255B      EQU     0602H 
P8255C      EQU     0604H 
P8255M      EQU     0606H
;---------------------------------------------------------------
DATA        SEGMENT 
DISCODE     DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H     ;0--7的显示代码
            DB      7FH,6FH,77H,7CH,39H,5EH,79H,71H     ;8--F的显示代码
DECIMAL     DB      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值