郑州科技学院《微型计算机原理》课程设计题目基于8086的步进电机控制学生姓名***专业班级计算机科学与技术一班学号201115009院(系)信息工程学院指导教师***完成时间2013年12月20日目录1课程设计的目的………………………………………………………………12课程设计的任务与要求……………………………………………………13设计方案与论证………………………………………………………………14设计原理及功能说明………………………………………………………24.1励磁线圈及其励磁顺序………………………………………………34.2工作原理…………………………………………………………………34.38086CPU…………………………………………………………………54.48255工作方式选择……………………………………………………64.5ULN2003A…………………………………………………………………64.674LS273……………………………………………………………………………64.774LS138……………………………………………………………………………65单元电路的设计(计算与说明)………………………………………86硬件的制作与调试…………………………………………………………107总结……………………………………………………………………………11参考文献…………………………………………………………………………12附录1:总体电路原理图…………………………………………………13附录2:元器件清单………………………………………………………13附录3:源程序代码………………………………………………………1411课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。体会系统整体设计的流程与方法,为以后系统级设计积累经验。培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。2课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02.通过开关K2来选择步进电机的正转与反转;03.通过开关K3,K4组成(2-4译码)四档电机转速选择;04.对每只开关的选择情况同时通过4位8段数码管来显示;05.扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。3设计方案与论证本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003.根据课题要求,用8086处理器和可编程并行接口芯片8255组成控制系统,2控制步进电机正转、反转以及转速控制,步进电机不能直接由8255驱动,而需要用相应的驱动芯片,因此,控制系统直接控制电机驱动即可控制步进电机。转向分别用逆时针转动片段转速和顺时针转动片段则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速快。设计流程图如下:图3-1总体设计流程图本步进电机控制系统通过四个键盘来控制步进电机的正转、反转、启动和停止以及转速,步进电机旋转的角度取决于键盘接通时间长短,接通时间越长,旋转角度越大,其功能表如表1.2.1。表3-1键盘功能表键盘状态电机动作K1接通电机启动K1断开电机停止K2接通电机顺时针旋转K2断开电机逆时针旋转K3接通电机2档转速K4接通电机4档转速K3、K4接通电机3档转速4设计原理及功能说明在该步进电机控制系统中,需要接收键盘信息并识别,然后将数据传送给步8086CPU8255步进电机步进电机驱动3进电机使步进电机旋转,采用8086CPU和8255接口芯片是可行的,系统框图如图4-1所示图4-1系统方框图4.1励磁线圈及其励磁顺序表4-1励磁顺序表图4-2励磁线圈图4.2工作原理:4相步进电机示意图四相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成123456785++++++++4---3---2---1---Intel8086CPU8255并行接口锁存器键盘控制模块步进电机模块数据地址总线驱动芯片4图4-3电机定子和转子示意图图4-4电气连接示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:图4-5电机旋转模拟图若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理。5图4-68255A向步进电机发出的控制脉冲4.38086CPU:现将8086的引脚图和各引脚功能列出如下,其他具体内容详见《微机原理及接口技术》教材8086CPU的40条引脚信号可按功能分可分为四类,它们是:地址总线,数据总线,控制总线,其它(时钟与电源)。在最小模式下各引脚功能(MN/MX接+5V):①AD15~AD0,地址/数据总线②A19/S6~A16/S3,地址/状态总线③BHE/S7,高8位数据允许/状态线④MN/MX,最小/最大模式控制信号,输入⑤RD,读信号⑥WR,写信号⑦M/IO,存储器/输入输出控制信号⑧ALE,地址锁存允许信号⑨READY(Ready),准备就绪信号⑩INTR,可屏蔽中断请求信号⑪INTA,中断响应信号⑫NMI,非屏蔽中断请求信号⑬RESET,系统复位信号⑭DEN,数据允许信号⑮DT/R,数据发送/接收控制信号6⑯HOLD,总线保持请求信号输入⑰HLDA,总线保持响应信号⑱TEST,测试信号⑲CLK,时钟输入信号⑳VCC(+5V),GND4.48255工作方式选择:8255有三个数据端口(A口、B口、C口),8255有三种基本的工作方式,分别为:方式一(基本输入/输出方式),方式二(选通输入/输出方式),方式三(双向总线I/O方式)。其中A口可选择三种方式中的任意一种,B口只能选择方式0或方式1,C口常用作两个4为端口,若工作于方式0,其高四位工作方式与A端口一致,低四位与工作方式与端口B一致;若工作于其余两种方式,端口的部分信号作为A口和B口的控制联络信号。4.5ULN2003A:ULN2003A是高压大电流达林顿晶体管阵列,由功率电路来扩展输出电流以满足被控元件的电流,电压。具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A芯片主要用于如下领域:伺服电机,步进电机,电磁阀,可控照明灯。4.674LS273:74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。4.774LS138:74LS138为3线-8线译码器。引出端口号:B、C译码地址输入端G1选通端/(G2A)、/(G2B)选通端(低电平有效)Y0~Y7译码输出端(低电平有效)75单元电路的设计(计算与说明)本电路采用8086CPU来控制,8086是16位CPU,采用高性能的N沟道、耗尽型负载的硅栅工艺制造8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K8位元的输出输入,以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。8086有四个内存区段寄存器,可以从索引寄存器来设定。区段寄存器可以让CPU利用特殊的方式存取1MB内存。8086把段地址左移4位然后把它加上偏移地址。8086的寻址方式改变让内存扩充较有效率。8086处理器的时钟频率介于4.77MHz和10MHz之间。以8086CPU构成的微型计算机系统,有最小模式和最大模式两种配置。最小模式是单机系统,系统中所需要的控制信号全部由8086CPU本身提供;最大模式可以构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供。CPU工作模式的选择是由硬件决定的,当CPU的管脚接高电平时,构成最小模式;当接低电平的时候,构成最大模式。因为步进电机控制系统是一个单处理机系统,因而接高电平,构成最小模式。8086通过16根数据总线来实现与8255的通信,高八位通过74HC373锁存器控制8255的四个端口,低八位与8255进行数据交换。8086的和控制8255的读写操作。8255四个端口的地址见表2.2.1所示表5-18255各端口地址分配8255端口端口地址A端口IOY0+00H*4B端口IOY0+01H*4C端口IOY0+02H*4控制端口IOY0+03H*4MX/MNMX/MNMX/MNRDWR88255与CPU连接部分:8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。A0、A1的组合与端口关系如表2.2.2所示。表5-2A1、A0组合与端口关系A1A08255端口IOY0+00H*4A口地址IOY0+01H*4B口地址IOY0+02H*4C口地址IOY0+03H*4控制口地址此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。数据总线DB用于8255与CPU传送8位数据,地址总线AB用于选择A、B、C口与控制寄存器,控制总线CB用于片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。与外设接口部分:8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。A口用于8255向外设输入输出8位并行数据,B口用于8255向外设输入输出8位并行数据,C口用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。控制器:8255将3个通道分为两组,即A组和B组,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下为:A组控制器控制A口与上C口的输入与输出;B组控制器控制B口与下C口的输入与输出。8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在三种方式下工作,具体方式见表2.2.3。表5-38255工作方式方式0基本输入/输出方式9方式1选通输入/输出方式方式2双向传输方式74HC373为三态输出锁存器,可用来驱动数据总线。当OE为高电平时,D0—D7呈高阻态,不驱动数据总线,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,Q被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。步进电机模块电路图如图5-1所示图5-1步进电机模块步进电机能将数字信号转