8952通过L297控制步进电机程序

8952通过L297控制步进电机程序

ID:39463891

大小:24.50 KB

页数:3页

时间:2019-07-03

8952通过L297控制步进电机程序_第1页
8952通过L297控制步进电机程序_第2页
8952通过L297控制步进电机程序_第3页
资源描述:

《8952通过L297控制步进电机程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、// 控制线接到MCU的P1口 独立键盘的接口接到MCU的P2口。 // KEY0- 右运动一步; KEY1- 左运动一步; // KEY2- 右运动200步; KEY3- 左运动200步 // KEY4- 右运动1000步; #include  #include  #define uint unsigned int #define uchar unsigned char sbit en=P1^0;                  // 定义P1.0口 sbit rst=P1^1;  

2、               // 定义P1.1口 sbit ccw=P1^2;                 // 定义P1.2口 sbit hf=P1^3;                  // 定义P1.3口 sbit clk=P1^4;                 // 定义P1.4口 sbit k1=P1^5;                  // 定义P1.5口 sbit k2=P1^6;                  // 定义P1.6口 void ShortDelay(void) { uchar 

3、x,y;   for(x=0;x<5;x++)      for(y=0;y<125;y++)       _nop_();   return; } void outclk(uint a) {  uint i,j;  while(a--)     { en=1;                  // 定义P1.0口       rst=1;                 // 定义P1.1口        //if((k1&k2)!=0)         // K1,K2限位置判断        // { clk=1;  

4、        for(i=150;i>0;i--)   //200          for(j=150;j>0;j--);   //200          clk=0;          // }      // else {rst=1;en=0;}       }    } uchar  key(void) {uchar key_num;    if( ( P2 & 0x3f) != 0x3f )        //判断按键    {        ShortDelay();                //消除抖动

5、        if( ( P2 & 0x3f ) != 0x3f )    {                      switch ( P2 & 0x3f )             //将按键码转换成键值           {                case  0x3e: return  key_num=01;                case  0x3d: return  key_num=02;              case  0x3b: return  key_num=03;         

6、      case  0x37: return  key_num=04;              case  0x2f: return  key_num=05;              case  0x1f: return  key_num=06;              default :   return  key_num=00;           }    }       }    return key_num; } void main(void) { uchar b; while(1)  {       b=

7、 key();    switch(b)        {                //4步走1CM设定走5Cm 半应该是200的为了调整误差所以少4步 (10CM为多8步)         case 00:rst=1;break;//0         case 01:ccw=1; outclk(1);break;//1    右运动1步         case 02:ccw=0; outclk(1);break;//2    左运动1步         case 03:ccw=1; outclk(200);brea

8、k;//3  右运动1CM          case 04:ccw=0; outclk(200);break;//4   左运动1CM         case 05:ccw=1; outclk(1000);break;//5   右运动5CM         //case

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

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

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