找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1655|回复: 0
打印 上一主题 下一主题
收起左侧

步进电机正反转加减速51源码

[复制链接]
跳转到指定楼层
楼主
ID:217066 发表于 2017-7-4 13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
可实现正反转 加减速 停止
下载: 步进电机控制.rar (514 Bytes, 下载次数: 14)

  1. #include<reg51.h>
  2. #include<intrins.h>
  3. sbit zheng=P3^0;
  4. sbit fan=P3^1;
  5. sbit over=P3^2;
  6. sbit jiasu=P3^6;
  7. sbit jiansu=P3^7;
  8. unsigned char code PHASE[4]={0x03,0x06,0x0C,0x09};
  9. unsigned char speed=100;

  10. voidDelay_us(unsigned int time)
  11. {
  12. while(time--);
  13. }

  14. void delay_ms(unsigned int time)
  15. {
  16.   while(time--)
  17.    {
  18.     Delay_us(98);
  19.    }
  20. }

  21. void main(void)
  22. {
  23. unsigned char tmp1,key;
  24.    while(1)
  25.    {
  26.      if(zheng==1)  
  27.      key=1;
  28.      else if(fan==1)
  29.      key=2;
  30.        for(tmp1=0;tmp1<4;tmp1++)
  31.      {
  32.        if(key==1)
  33.        P1=P1&0Xf0|PHASE[tmp1];
  34.        else if(key==2)
  35.        P1=P1&0Xf0|PHASE[3-tmp1];
  36.        delay(speed);
  37.       }
  38.       if(jiasu==1)
  39.        {
  40.         speed=speed+20;
  41.         if(speed>=200)
  42.         speed=200;
  43.         }
  44.       if(jiansu==1)
  45.        {
  46.         speed=speed-20;
  47.         if(speed<=20)
  48.         speed=20;
  49.         }
  50.      if(over==1)
  51.       {
  52.       key=0;
  53.       P1=0x00;
  54.       }
  55.    }
  56. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表