【精编】基于8086的步进电机控制毕业论文含源文件_第1页
【精编】基于8086的步进电机控制毕业论文含源文件_第2页
【精编】基于8086的步进电机控制毕业论文含源文件_第3页
【精编】基于8086的步进电机控制毕业论文含源文件_第4页
【精编】基于8086的步进电机控制毕业论文含源文件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(此文档为word格式,下载后您可任意编辑修改!)西安电子科技大学微型计算机原理课程设计题目基于8086的步进电机控制学生姓名专业班级11级计嵌班学号201院(系)信息工程学院指导教师1231456710812完成时间年月日课程设计的目的,,课程设计的任务与要求设计方案与论证,2设计内容及功能说明,35.1 励磁线圈及其励磁顺序,35.2 工作原理,45.3 8086CPU,55.4 8255工作方式选择,65.5 ULN2003A,65.6 74LS273,75.7 74LS138,_,7单元电路的设计(计算与说明),7硬件的制作与调试,总结附录1:总体电路原理图,14附录2:元器件清单,1

2、4附录3:源程序代码,151课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行IO口的工作方式以及编程方

3、法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。体会系统整体设计的流程与方法,为以后系统级设计积累经验。培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。2课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02.通过开关K2来选择步进电机的正转与反转;03.通过开关K3,K4组成(2-4译码)四档电机转速选择;04.对每只开关的选择情况同时通过4位8段数码管来显示;05.扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。

4、3引言步进电机的原理是基于最基本的电磁铁作用,其模型起源于1830年之1860年,1870年后开始以控制为目的的尝试,应用于氮弧灯的电极输送机构中,这被认为是最初的步进电机,此后步进电机被广泛使用1o步进电机是将脉冲信号转换成角位移或线位移的开环控制源步进电机件。在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按固定的方向旋转一定的角度,称为:“步距角”,它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的角速度和加

5、速度,从而达到调速的目的2。步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。目前,计算机外围设备,打字机,数控机床,传真机等设备,都使用了步进电机。随着电子计算机技术的发展,步进电机必将发挥它的控制方便,准确控制的特点,在工业控制的领域取得广泛的应用。4设计方案与论证本设计采用电压为DC12V勺四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003.根据课题要求,用8086处理器和可编程并行接口芯片8255组成控制系统,控制步进电机正转、反转以及转

6、速控制,步进电机不能直接由8255驱动,而需要用相应的驱动芯片,因此,控制系统直接控制电机驱动即可控制步进电机。转向分别用逆时针转动片段转速和顺时针转动片段则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速快。设计流程图如下:图4-1总体设计流程图本步进电机控制系统通过四个键盘来控制步进电机的正转、反转、启动和停止以及转速,步进电机旋转的角度取决于键盘接通时间长短,接通时间越长,旋转角度越大,其功能表如表41所示。表4-1键盘功能表键盘状态电机动作K1接通电机启动K1Wr#电机停止K2接通电机顺时针旋转K2断开电机逆时针旋转K3接通电机2档

7、转速K4接通电机4档转速KaK4接通电机3档转速5设计原理及功能说明在该步进电机控制系统中,需要接收键盘信息并识别,然后将数据传送给步进电机使步进电机旋转,采用8086CPUW8255接口芯片是可行的3,系统框图如图5-1所示图5-1系统方框图5.1励磁线圈及其励磁顺序图5-2励磁线圈图表5-3励磁顺序走5.2工作原理:4相步进电机不意图rm-Pr-rrp、升k-i-t-Prr-、e-f-/乎x-rt123455+4-3-2-1四相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成图5-4电机定子和转子示意图图5-5电气连接示意图当S1连通电源后,定子磁场将产生一个靠近转子

8、为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:图5-6电机旋转模拟图若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理DO位DI位D2位1D3位图5-78255A向步进电机发出的控制脉冲5.3 8086CPU:现将8086的引脚图和各引脚功能列出如下4:8086CPU勺40条引脚信号可按功能分可分为四类,它们是:地址总线,

9、数据总线,控制总线,其它(时钟与电源)。在最小模式下各引脚功能(MNM就+5V):AD15AD0地址数据总线A19S6A16S3地址状态总线BHES7,高8位数据允许状态线MNMX最小最大模式控制信号,输入RD读信号WR写信号MIQ存储器输入输出控制信号ALE,地址锁存允许信号READY(Ready)准备就绪信号INTR,可屏蔽中断请求信号?INTA,中断响应信号?NMI,非屏蔽中断请求信号?RESET系统复位信号?DEN数据允许信号?DTR数据发送接收控制信号?HOLD总线保持请求信号输入?HLDA总线保持响应信号?TEST测试信号?CLK时钟输入信号?VCC(+5V)GND5.4 8255

10、工作方式选择:8255有三个数据端口(A口、B口、CD),8255有三种基本的工作方式,分别为:方式一(基本输入输出方式),方式二(选通输入输出方式),方式三(双向总线IO方式)。其中A口可选择三种方式中的任意一种,B口只能选择方式0或方式1,C口常用作两个4为端口,若工作于方式0,其高四位工作方式与A端口一致,低四位与工作方式与端口B一致;若工作于其余两种方式,端口的部分信号作为A口和B口的控制联络信号。5.5 ULN2003A:ULN2003A是高压大电流达林顿晶体管阵列,由功率电路来扩展输出电流以满足被控元件的电流,电压5。具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应

11、于各类要求高速大功率驱动的系统。ULN2003A芯片主要用于如下领域:伺服电机,步进电机,电磁阀,可控照明灯。5.6 74LS273:74LS273是一种带消除功能的8D触发器,1D8D为数据输入端,1QH8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。5.7 74LS138:74LS138为3线-8线译码器。引出端口号:B、C译码地址输入端G1选通端(G2A)、(G2B)选通端(低电平有效)Y0Y7译码输出端(低电平有效)6单元电路的设计(计算与说明)本电路采用8086CPK控制,8086是16位CPU采用高性能的N沟道、耗尽型负载的硅栅工艺制造8086拥有四个16位的通用寄

12、存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K8位元的输出输入,以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。8086有四个内存区段寄存器,可以从索引寄存器来设定。区段寄存器可以让CPU利用特殊的方式存取1MB内存。8086把段地址左移4位然后把它加上偏移地址。8086的寻址方式改变让内存扩充较有效率。8086处理器的时钟频率介于4.77MHz和10MHz之间。以8086CPU勾成的微型计算机系统,有最小模式和最大模式两种配

13、置。最小模式是单机系统,系统中所需要的控制信号全部由8086CPU*身提供;最大模式可以构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供。CPUX作模式的选择是由硬件决定的,当CPU的管脚接高电平时,构成最小模式;当接低电平的时候,构成最大模式。因为步进电机控制系统是一个单处理机系统,因而接高电平,构成最小模式。8086通过16根数据总线来实现与8255的通信,高八位通过74HC37领存器控制8255的四个端口,低八位与8255进行数据交换6。8255四个端口的地址见表2.2.1所示表6-18255各端口地址分配8255端口端口地址A端口IOY0+00H*4B端口IOY0+01

14、H*4C端口IOY0+02H*4控制端口IOY0+03H*48255与CPU连接部分:8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A10A0、A1的组合与端口关系如表2.2.2所示。表6-2A1、AQffl合与端口关系此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。数据总线DB用于8255与CPU传送8位数据,地址总线AB用于选择A、B、C口与控制寄存器,控制总线CB用于片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作

15、时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。与外设接口部分:8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。A口用于8255向外设输入输出8位并行数据,B口用于8255向外设输入输出8位并行数据,C口用于8255向外设输入输出8位并行数据,当8255工作于应答IO方式时,C用于应答信号的通信。控制器:8255将3个通道分为两组,即A组和B组,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下为:A组控制器控制A口与上C

16、口的输入与输出;B组控制器控制B口与下C口的输入与输出。8255具有3个相互独立的输入输出通道端口,用+5V单电源供电,能在三种方式下工作,具体方式见表2.2.3。表6-38255工作方式力式0基本输入输出力式方式1选通输入输出方式方式2双向传输方式74HC373为三态输出锁存器,可用来驱动数据总线。当OE为高电平时,D0一D存高阻态,不驱动数据总线,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,Q被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mM图6-1步进电机模块步进电机能将数字信号转换为角位

17、移。步进电机输入一个电脉冲就前进一步,其输入的角位移与输入的脉冲数成正比,转速与脉冲频率成正比。从8255端口输出的脉冲,其电流还不足以驱动三相步进电机,因而在步进电机和8255中间接一个驱动芯片ULN2003。ULN2003A是一种高耐压、大电流复合晶体管,由七个硅NPN复合晶体管组成,灌电流可达500mA并且能够在关态时承受50V的电压,输出还可以在高负载电流状态下并行运行7。7碘种的跳作潜制撼系51225467431代驾程序文档,指导毕业设计、课程设计在上述功能模块以及工作原理的基础上,为了探索8086CPU在proteus仿真软件中实现对步进电机的控制,简单了解仿真软件的应用,以及更形

18、象的展现对步进电机控制的方法,在计算机上安装proteus软件并用proteus仿真软件对电路的各器件进行电路连接并载入EXE程序运行文件给与不断调试,最终使得电路图能够正常运转。如下图为电路连接图VSSU5AD174AD187AD19-8-13141718ALE11-1AD163U6U4D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7*CLKMR161974LS2732A165A176A18*9A19-*1215AD03D0ADI4D1AD21/D2AD38D3AD4-R-D4一AAD5.14D5AD617D6AD7*-18D7ALE11A.CLK1MR7,74LS2732A

19、0AD832A8Q0D0Q0-L一5A1AD4Q1D1Q16A2AD10-7-6A15*Q2D2Q29A3AD1189aIIQ3D3Q312A4AD1213-12A12.Q4D4Q415A5aAD1314Q5D5Q516A6AD141/16A14Q6D6Q6一19A7AD151819A15,Q7-D7Q7ALE11*1CCLKMMR74LS273U2U12174-183130-23-TT33-19RESETREADYINTA/QS1INTRHOLD/GT1HLDA/GT0TESTNMIMN/MX'CLKAD0.15A16.19ALE/QS0BHEDT/R/S1DEN/S2RDWR/LO

20、CKM/IO/S08086SRCFILE=NET=PA7U9:CAD0.15JaD16.19u10课程设计stepmotor.asmNOTRDWRAD034AD133AD232-AD331AD430AAD529AD628*AD727RD5*wr36t-A29*A3835_IOY06ALEIOY0地址:C400-C43FIOY1地址:C440-C47FIOY2地址:C480-C4BFIOY3地址:C4C0-C4FFeg:IOY0EQU0C400H521a24112图7-1电路连接图1D0PA0D1PA1D2PA2D3PA3D4PA4D5PA5D6PA6D7PA7RDPB0WRPB1A0PB2A1

21、PB3RESETPB4PB5CSPB6PB7PC0PC1PC2PC3PC4PC5PC6PC78255A3PA1"2PA2,1PA3.40PA439PA538PA637PA718PB019PB120PB221PB3一22PB4.23PB524PB6*25PB7.14PC015PC116PC2.17PC3*13PC4,12PC5,11PC6.10PC7一4PA0OBP1BP2BP3BP4BP5BP6BP7BPOAP1AP2AP3AP开始/停止正向/逆向速度【14档】111档102日003档014档J1>-PC3图7-2电路连接图28总结先从整体上来说,我原本打算整个课程设计只需要1

22、-2天即可完成,而实际的情况是用了将近4天还未完全实现设计要求,比如说,步进电机的加速与减速功能,用4位7段数码管来显示步进电机的转速,这些功能都在代码实现时遇到了困难,而这也恰恰反应了汇编语言学习的不足一一练习太少,而见过的汇编源码也同样很少。举个例子,有其他小组做的抢答器设计,有十几行的一段程序是通过ROR1环右移指令和LOOPN指令来达到依次测试每个开关是否撼下,就是这样一段简单的代码,就看足足1个小时,原因有两点,它的代码中写成了LOONZ旨令,还有就是ROR因为它可以将移出的位都进入CF以保存该位,以供后续的程序测试。这些指令很是不熟悉,从这方面很是能够反应出一些问题。比如说我在网上

23、查找他人的设计方案时,基本上都是用51单片机来控制步进电机的,当然都是通过Proteus软件仿真验证的,很少有基于8086芯片的,很偶然的搜索一份后,我发现我需要把整个系统硬件连线理解透彻,很是花了一番功夫。一开始我以为Proteus软件不能做8086芯片的仿真,之前它都是用来仿真单片机的,而事实上它也确实是这样,8086芯片的仿真确实是这两年才添加的,应为做8086芯片的仿真需要一系列外围芯片的支持,比如说:8259A可编程中断控制器、8255A可编程并行接口芯片、DA转换器、AD专换器,8251A可编程异步通信接口芯片(这个在7.8版本中就没有)可见拿这个完全取代实验箱还有一定的距离。当然

24、这次的课程设计我可以完全使用它,因为没有使用到8251A芯片。还有就是有很多辅助性芯片自己在以前根本就没有关注过,直到这次课程设计,我才认认真真的查找了74系列芯片资料比如74LS27374LS138,因为我在这次系统的硬件设计部分遇到了困难,因为之前的(包括上学期的组成原理和这学期的接口技术,用到的实验箱都是人家事先连好并预留出的,在实验时有都是按照实验手册上的电路图去连线的,几乎从来不去思考为什么要这样连接,这些芯片的内部结构是怎样的,除了这个型号的芯片,其他型号的芯片是否也能实现相应的功能,它们两者之间又有何异同和优缺点,等等这一系列的问题在硬件的设计时都让我给碰到了,我不知道是我的幸运

25、还是不幸)这些问题让我认识到在现有实验箱上不管是进行实验的验证还是教学,都存在很大的缺陷,更不用提系统的设计了。概括来说,芯片了解太少,汇编编程很不熟练,方案的整体设计把控很不足。学习的内容:初步理解掌握了在Proteus软件中进行硬件仿真的步骤及方法,了解了Proteus软件芯片库的构成体系,对芯片的选取不再过于盲目,理解并掌握了8255A芯片编程方法,了解了嵌入式系统设计的一般步骤与方法。参考文献7王忠民微型计算机原理(第二版)M西安:西安电子科技大学出版社2007.6附录1:总体电路原理图SRCFILE=课程设计stepmotor.asmNET=PA7IOY0蝇:C400-C43FIOY

26、1蝇:C440-C47FIOY2蝇:C480-C4BFIOY3蝇:C4C0-C4FFeg:IOY0EQU0C400HU9:Ca4l>74LS32U9:BA|干、.12U9D*74LS321、J.9:A13IJA1)274LS32I74LS32U8:A_A151、:A142,1:A1013J74111123PB5003档PC3-J.IOY06.PB5-24-PB64014档*11CSPB625PB7PB725f114PC0PC015PC.PC115l16PC2.PC217PC3PC317.13PC4.PC4_M,.Ufc12PC5-PC512711PC6.PC610PC-PC710十+12

27、V8255AiAlYYYYU3otoiOJo*U3I111U7PC41COM-161*-11aY0ud:PC631B1c14_2114PC633B3C14A7,_3CY1;13,-PC744B4C13*ACY2/5B5C=12:口T1 Y3过_予6B6CtZhE1Y5Hj7c3X5-*E2Y6+7ULN2003A|JE3Y7X-4LS1382附录2:元器件清单8086CPU8255AULN2003A MOTOR-STEPPER 74LS138 74LS273 74LS32 7411开关BUTTON附录3:源程序代码IOY0EQU0C400H;片选IOY0对应的端口始地址MY8255_AEQUI

28、OY0+00H*4;8255的A口地址MY8255_BEQUIOY0+01H*4;8255的B口地址MY8255_CEQUIOY0+02H*4;8255的C口地址MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDATASEGMENTDTABLE1DB6DH,79H,73H,77H,39H,06H,5BH,4FH,66H,40HDTABLE3DB10H,30H,20H,60H,40H,0C0H,80H,90HDTABLE4DB90H,80H,0C0H,40H,60H,20H,30H,10HDATAE

29、NDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,3000HMOVSI,00HMOVSI+2,09HMOVSI+4,03HMOVSI+6,05HMOVSI+8,01HMOVDX,MY8255_MODE;初始化8255工作方式MOVAL,81H;方式0,A输出、B口输出,C口第四位输入,高四位输出OUTDX,ALQIDONG:;CALLCLEAR;CALLDISMOVDX,MY8255_CINAL,DXTESTAL,01H兼取弟NZSTOPSPEED:MOVSI,01HCMPSI+8,08HJZZHIMOVBX,SI

30、+8DECBXMOVDX,MY8255_CINAL,DXTESTAL,02HJZSHUNNI:MOVSI+4,03HMOVAL,DTABLE4BXPUSHAXJMPZHUANGSHUN:MOVSI+4,04HMOVAL,DTABLE3BXPUSHAXZHUANG:MOVDX,MY8255_CINAL,DXTESTAL,0CHJZDANG3TESTAL,04HJZDANG2TESTAL,08HJZDANG4DANG1:POPAXMOVDX,MY8255_COUTDX,ALINCBXINCBXMOVSI+8,BXMOVSI+6,05HCALLDALLYCALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1CALLDALLY1JMPSPEEDDANG2:POPAXMOVDX,MY8255_COUTDX,ALINCBXINCBXMOVSI+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论