ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:616.28KB ,
资源ID:13776186      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13776186.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机控制的步进电机.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机控制的步进电机.docx

1、单片机控制的步进电机浙江海洋学院设计题目 单片机控制的步进电机 摘要 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,步进电机有三线式、五线式、六线式3种但控制方法都相同都必须以脉冲电流来驱动。非超载的 情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,广泛应用在各种自动化控制系统。本设计以AT89C51单片机为核心,对步进电机进行控制,通过按键实现步进电机正转、反转、加速、减速,并使用LED显示电机速度。经过PROTEUS仿真和硬件焊接,结果表明,系统实现了要求。电机控制编程原理根据励磁方法建立励磁顺序数组,励磁顺序数组元素为:x=0x02, 0x

2、0 6,0x04, 0x0c,0x08,0x09, 0x01,0x03 该电路简单,可靠性强,运行稳定。关键词:AT89C51;ULN2003A,LED;步进电机 目 录1. 引 言.52. 方案设计 .52.1. 设计要求 .52.2.1单片机芯片的选择52.2.2总设计及系统原理52.2. 设计方案 .53. 硬件设计.63.1. 单片机最小系统 .63.2. 驱动部分 .63.3 按键部分 .63.4 显示部分.74. 软件设计 .74.1. 软件流程.7 4.2. 子程序设计.75. 实验结果与讨论.85.1. 实验仿真85.2. 结果讨论86. 心得体会 . 97. 附 录;源程序

3、.108. 参考文献 .111.引言步进电机是一种常用的机电执行元件,相应的控制和驱动电路对于其整体性能起着非常重要的作用。采用常见的AT89S51单片机和步进电机驱动芯片L298N实现步进电机的控制和驱动。整个系统具有结构简单、可靠性高、体积小、成本低和实用性强等特点,具有较高的应用推广价值。利用STC89C51单片机对四相步进电机进行读写操作并通过对按键的控制改变单片机的输出脉冲以此控制电机转速反应电机正反转及加速减速,这样便构成了一个单片机控制的步进电机。2.方案设计2.1设计要求1、基本要求(1) 能够用按钮控制电机(四相)的加减速,正反转以及停止。(2) 显示电动机的转速与方向(顺时

4、针+逆时针-)2、发挥部分(1)能够在转速方向调整时有一个缓冲的过程即先减速然后反向加速到原速度。2.2设计方案2.2.1单片机芯片的选择 本设计选择的是STC89C51单片机,它是采用8051核的ISP在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/机器周

5、期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。2.2.2总设计及系统原理电机的整体设计较简单,包括单片机、自动复位电路、键盘电路、显示电路、驱动与指示电路。显示部分电路用的是液晶显示屏,用以显示电机的运转速率的等级,以显示加速减速的实现结果,使结果显而易见。3.硬件设计3.1单片机最小系统 单片机最小系统选用STC89C51,包含上电自动复位电路和手动复位电路,可对单片机进行复位操作。3.2驱动部分以ULN2003A原件和四相电机组成驱动电路 3.3按键部分按键设定部分比较简单,因为本系统按键少

6、,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。按下操作键K1-K6执行动作如下: 操作键1:控制电源开关操作键2:控制电机正转反转操作键3:控制电机加速运转操作键4:控制电机减速运转3.4 显示部分显示部分显示部分使用LCD,显示实时电机转动方向及速度DIR+为正转DIR-反转,速度seed0、seed1、seed2、seed4、seed5一次减慢 4.软件设计4.1软件流程流程图如图所示: 4.2子程序设计(1)delay:延时子程序Delay是通过对参数K的设置来调整延时时间的长短,其精度为1ms,最大延时的时间为65532ms。(2)void 2doc jinte

7、rrupto定时器T0计时中断程序,d值符合条件,定义d值。(3)date()显屏ascll码。 5.实验仿真与讨论5.1实验仿真依据各功能模块的功能要求和工作过程画出程序的流程图,然后根据流程图和系统的硬件连接写出详细的程序,接着对各个子程序进行编译,调试,运行,看看是否能达到其功能,然后再将整个程序糅合在一起进行整体软件调试。在整体调试中,需注意寄存器组不能重复,在进入中断时,哪些寄存器内容和参数需入栈保护,以及调用子程序时各参数必须统一,在编译通过时,最好能把整个程序再单步执行一遍。单步执行时看看每步执行完后数据各个特殊功能寄存器中数据的变化,这样才能确保整个程序按照系统的工作过程和功能

8、要求执行。仿真结果如图所示: 5.2结果讨论本设计以AT89C51单片机为系统的控制核心,采用proteus仿真软件进行测试。Proteus是一款比较常用的单片机仿真软件,用proteus和keil配合进行仿真提高系统运行效率与稳定性。由于采用了液晶显示的方式,使电机的加速减速更为直观可见。6.心得体会单片机是我所学专业的主要课程之一,因此我认为单片机课程设计是十分必要而且十分重要的。尽管刚刚拿到课程设计题目时有点迷惘,不知道如何着手,但通过上网和图书馆查阅相关资料,自己认真钻研以及虚心询问同学,终于解决了一个又一个的困难和障碍,成功完成了任务。通过本次的单片机课程设计,不仅大大地丰富了我的理

9、论知识,而且在实践过程中更令我学会了坚持、耐心和努力。此次单片机课程设计需要运用到许多之前所学过的知识,令我认识到自己以前学习的一些不足之处,例如对以前所学知识的理解不够深刻,掌握得不够牢固,运用不够灵活。这让我懂得了认真学习的重要性,以及要孜孜不倦地钻研所学过的知识,做得融会贯通,不能一览而过,不求甚解。在边学习边动手的过程中,我对步进电机的构造以及原理有了进一步的了解,同时也加深和巩固了我对单片机语言的认识。除此之外,由于是第一次做单片机,因此在此次课程设计的过程中,无论是电路绘制还是汇编语言编写都难免遇到了不少困难和障碍,例如C语言编写出错、电路元件无从入手等。在面对困难和障碍时,我庆幸

10、自己没有退缩和逃避,而是通过各种方法,迎难而上,以坚持、耐心和努力勇敢无畏地面对困难,克服困难,解决困难。让我发现问题、分析问题、解决问题以及动手实践的能力都有了很大的提高,并了解到理论知识与实践相结合的重要意义。7.附录:源程序源程序如下: #include#define uchar unsigned char#define uint unsigned intchar x=0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03;unsigned int bx=50,70,100,200,300,500;unsigned char c;char a,b,d;sbit p

11、0=P26;sbit p1=P27;sbit jiasu=P32;sbit jiansu=P33;sbit E=P21;sbit RS=P20;void delay(uint z)uint y;for(;z0;z-) for(y=110;y0;y-);void com(uchar a) RS=0; P0=a; delay(5); E=1; delay(5); E=0; void date(uchar b) RS=1; P0=b; delay(5); E=1; delay(5); E=0; void CS() E=0; com(0X38); com(0X0C); com(0X06); com(0

12、X01);void zd0() interrupt 0d-;if(d5)d=5;void main()IT0=1;EX0=1;IT1=1;EX1=1;EA=1;CS();while(1) com(0x80); date(0x44); date(0x49); date(0x52) ;/:的ascll码 if(c=1)date(0x2b); if(c=2)date(0x2d); date(0x07); date(0x73); date(0x65); date(0x65); date(0x64); date(d+0x30);if(p0=0)c=1;if(p1=0)c=2;if(p0=0&p1=0)c=0;if(jiansu=0)d+;while(jiansu=0);if(d5)d=0;if(c=1)/*if(jiasu=0)d-;while(jiasu=0);if(jiansu=0)d+;while(jiansu=0);*/ for(a=0;a-1;b-) P1=xb; delay(bxd); 8.参考文献1 彭伟.单片机C语言程序设计实训100例2 周景润 张丽娜.Proteus入门实用教程3单片机原理及其应用-基于proteus和Keil C(第2版)4C语音程序设计学习指导与实验教程5数字电子技术基础6电子设计基础7沙占有,孟志永,王彦朋,单片机外围电路设计

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2