步进电机控制系统设计Word文件下载.docx
《步进电机控制系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《步进电机控制系统设计Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
统
总
线
图1系统硬件原理图
各硬件单元功能说明及I/O口、功能键分配
(1)8255芯片:
8255作为整个系统的主控单元,与系统总线连接,接受外部控制信息,并通过设定的I/O口将控制信息输出到数码管显示单元,LED显示单元及驱动电路。
系统设置8255工作方式0,A、B、C口均为输出,PA0—PA7与数码管相连显示剩余工作步数,PB0—PB3连接电动机的A、B、C、D四相控制电动机的运转,PC0,PC1分别与LED0、LED1连接,PB4—PB7及PC3—PC7不用。
(2)键盘模拟功能键:
“0”键控制起动,“1”键控制选择单四拍正转工作方式,“2”健控制选择单四拍反转工作方式,“3”键控制选择双四拍正转工作方式,“4”键控制选择双四拍反转工作方式,“5”键控制四相八拍正转工作方式,“6”键控制选择四相八拍反转工作方式,“7”键控制选择停止退出程序。
(3)驱动电路:
驱动步进电机。
I/O及功能键分配表如表1所示
表1I/O及功能键分配表
I/O口及功能键
PA0—PA7
PB0—PB3
PC0
PC1
0键
1键
2键
分配
数码管控制接口
步进电机驱动接口
反转指示
正转指示
起动
单四拍正转
单四拍反转
3键
4键
5键
6键
7键
--
双四拍正转
双四拍反转
四相八拍正转
四相八拍反转
退出
硬件连接图
系统软件设计
工作方式下的控制模型
单四拍正转、单四拍反转、双四拍正转、双四拍反转、四相八拍正转及四相八拍反转六种工作方式下的控制模型分别如表2、3、4、5、6、7所示。
表2单四拍正转控制数字模型
步序
D相
C相
B相
A相
字模
PB3
PB2
PB1
PB0
1
01H
2
02H
3
04H
4
08H
表3单四拍反转控制数字模型
表4双四拍正转控制模型
03H
06H
0CH
09H
表5双四拍反转控制模型
表6八拍正转控制模型
5
6
7
8
表7八拍反转控制模型
流程图
图3程序流程图
结束语
计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要计算机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
此次课程设计选作的是步进电机控制系统设计,设计要求1.通电方式选择键三个,分别为单四拍、双四拍和四相八拍;
2.启动键和方向控制键;
3.正反转指示灯;
4.剩余工作步数LED显示。
此次课程设计经过前期查找资料,设计硬件电路,自编初步程序,设计期间在实验室调试程序,最终实现了以上基本功能,并且还实现了在不同工作方式之间的切换,屏幕显示剩余拍数两项功能,对步进电机的控制有了初步了解,同时也对芯片8255,数码管显示部分加强了运用。
通过此次设计,将所学的专业理论知识与实际开发实际结合起来,理论联系实际,提高了专业技能。
在设计过程中得到了同学的帮助,老师的指导,在此一并感谢!
;
源程序如下:
***************根据CHECK配置信息修改下列符号值*******************
IOY0EQU9800H;
片选IOY0对应的端口始地址
*****************************************************************
MY8255_AEQUIOY0+00H*4;
8255的A口地址
MY8255_BEQUIOY0+01H*4;
8255的B口地址
MY8255_CEQUIOY0+02H*4;
8255的C口地址
MY8255_MODEEQUIOY0+03H*4;
8255的控制寄存器地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
KEQU09H;
工作步数
TABSZDB01H,02H,04H,08H;
单四拍正转模型
TABSFDB08H,04H,02H,01H;
单四拍反转模型模型
TABSHZDB03H,06H,0CH,09H;
双四拍正转模型
TABSHFDB09H,0CH,06H,03H;
双四拍反转模型
TABBZDB01H,03H,02H,06H,04H,0CH,08H,09H;
八拍正转模型
TABBFDB09H,08H,0CH,04H,06H,02H,03H,01H;
八拍反转模型
TABLE1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;
七段数码管字模
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H;
初始化8255,工作方式0,A,、B、C口均为输出
MOVDX,MY8255_MODE
OUTDX,AL
WAIT1:
MOVAH,08H;
等待启动键“0”按下
INT21H
CMPAL,30H
JEMAIN
JMPWAIT1
MAIN:
MOVAH,08H;
判断工作方式控制键是否按下
INT21H;
若键按下转到相应的程序,否则循环等待.
CMPAL,31H
JEZHENGSI;
转单四拍正转
CMPAL,32H
JEFANSI;
转单四拍反转
CMPAL,33H
JESHUANGSI;
转双四拍正转
CMPAL,34H
JESHUANGSI1;
转双四拍反转
CMPAL,35H
JESIBA0;
转四相八拍正转
CMPAL,36H
JESIBA1;
转四相八拍反转
CMPAL,37H
JEQUIT1
JMPMAIN
ZHENGSI:
MOVAL,02H;
点亮正转指示灯
MOVDX,MY8255_C
MOVCL,K
ZHENGSI0:
LEABX,TABLE1;
数码管显示剩余步数
MOVAL,CL
XLAT
MOVDX,MY8255_A
OUTDX,AL
ZHENGSI1:
MOVBL,04H;
驱动电机
MOVDX,MY8255_B
LEADI,TABSZ
ZHENGSI2:
MOVAH,0BH;
判断是否有按键切换工作方式
INT21H;
有按键跳回判断按键对应程序,否则继续执行程序
INCAL
JZMAIN
CALLXIAN;
调用显示子程序,显示工作剩余拍数
MOVAL,[DI]
CALLDLY;
调用延时子程序
INCDI
DECBL;
判断是否工作完所有拍数,有则退出等待重选工作方式,否则继续循环
JNZZHENGSI2
DECCL
JNZZHENGSI0
JMPWAIT1
中间跳转
SHUANGSI:
JMPSHSIZH
SHUANGSI1:
JMPSHSIF
FANSI:
MOVAL,01H;
点亮反转指示灯LED0
FANSI0:
LEABX,TABLE1
FANSI1:
MOVBL,04H
LEADI,TABSF
FANSI2:
MOVAH,0BH
INT21H
CALLXIAN
CALLDLY
DECBL
JNZFANSI2
JNZFANSI0
JMPWAIT00
SIBA0:
JMPSIBAZH
SIBA1:
JMPSIBAF
MAIN1:
JMPMAIN
QUIT1:
JMPQUIT
SHSIZH:
MOVAL,02H
SHSIZH0:
SHSIZH1:
MOVBL,08H
LEADI,TABSHZ
SHSIZH2:
JZMAIN1
CALLXIAN
JNZSHSIZH2
JNZSIBAZH0
JMPWAIT1
中间跳转程序
WAIT00:
SHSIF:
MOVAL,01H
MOVCL,K
SHSIF0:
SHSIF1:
MOVBL,4
LEADI,TABSHF
SHSIF2:
JNZSHSIF2
JNZSHSIF0
JMPWAIT00
MAIN11:
JMPMAIN1
SIBAZH:
SIBAZH0:
SIBAZH1:
LEADI,TABBZ
SIBAZH2:
JZMAIN11
CALLXIAN
JNZSIBAZH2
SIBAF:
MOVAL,01H
SIBAF0:
MOVAH,0BH
XLAT
SIBAF1:
LEADI,TABBF
SIBAF2:
JNZSIBAF2
JNZSIBAF0
QUIT:
MOVDX,MY8255_A;
结束退出程序
MOVAL,00H
MOVAX,4C00H
INT21H
软件延时子程序
DLYPROCNEAR
PUSHCX
PUSHAX
MOVCX,0FFFFH
D1:
MOVAX,5FFFH
D2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RET
DLYENDP
XIANPROCNEAR;
剩余拍数显示子程序
PUSHDX
MOVDL,BL
ADDDL,30H
MOVAH,02H
MOVDL,20H
POPDX
RET
XIANENDP
CODEENDS
ENDSTART