51单片机控制两相四线步进电机.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机控制两相四线步进电机

关于步进电机的工作原理大家可以在网上查查,这里主要介绍的是两相四线的步进电机控制,采用的是四拍方式。 ??? 要求如下: ??? 1、有开机停止键。按第奇数次时为开机,第偶数次为停止。此例选择P3.3口。 ?? 2、有加速键。加速范围为1~9档。 ?? 3、有减速键。减速范围为1~9档。? 具体实施方案: ??? 采用L298N驱动板驱动步进电机,采用如下相序: 1:正转环形脉冲分配表 步数 P0.0 P0.1 P0.2 P0.3 A B /A /B 1 1 1 0 0 2 0 1 1 0 3 0 0 1 1 4 1 0 0 1 ????源程序如下: ? ENA?? EQU?? P1.0 ???? ENB?? EQU?? P1.1 ???? IN1?? EQU?? P1.2 ???? IN2?? EQU?? P1.3 ???? IN3?? EQU?? P1.4 ???? IN4?? EQU?? P1.5 ???? SWITCH? EQU?? P3.3 ???? FAST? EQU?? P3.6 ???? SLOW? EQU?? P3.5 ???? CYCLENUM? EQU? 50H???? ;存放对应定时循环次数 ???? TEMP?? EQU? 53H??????? ;存放按键次数。初值为5,每按加速叠加1,按减速递减 ???? MARK?? EQU? 56H??????? ;启动停止标识 ???? LEDBUF EQU? 57H ???? ORG??? 0 ???? AJMP? START ;*****************检测是否开启启动电机键*************************** START: ???? MOV?? P0,#0???????????? ;清显示 ???? SETB? MARK?????????? ;预启动电机工作,标识为1 ???? MOV?? TEMP,#5??????? ;开始工作于5Hz ???? MOV?? CYCLENUM,#01H?? ;循环1次 ???? JNB?? SWITCH,NEXT???? ;按键按下? ???? SJMP? START?????????? ;没有返回继续检测 NEXT: ???? CALL? DELAY????????? ;消抖确认 ???? JNB?? SWITCH,MAIN??? ;再次确认按键,不为1说明按键按下 ???? SJMP? START????????? ;没有按下,继续检测 ;*****************开始运行电机*************************************** MAIN: ???? MOV?? A,TEMP ???? MOV?? DPTR,#TAB4 ???? MOVC? A,@A+DPTR ???? MOV?? LEDBUF,A?????? ;送显示 ???? CALL? DISPLAY LOOP: ???? JB??? MARK,WORK????? ;检测运行标识是否为1,为1则继续运行,为0则停止运行 NOTWORK: ???? CLR?? ENA ???? CLR?? ENB ???? SJMP? START WORK: ???? MOV??? P1,#000010111B????????? ;步进电机运行方式为两相四拍 ???? CALL? TIMER ???? CALL? TESTSTOP ???? MOV??? P1,#000011011B????????? ;第二拍 ???? CALL? TIMER ???? CALL? TESTSTOP ???? MOV??? P1,#000101011B????????? ;第三拍 ???? CALL? TIMER ???? CALL? TESTSTOP ???? MOV??? P1,#000100111B????????? ;第四拍 ???? CALL? TIMER ???? CALL? TESTSTOP ???? CALL? TESTKEY ???? SJMP? MAIN ;***************************检测是否有按键按下************************ TESTKEY: ???? SETB? FAST ???? SETB? SLOW NEXT1: ???? JNB?? FAST,YES2 NEXT2: ???? JNB?? SLOW,YES3 ???? SJMP? RETURN????????????????????? ;都没有键按下,则返回 YES2: ???? MOV??

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档