两种方式控制步进电机控制单片机课程设计说明书.docx
两种方式控制步进电机控制单片机课程设计说明书 单片机课程设计说明书 设计题目 两种方式限制步进电机限制 指导老师: 设计者: 系 别: 机械工程学院 班 级: 学 号: 目 录 序言3 一、 步进电机介绍4 1.1步进电机的概念4 1.1步进电机的特点4 二、 设计要求及任务6 三、 设计目的及原理6 3.1设计目的6 3.2设计原理6 3.3步进电机工作原理7 四、所需设备8 五、设计思路8 5.1提出方案8 5.2方案论证9 六、调试程序10 七、设计程序15 八、总结18 九、参考文献19 序 言 单片机技术是计算机技术发展的一个重要分支。由于单片机具有集成度高、体积小、牢靠性高、价格便宜等特点,在机电一体化、工业限制、仪器仪表、家用电器、信息和通信产品、军事装备等领域均得到了广泛的应用。而步进电机就是其中的一小部分。 步进电机是把电脉冲信号变换成角位移以限制转子转动的微特电机。在自动限制装置中作为执行元件。每输入一个脉冲信号,步进电动机前进一步,故又称脉冲电动机。步进电动机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装置。 步进电动机的驱动电源由变频脉冲信号源、脉冲安排器及脉冲放大器组成,由此驱动电源向电机绕组供应脉冲电流。步进电动机的运行性能确定于电机与驱动电源间的良好协作。主要用于数字限制系统中,精度高,运行牢靠。如采纳位置检测和速度反馈,亦可实现闭环限制。步进电动机已广泛地应用于数字限制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。 第一章 设计要求及任务 用P1.0P1.3口限制一台步进电机,用两种方法实现单双八拍限制。晶振频率12Mhz 其次章 所需设备 1、电脑一台 2、52单片机开发系统一块 3、步进电机一个 4、 usb转串口线,电源线 第三章 设计思路 5.1提出方案 方案一:电机的运转一般由脉冲信号和方向信号来限制的,脉冲的频率限制电机的转速,脉冲的个数限制电机的转角,用单片机限制步进电机,可以用一个输出口发送脉冲:高电平->延时->低电平->延时->.延时的长短限制脉冲的频率,电平的转换次数就是脉冲个数。 因为步进电机的限制室通过脉冲信号来限制的,经电脉冲信号转变为角位移或线位移的开环限制元件,所以怎样产生这个脉冲信号和产生怎样的脉冲信号是电机限制的关键。5.2方案论证 用单片机来产生着个脉冲信号,通过单片机的P1口输出脉冲信号,因为所选电机是四相的,所以只须要P1口的低四位P1.0P1.3分别接到电机的四根电线上。调试好程序之后转盘转动。 单片机的引脚功能: 1)VCC(40):电源+5V。 2)VSS(20):接地,也就是GND。3)XTL1(19)和XTL2(18):振荡电路。4)PSEN(29):片外ROM选通信号,低电平有效。5)ALE/PROG(30):地址锁存信号输出端/EPROM编程脉冲输入端。6)RST/VPD(9):复位信号输入端/备用电源输入端。 7)EA/VPP(31):内/外部ROM选择 端 8)P0口(39-32):双向I/O口。9P1口(1-8):准双向通用I/0口。9)P2口(21-28):准双向I/0口。 步进电机驱动和单片机连线图 第四章 调试程序 1、 打开Keil软件,建立一个新工程,单机在下拉菜单中找到选项,如图1所示 图1 建立新的工程组 2、 选择工程要保存的路径,并且输入工程文件名。Keil的一个工程里通常含有许多小文件,为了便利管理,一般将一个工程放在一个独立的文件夹下,并且给文件命名,如图2所示。 图2 定义工程文件名 3、 单击保存后会弹出一个对话框,要求选择单片机的机型,可以依据运用的单片机来选择。Keil C51几乎支持全部的51内核的单片机,在这里选择Atmel的AT89C52,如下图所示,选择后单机保存,如图3所示。 图3 选择单片机的型号 4、 完成上一步骤后,窗口界面如图4所示。 图4 工程组界面 到此为止,还没建好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接下来就是添加文件及代码。 5、 单击菜单中的菜单项,或者单机界面上的快捷图标,如图5所示。 图5 新建文件 6、 新建文件后的窗口如图6所示。 图6 文件界面 7、 此时间标在编辑窗口中闪耀,可以输入用户的应用程序,但此时这个新建文件与刚刚建立的工程还没有干脆的联系,单机“保存”图标,窗口界面如图7所示。 图7 文件保存到工程组 输入要保存的文件名,同时必需输入正确的扩展名“.a”,然后单击按钮。 8、 回到编辑界面,单机前面的“+”号,然后在单击右键,弹出如图8所示的菜单。 图8 添加程序至工程 然后选择菜单项弹出图9对话框 图9 选择文件 9、 选中,单击按钮,再单击按钮,然后再单击左侧前面的“+”,屏幕窗口如图10所示。 图10 程序编写界面 10、编写好程序就要进行程序的编译,单机工具栏上的“编译”,在编译的过程中,假如出现错误,修改程序直到没有错误为止,然后一次点击“编译”“调试”,在此过程中出现错误的,也要修改程序直到没有错误为止,编译过程中出现警告一般不必考虑,但特别时期也要通过修改程序消退警告。 第五章 设计程序 第一种方式 ORG 0000H LJMP MAIN(跳转到主程序) ORG 0100H(主程序存放地址0100H) MAIN: MOV SP,#60H ;设置堆栈指针(设置堆栈的长度为60H byte,首先SP是堆栈指针指令,将马上数60H送SP,SP=(60H),即定义栈顶位置为 内部RAM的60H单元) ACALL DELAY( 调用delay子程序) SMRUN: ;电机限制方式为单双八拍 MOV P1,#08H ;A ACALL DELAY MOV P1,#0CH ;AB ACALL DELAY MOV P1,#04H ;B ACALL DELAY MOV P1,#06H ;BC ACALL DELAY MOV P1,#02H ;C ACALL DELAY MOV P1,#03H ;CD ACALL DELAY MOV P1,#01H ;D ACALL DELAY MOV P1,#09H ;DA ACALL DELAY SJMP SMRUN ;循环转动 DELAY: ;延时程序 MOV R4,#10 DELAY1: MOV R5,#250 DJNZ R5,$ DJNZ R4,DELAY1(总延时时间:t=2*250*10=5000s)) RET ; END 其次种方式 ORG 0000H (程序起始位置) AJMP START (系统复位后跳转向主程序start) ORG 000BH (start的起始地址为00BH) AJMP TT1 (跳转到TT1) ORG 0030H (TT1起始地址0030H) START: MOV P1,#0FFH (P1口置1) MOV TMOD,#01H (设置定时器0工作方式为1即16位定时器 ) MOV R2,#08H 08H赋值给R2 MOV R1,#02H 02H赋值给R1 MOV TH0,#0D8H 定时器0高八位初值 MOV TL0,#0F0H 低八位初始值 ORL IE,#82H 开启中断 MOV R0,#00H 00H赋值给R0 SETB TR0 启动定时器 LOOP: MOV A,R0 R0的内容给定时器A MOV DPTR,#NUM DPTR为间址寄存器 MOVC A,A+DPTR CJNE R1,#00H,LOOP 寄存器R1的内容与0比较,不等则跳loop MOV P1,A 累加器A中的数据传送到p1寄存器,也就是p1端口 MOV R1,#02H INC R0 加一指令 DJNZ R2,LOOP (R2)-1放入R2,R2-10 SJMP START 跳转到start NUM:DB 0f1h,0f3h,0f2h,0f6h,0f4h,0fch,0f8h,0f9h TT1: 定时中断程序 CLR TR0 复位定时器T0 DEC R1 寄存器R1减一再放入到R1中 MOV TH0,#0D8H 定时器高八位初值 MOV TL0,#0F0H 定时器低八位初值 SETB TR0 启动定时器T0 RETI 中断返回 END 图4.1 主程序流程图 如图所示,在主程序中ADC0809将采集到模拟数据(即电压值,通过变更电位器来获得不同的电压值)转换为数字量,再将此数字量传给单片机处理。单片机处理后送给数码管显示。 4.2 显示程序设计 图4.2显示程序流程图 如图所示,ADC转换后的数据经过单片机处理后送给数码管显示,单片机首先输出位选指令,选中要显示的那们数码管。然后输出段码指令,输出要显示的数字。依次输出各位要显示的数字、直到各位数字显示完为止。 总 结 通过这一学期单片机原理及其应用这门课程和本次课程设计,作为一名大四的学生,我们觉得做单片机的课程设计是非常有意义的,而且是非常必要的。 在课程设计环节中,我们觉得最困难的是程序设计,首先要理解原理,然后进行流程设计,转化为程序,进行调试,我们在调试的时候出现了许多错误,改错的过程是特别苦痛的,好在我们耐性地一一克服了,最终敲定了合理的程序。但问题并没有因此结束,当我们装上步进电机后,能否带动步进电机转起来等等一些列问题让我们感到手足无措,但是在老师的指导下也一一克服了,最终得到了较为满足的结果,在此感谢老师的悉心指导。还有一点体会就是要养成注释程序的好习惯,一个程序的完备与否不仅是实现功能,而应当让人一看就明白你的思路,这样也为资料的保存和沟通供应了便利。通过这次的课程设计,我们懂得了学习的重要性,了解到了理论学问与实践相结合的重要意义,学会了坚持、耐性和努力,信任这些对我们今后的工作与学习都会有很大的帮助。一个团队的合作是完成这次设计的关键,我们通过探讨,探讨最佳方案,合理分工,使得这次设计能够较好的完成,在合作中,相互学习,在一起设计中发觉自己的不足和缺陷,并一起进步,这也为我们今后的工作积累阅历。 参考文献 1 赵巍 冯娜.单片机基础及应用(其次版),清华高校出版社,2014. 2 张毅刚.单片机原理及应用,高等教化出版社,2003. 3 陈理壁. 步进电机及其应用. 上海科学技术出版社,1989. 4 刘保延等. 步进电机及其驱动限制系统.哈尔滨工业高校出版社,1997. 5王福瑞. 单片微机测控系统设计大全 . 北京:北京航空航天高校出版社,1998.