单片机控制步进电机正反转的实际应用程序

单片机控制步进电机正反转的实际应用程序

ID:40718087

大小:54.00 KB

页数:7页

时间:2019-08-06

单片机控制步进电机正反转的实际应用程序_第1页
单片机控制步进电机正反转的实际应用程序_第2页
单片机控制步进电机正反转的实际应用程序_第3页
单片机控制步进电机正反转的实际应用程序_第4页
单片机控制步进电机正反转的实际应用程序_第5页
资源描述:

《单片机控制步进电机正反转的实际应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机控制步进电机正反转的实际应用程序/*这是一个控制步进电机正反转的实际应用程序*//*选用的是三相步进电机驱动器,p14口线用做步进电机的脉冲控制*//*p13口线用做步进电机的方向控制。p15,p16,p17是光耦开关量输入*//*信号端,p20,p21,p22,p23与x25045看门狗存储器相连*//*k7,k8键是设定步进电机转动速度参数的加减键*//*k9是启动运行键,按一下k9,步进电机开始运行,直到p17口线有信号输入才停止*//*k10是停止键,任何时候按下k10都将停止步进电机当前的运行*//*k11是步进运行键,按一下,步进电

2、机动一下*//*k12键是反向运行键,按一下,步进电机开始反向运行,知道p15口线有信号才停止*//*如果p16口线有信号输入,则只有k12键才起作用,其它键都没反应。*/START:do;$INCLUDE(REG51.DCL)DECLARE(addrl,n,I,j,ok,ds)byte;/*定义变量*/declarel(5)byte;declare(dat,data)byteat(30h);declaredelayword;DECLAREACO(11)BYTECONSTANT(05h,9fh,23h,0bh,99h,49h,/*定义LED段码表*/

3、41h,1fh,01h,09h,00h);declaresiliterally'p21',sckliterally'p20';/*X25045囗线定义*/declaresoliterally'p22',csliterally'p23';dog:procedure;/*初始化看门狗x25045*/cs=1;calltime(1);cs=0;calltime(1);cs=1;enddog;run:procedure;/*步进电机运行脉冲输出程序*/ifok=1thencalldog;do;p14=0;calltime(1);p14=1;calltime(

4、1);end;endrun;DISPLAY:PROCEDURE(L0,L10);/*显示子程序*/DECLARE(L0,L10)BYTE;/*定义显示二位*/n=L10;n=aco(n);/*十位数BCD码译成段码*/sbuf=n;/*十位数送164显示*/dowhileti=0;/*等待发送结束*/calldog;/*看门狗定时器复位*/end;n=L0;n=aco(n);sbuf=n;/*个位数送164显示*/dowhileti=0;calldog;end;enddisplay;outbyt:procedure(da);/*向看门狗存储器写入一字

5、节*/declare(i,da)byte;j=da;/*将要写入的字节赋给临时变量J*/doi=0to7;/*左移8位,送到口线si*/sck=0;j=scl(j,1);si=cy;sck=1;/*每移一位数据,跟一个时钟信号*/end;endoutbyt;inbyt:procedure;/*从看门狗存储器读出一字节*/declare(i,di)byte;j=0;doi=0to7;sck=1;sck=0;cy=so;j=scl(j,1);/*从看门狗存储器读出一字节送入临时变量j*/end;dat=j;endinbyt;wrenable:proced

6、ure;/*置看门狗写使能*/sck=0;cs=0;;/*writeenablecommand*/calloutbyt(06h);/*x25045写使能指令06h*/cs=1;sck=0;endwrenable;wrdisable:procedure;/*置看门狗写禁止*/sck=0;cs=0;;/*writedisablecommand*/calloutbyt(04h);sck=0;cs=1;endwrdisable;wrregister:procedure;/*写状态寄存器*/sck=0;cs=0;dat=01h;/*writeregisterc

7、ommand*/calloutbyt(dat);;/*00h--1.4S,20h--200MS,10h--600MS,30h--disableWdog*/calloutbyt(00h);/*设定看门狗定时时间*/;sck=0;cs=1;calltime(200);/*waittocompletewrittingcycle*/endwrregister;rdregister:procedure;/*读看门狗状态寄存器*/sck=0;cs=0;;/*registerreadcommand*/calloutbyt(05h);callinbyt;/*stat

8、usregisterreadin*/sck=0;cs=1;endrdregister;wbyte:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。