微机原理与接口技术课程设计报告.docx
《微机原理与接口技术课程设计报告.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术课程设计报告
步进电机转动控制设计报告
摘要
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元
件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号
的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,
电机则转过一个步距角。
步进电机控制系统以8088作为控制的核心
元件,利用8255的A口控制步进电机,C口连接K0-K7,以选取不
同档的移动速度,同时获取控制转动方向(即正转和反转).
本课程设计报告通过步进电机的基本介绍、系统的软硬件设计
(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱
动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了
对步进电机系统的设计,并完成了相应的任务,如正转、反转、正向
加速、反向加速等,使我们进一步掌握了汇编语言,也使我们能很好
的把书本上的知识与实践相结合,大大提高了我们的动手能力
关键字:
步进电机;8086CPU;8255可编程I/O接口芯片;汇编语言
摘要,,,,,,,,,,,,,,,,,,,,,,,,1
1
步进电机转动控制设计报告
1.1步进电机转动控制的设计要求与设计方案
1.2步进电机转动控制的要求与功能....................3
1.3总体设计方案.................................3
一、步进电机转动控制设计的硬件设计
二、2.1步进电机转动控制的硬件框图,,,,,,,,,,,,4
2.2步进电机驱动原理,,,,,,,,,,,,,,,,,4
三、步进电机转动控制软件设计
3.1主程序流程图,,,,,,,,,,,,,,,,,,,6
3.28255初始化,,,,,,,,,,,,,,,,,,,,7
四、步进电机硬/软件的调试
4.1硬件调试,,,,,,,,,,,,,,,,,,,,,,8
4.2软件调试,,,,,,,,,,,,,,,,,,,,,,8
4.3调试过程,,,,,,,,,,,,,,,,,,,,,,8
五、设计总结,,,,,,,,,,,,,,,,,,,,9
附录一,,,,,,,,,,,,,,,,,,,,,,,10
一、步进电机控制的设计要求与设计方案
2
步进电机转动控制设计报告
1.1步进电机转动控制的要求与功能
使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实
现两个以上功能)
1.启动与停止控制:
用户拨动某一指定键后可以实现电机的启动与停止的控制
2.方向的控制:
用户将某一指定键拨向上可以实现电机的正转,拨向下实现电
机的反转
3.速度的控制:
用户将另一指定键拨向上可以实现电机的加速转动,拨向下实
现电机的减速转动
4.综合控制:
用户一起拨动上述的按键后可以实现电机的加速正转,减速反转
等操作;
1.2总体设计方案
选用TN88\86实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A
芯片单元模块、步进电机单元模块。
通过微机编程与下载到实验箱上。
实现软硬
结合控制步进电机的转动
二、步进电机转动控制设计的硬件设计
2.1步进电机转动控制的硬件框图
1、按图2-1连接线路,用8255输出脉冲序列,开关K0~K6控制步进电机转
速,K7控制步进电机转向。
2、PA0~PA3接电机的驱动端;PC0~PC7接K0~K7。
3、编写程序实现步进电机的顺时针旋转控制。
当K0中任一开关为“1”向
3
步进电机转动控制设计报告
上拨时步进电机启动,全部为“0”时步进电机停止,其中K0为“1”时速度最
慢,K6为“1”时速度最快。
K7为“1”(向上拨)时步进电机顺时针转动,为“0”
(向下拨)时逆时针转动。
图2.1
2.2步进电机驱动原理
步进电机驱动原理:
如图2-2-1是通过对每相线圈中的电流的顺序切换来使电机
作步进式旋转。
线圈的通电顺序决定了步进电机的旋转方向(顺时针或逆时针)。
驱动电路由脉冲信号来控制,所以,调节脉冲信号的频率便可改变步进电机的转
速。
如图2-2-1所示:
本实验使用的步进电机用直流+5V电压,每相电流0.16A
电机线圈由四相组成:
即:
φ1(BA)
φ2(BB)
φ3(BC)
φ4(BD
4
步进电机转动控制设计报告
图2-2-1
驱动方式为二相激磁方式,各线圈通电顺序如下表:
表2-2-2
表2-2-2中首先向1和2线圈输入驱动电流,接着依次向2和3,3和4,4和1
输入驱动电流,最后再返回到1和2,按这种顺序切换可使步进电机实现顺时针
方向旋转。
实验中可通过不同的时间延时来得到不同频率的步进电机输入脉冲,
从而得到各种不同的电机转速。
5
步进电机转动控制设计报告
三、步进电机转动控制软件设计
3.1主程序流程图
开始
8255初始化,A口输入C口输出
返回DOS
33H==>BUF
BUF内容从8255A口输出
置延时时间
Y
键盘有无按键按下
NY
K4=1?
N读开关状态
延时延时
K0-k6=1?
N
置停止信息
控制信息循环右移一位控制信息循环左移一位
图3.1主程序流程图
6
步进电机转动控制设计报告
选用8255的A口做输出,C口做输入。
BUF输出给电机驱动端,通过检测开
关,赋给不同的延时值和不同的移位命令,改变转速转向。
不停的循环输出,使
得电机转动。
通过改变CX的赋值来控制电动机的转动速度。
CX越小电动机的转
动速度越大。
也可以通过改变BL的值来改变单个开关的速度。
我们把CX称为总
开关,BL成为分开关。
从而达到从K0到K6速度逐渐变快,而K7控制电动机的
反转。
当K7闭合时电动机反转。
3.28255初始化
8255的片选信号CS接288H~28FH。
PA0~PA3接电机的驱动端;PC0~PC7
接K0~K7。
8255A芯片一般占用四个连续的口地址,按照从高到低分别为:
控制口、C
口、B口、A口。
8255共有三种工作方式:
方式0:
基本输入输出;方式1:
中断工作方式;
方式2:
双通输入输出,仅有A口。
D7—D0:
10001001A口输出,C口输入。
图3.28255引脚分析
7
步进电机转动控制设计报告
四、步进电机硬/软件的调试
4.1硬件调试
4.1.1断电调试
为了安全,首先进行断电调试,用万用表检测系统是否有短路现象,再检查
严原理是否正确。
经检测,原理正确也没有短路现象。
4.1.2通电调试
打开电源,下载程序,看是否正常
4.2软件调试
将写好的源程序在软件上编译连接,直接下载到实验箱,观察现
象。
经过多次调试后达到了设计要求
4.3总调试过程
在第一次下载后运行时,电机不转动,查找原因,发现电源接口没有接对,
经修改后运行正确。
8
步进电机转动控制设计报告
五、设计总结
通过本次课程设计,使自己的动手实践与所学知识结合应用的能力有了很大
的提高,让我认识到实践的重要性,但同时要实际应用过和当中,也发现理论知
识的重要性,没有理论知识的支撑,是不能很好的完成本次课程设的。
在设计实
验的过程中,不断的让理论与实践结合,讲课堂上所学的知识转化为在实践中所
需的过程,这个过程对我学习很宝贵。
本次设计步进电机转动控制,通过我掌握了的微机原理与接口技术知识,查
资料、XX、请教同学老师等等。
虽然,知识固然重要,但废寝忘食般的研究态
度和乐于助人的品格更需要提倡。
通过利用8255A芯片来实现步进电机控制转动
的设计应用,不仅为以后的学习实践打下了基础,并且很好的消化了所学知识的
难点、问题。
在设计过程当中也发现了自己经验的不足。
首先是对试验箱的认识和应用,
很多模块的使用存在误解。
然后就是在编程序方面的,有好多程序只是一知半懂,
不能熟练地操作,需要提示和看书,需要大量的练习,为以后的学习指明方向。
在完成自己所涉及项目后参与到其他同学的项目里,共同研究学习,互相帮助不
仅帮助了他人,还扩展了自己的实践能力。
感谢老师提供给我们实践课本知识的机会,并且认真地陪同学生一起设计课
程设计,奠基了以后自主研究设计项目的能力
9
步进电机转动控制设计报告
附录一源程序
P55AEQU60H8255A口输出
P55CEQU62H8255C口输入
P55CTRLEQU63H8255控制口
DATASEGMENT
BUFDB0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVDX,P55CTRL
MOVAL,89H
OUTDX,AL;8255C输入,A输出
MOVBUF,33H
OUT1:
MOVAL,BUF
MOVDX,P55A
OUTDX,ALIN1
MOVDX,P55C
INAL,DX;读开关状态
TESTAL,01H
JNZK0
TESTAL,02H
JNZK1
TESTAL,04H
JNZK2
TESTAL,08H
JNZK3
TESTAL,10HJNZK4
TESTAL,20HJNZK5
TESTAL,40HJNZK6
10
步进电机转动控制设计报告
STOP:
JMPOUT1
K0:
MOVBL,10H
SAM:
TESTAL,80H
JZZX0
JMPNX0
K1:
MOVBL,18H
JMPSAM
K2:
MOVBL,20H;
JMPSAM
K3:
MOVBL,40H;
JMPSAM
K4:
MOVBL,80H;
JMPSAM
K5:
MOVBL,0C0H;
JMPSAM
K6:
MOVBL,0FFH;
JMPSAM
ZX0:
CALLDELAY
MOVAL,BUF
RORAL,01H;循环右移
MOVBUF,AL
JMPOUT1
NX0:
CALLDELAY
MOVAL,BUF
ROLAL,01H;循环左移
MOVBUF,AL
JMPOUT1DELAYPROCNEAR
DELAY1:
MOVCX,0100H
DELAY2:
LOOPDELAY2
11
步进电机转动控制设计报告
DECBL;减1指令
JNZDELAY1;ZF位标志是否为1
RET
DELAYENDP
CODEENDS
ENDSTAR
12