毕业设计(论文)单片机控制步进机.docVIP

毕业设计(论文)单片机控制步进机.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011 - 2012 学年 第 1 学期 学生课程实习报告 环节名称 计算机控制技术课程实习 所属课程 计算机控制技术 学生姓名 沈志雄 学号 200811631122 所在班级 电气1081 成绩 评语 指导教师签名 步进电机控制系统的设计与仿真 设计要求 设计一个单片机三相步进电机控制系统,要求系统具有以下功能。 (1)用K0-K2作为通电方式选择键,K0为单三拍,K1为双三拍,K2为三相六拍。 (2)K3-K4作为启动和方向控制。 (3)正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿灯亮。 (4)可通过键盘设定步进电机步数给定值。 (5)用三位LED数码管显示剩余工作步数 系统总体框图与原理说明 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 仿真说明 通过K11\K22\K33设置步数;启动红灯亮,绿灯灭; K0\K1\K2选择节拍,“反向”黄灯亮可控制步进机反转,当达到最大值或最小值时步进电机停止转动,期间也可以调节步数. 心得体会 此次课程设计是本人第一次用C语言来编写单片机程序,感觉与之前用汇编有不一样的想法与思路。汇编要考虑很多寄存器与地址的安排,但在C中不用过多的考虑并且思维也较清晰,当然用C编写也有一定的不足,反应比汇编慢。在这次设计中学习与了解了步进电机与驱动放大芯片,并更深入的熟悉LED数码管的显示。 附录:程序清单 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar num=0,i=0,l=0,m=0,n=1; sbit lv=P2^7; sbit qidong=P2^3; sbit fan=P2^4; sbit hong=P2^5; sbit huang=P2^6; sbit ge=P1^4; sbit shi=P1^5; sbit bai=P1^6; sbit key0=P3^0; sbit key1=P3^1; sbit key2=P3^2; uchar table[]={ 0x08,0x04,0x02,0x01, 0x09,0x0C,0x06,0x03, 0x09,0x08,0x0C,0x04,0x06,0x02,0x03,0x01}; uchar table1[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90} ; void delay(uint xms) { uint m,n; for(m=xms;m0;m--) for(n=110;n0;n--); } void bushu() { if(l0) l--; //个位减一 else if(m0) m--,l=9; //十位减一 else if(n0) //百位减一 n--,m=9,l=9; else i=0,l=0,m=0,n=0; //结束 } void bushu1() { if(l9) l++; //个位加一 else if(m9) m++,l=0; //十位加一 else if(n9) //百位加一 n++,m=0,l=0; else i=0,l=9,m=9,n=9; //结束 } /////////键盘///////////// void keyscan() { if(key0==0) { delay(100); if(key0==0) { if(n9) n++; else n=0; } } if(key1==0) { delay(100); if(key1==0) { if(m9) m++; else m=0; } } if(key2==0) { delay(100); if(key2==0) { if(l9) l++; else l=0; } } } ////////////正转选节拍/////////// void jiepai() { bushu(); hong=1; huang=0; switch(P20x07)

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档