微控课设 步进电机.docx
- 文档编号:8972370
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:45
- 大小:300.58KB
微控课设 步进电机.docx
《微控课设 步进电机.docx》由会员分享,可在线阅读,更多相关《微控课设 步进电机.docx(45页珍藏版)》请在冰豆网上搜索。
微控课设步进电机
计算机控制技术课程设计指导书
计算机控制技术
课程设计报告
设计题目:
步进电机控制系统设计
班级:
学号:
姓名:
时间:
目录
1系统概述-
2系统硬件设计-
2.1系统硬件原理图-
2.2各硬件单元功能说明及I/O口、功能键分配-
2.3硬件连接图-
3系统软件设计-
3.1工作方式下的控制模型-
3.2流程图-
4结束语-
系统概述
步进电动机是一种将电脉冲信号转换相应的角位移的特种电动机。
是工业过程控制及仪表中的主要控制元件之一。
步进电动机具有快速起动能力,而且精度高,在数字控制系统中可以直接接受来自计算机的数字信号,不需要进行数/模转换,所以步进电动机在定位场合得到了广泛应用。
本次课程设计通过键盘控制四相电动机的起动,单四拍、双四拍、四相八拍三种
工作方式及正反转的选择。
并通过七段数码管显示剩余工作步数。
从而达到手动控制与直观显示的结合。
本系统应用芯片8255,LED显示单元,键盘模拟控制键,四相步进电动机及其驱动电路,接线较为简单。
软件编程采用的是汇编语言,程序中包括主程序,显示子程序,延时子程序。
设计目的
计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要计算机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
系统硬件设计
1系统硬件原理图
系
统
总
线
图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—LED7连接,PB4—PB7不用。
(2)键盘模拟功能键:
“0”键控制起动,“1”键控制选择单四拍正转工作方式,“2”健控制选择单四拍反转工作方式,“3”键控制选择双四拍正转工作方式,“4”键控制选择双四拍反转工作方式,“5”键控制四相八拍正转工作方式,“6”键控制选择四相八拍反转工作方式,“7”键控制选择是否按要求转动,“8”
键控制选择是否按要求转动的正转或者反转。
“9”键控制选择停止退出程序。
(3)驱动电路:
驱动步进电机。
I/O及功能键分配表如表1所示
表1I/O及功能键分配表
I/O口及功能键
PA0—PA7
PB0—PB3
PC0
PC1
0键
1键
2键
分配
数码管控制接口
步进电机驱动接口
反转指示
正转指示
起动
单四拍正转
单四拍反转
I/O口及功能键
3键
4键
5键
6键
7键
8键
9jian
分配
双四拍正转
双四拍反转
四相八拍正转
四相八拍反转
按要求转动
按要求转动的正/反转
退出
硬件连接图
工作方式下的控制模型
单四拍正转、单四拍反转、双四拍正转、双四拍反转、四相八拍正转及四相八拍反转六种工作方式下的控制模型分别如表2、3、4、5、6、7所示。
表2单四拍正转控制数字模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
0
0
0
1
01H
2
0
0
1
0
02H
3
0
1
0
0
04H
4
1
0
0
0
08H
表3单四拍反转控制数字模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
1
0
0
0
08H
2
0
1
0
0
04H
3
0
0
1
0
02H
4
0
0
0
1
01H
表4双四拍正转控制模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
0
0
1
1
03H
2
0
1
1
0
06H
3
1
1
0
0
0CH
4
1
0
0
1
09H
表5双四拍反转控制模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
1
0
0
1
09H
2
1
1
0
0
0CH
3
0
1
1
0
06H
4
0
0
1
1
03H
表6四相八拍正转模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
0
0
0
1
01H
2
0
0
1
1
03H
3
0
0
1
0
02H
4
0
1
1
0
06H
5
0
1
0
0
04H
6
1
1
0
0
0CH
7
1
0
0
0
08H
8
1
0
0
1
09H
表7四相八拍正转模型
步序
D相
C相
B相
A相
控制模型
PB3
PB2
PB1
PB0
1
1
0
0
1
09H
2
1
0
0
0
08H
3
1
1
0
0
0CH
4
0
1
0
0
04H
5
0
1
1
0
06H
6
0
0
1
0
02H
7
0
0
1
1
03H
8
0
0
0
1
01H
流程图
图3程序流程图
结束语
计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要计算机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
此次课程设计选作的是步进电机控制系统设计,设计要求1.通电方式选择键三个,分别为单四拍、双四拍和四相八拍;2.启动键和方向控制键;3.正反转指示灯;4.剩余工作步数LED显示。
令加入可以按照需要转动的方式选择键和可中途改变转动方式。
此次课程设计经过前期查找资料,设计硬件电路,自编初步程序,设计期间在实验室调试程序,最终实现了以上基本功能,并且还实现了在不同工作方式之间的切换,屏幕显示剩余拍数两项功能,对步进电机的控制有了初步了解,同时也对芯片8255,数码管显示部分加强了运用。
通过此次设计,将所学的专业理论知识与实际开发实际结合起来,理论联系实际,提高了专业技能。
在设计过程中得到了同学的帮助,老师的指导,在此一并感谢!
;源程序如下:
;***************根据CHECK配置信息修改下列符号值*******************
IOY0EQU0D200H
;*****************************************************************
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
CHUDB'0ISQIDONG'
DB0AH,0DH
DB'1ISDANSIPAIZHENGZHUAN'
DB0AH,0DH
DB'2ISDANSIPAIFANZHUAN'
DB0AH,0DH
DB'3ISSHUANGSIPAIZHENGZHUAN'
DB0AH,0DH
DB'4ISSHUANGSIPAIFANZHUAN'
DB0AH,0DH
DB'5ISSIXIANGBAPAIZHENGZHUAN'
DB0AH,0DH
DB'6ISSIXIANGBAPAIFANZHUAN'
DB0AH,0DH
DB'7ISANYAOQIUZHUANDONG'
DB0AH,0DH
DB'8ISANYAOQIZHUANDONGXIANZHENGZHUANORXIANFANZHUAN'
DB0AH,0DH
DB'9ISTUICHU'
DB0AH,0DH;屏幕显示功能按键
HANGDB'',0DH,0AH,'$';换行
CW_TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H;七段数码管字模
CW_TABLE1DB01H,02H,04H,08H;单四拍正转模型
CW_TABLE2DB01H,08H,04H,02H;单四拍反转模型
CW_TABLE3DB03H,06H,0CH,09H;双四拍正转模型
CW_TABLE4DB03H,09H,0CH,06H;双四拍反转模型
CW_TABLE5DB01H,03H,02H,06H,04H,0CH,08H,09H;四相八拍正转模型
CW_TABLE6DB01H,09H,08H,0CH,04H,06H,02H,03H;四相八拍反转模型
SAMP1DB04H;单四拍,双四拍步序数
SAMP2DB08H;四相八拍步序数
KEQU09H;工作步数
MEQU0AH;按要求反转的步数
CNTDB09H;工作步数
CNT1DW09H;按要求正转的步数
CNT2DW0AH;按要求反转的步数
CNT3DB09H;工作步数
CNT4DW09H;按要求正转的步数
CNT5DW0AH;按要求反转的步数
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,CHU;屏幕显示数字功能按键
MOVAH,09H
INT21H
CALLDELAY
MOVAL,80H
MOVDX,MY8255_MODE
OUTDX,AL;;初始化8255,工作方式0,A,、B、C口均为输出
MOVAL,CNT
MOVAH,00H
MOVBP,AX
WAIT1:
MOVAH,08H
INT21H
CMPAL,30H;等待启动键“0”按下
JEA1
JMPWAIT1
A1:
PUSHAX;换行
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
MOVAL,80H
MOVDX,MY8255_C
OUTDX,AL;LED7亮
MOVAH,08H;判断工作方式控制键是否按下
INT21H;若键按下转到相应的程序,否则循环等待.
CMPAL,31H
JEG1;转单四拍正转
CMPAL,32H
JEG2;转单四拍反转
CMPAL,33H
JNEY1
JMPG3;转双四拍正转
Y1:
CMPAL,34H
JNEY2
JMPG4;转双四拍反转
Y2:
CMPAL,35H
JNEY3
JMPG5;转四相八拍正转
Y3:
CMPAL,36H
JNEY4
JMPG6;转四相八拍反转
Y4:
CMPAL,37H
JNEY5
JMPG7;转按要求转动
Y5:
CMPAL,39H
JNEY6
JMPA8;转结束
Y6:
JMPWAIT1
G1:
MOVAL,85H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN1;调用显示1子程序
CALLXIAN3;调用显示3子程序
J1:
MOVBX,OFFSETCW_TABLE1;单四拍正转
MOVCX,0004H
A2:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY;调用延时子程序
INCBX;判断是否工作完所有拍数,有则退出等待重选工作方式,否则继续循环
CALLXIAN1;调用显示1子程序
PUSHAX;判断是否切换其他工作方式
MOVAH,0BH
INT21H
INCAL
JNZT1
MOVCNT,K
JMPA1
POPAX
T1:
LOOPA2
DECBP
CALLXIAN3;调用显示3子程序
JNZJ1
PUSHAX;换行
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1;跳回A1等待下次运行
G2:
MOVAL,86H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN1
CALLXIAN3
J2:
MOVBX,OFFSETCW_TABLE2;单四拍反转
MOVCX,0004H
A3:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN1
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT2
MOVCNT,K
JMPA1
POPAX
T2:
LOOPA3
DECBP
CALLXIAN3
JNZJ2
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1
G3:
MOVAL,89H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN1
CALLXIAN3
J3:
MOVBX,OFFSETCW_TABLE3;双四拍正转
MOVCX,0004H
A4:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN1
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT3
MOVCNT,K
JMPA1
POPAX
T3:
LOOPA4
DECBP
CALLXIAN3
JNZJ3
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1
G4:
MOVAL,8AH
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN1
CALLXIAN3
J4:
MOVBX,OFFSETCW_TABLE4;双四拍反转
MOVCX,0004H
A5:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN1
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT4
MOVCNT,K
JMPA1
POPAX
T4:
LOOPA5
DECBP
CALLXIAN3
JNZJ4
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1
G5:
MOVAL,91H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN2
CALLXIAN3
J5:
MOVBX,OFFSETCW_TABLE5;四相八拍反转
MOVCX,0008H
A6:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN2;调用显示2子程序
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT5
MOVCNT,K
JMPA1
POPAX
T5:
LOOPA6
DECBP
CALLXIAN3
JNZJ5
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1
G6:
MOVAL,92H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN2
CALLXIAN3
J6:
MOVBX,OFFSETCW_TABLE6;四相八拍反转
MOVCX,0008H
A7:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN2
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT6
MOVCNT,K
JMPA1
POPAX
T6:
LOOPA7
DECBP
CALLXIAN3
JNZJ6
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
JMPA1
G7:
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
MOVAL,0A0H
MOVDX,MY8255_C
OUTDX,AL
B1:
MOVAH,08H
INT21H
CMPAL,38H;判断按要求转动是先正传还是反转
JEB2;先正传
JMPB3;先反转
B2:
CALLXIAN4;调用显示4子程序
MOVAL,08H;判断用哪种方式转动
INT21H
CMPAL,31H
JEG8;单四拍
CMPAL,33H
JNEY7
JMPG9;双四拍
Y7:
CMPAL,35H
JNEY8
JMPG10;四相八拍
Y8:
JMPA1;返回A1,等待下次运行
B3:
CALLXIAN5;调用显示5子程序
MOVAH,08H
INT21H;判断用哪种方式转动
CMPAL,31H
JNEY9
JMPG11;单四拍
Y9:
CMPAL,33H
JNEY10
JMPG12;双四拍
Y10:
CMPAL,34H
JNEY11
JMPG13;四相八拍
Y11:
JMPA1
G8:
MOVAL,0E5H
MOVDX,MY8255_C
OUTDX,AL
CALLXIAN1
AA:
MOVBP,CNT1;先正转的步数
AA1:
MOVBX,OFFSETCW_TABLE1;单四拍正转
MOVCX,0004H
AA2:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN1
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT7
MOVCNT1,K
JMPA1
POPAX
T7:
LOOPAA2
DECBP
CALLXIAN4
JNZAA1
MOVBP,CNT2;后反转的步数
PUSHAX
PUSHDX
LEADX,HANG
MOVAH,09H
INT21H
POPDX
POPAX
CALLXIAN5
CALLXIAN1
MOVAL,0E6H
MOVDX,MY8255_C
OUTDX,AL
AA3:
MOVBX,OFFSETCW_TABLE2;单四拍反转
MOVCX,0004H
AA4:
MOVAL,[BX]
MOVDX,MY8255_B
OUTDX,AL
CALLDELAY
INCBX
CALLXIAN1
PUSHAX
MOVAH,0BH
INT21H
INCAL
JNZT8
MOVC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微控课设 步进电机 步进 电机