找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1379|回复: 0
收起左侧

51单片机步进电机调节转动例程

[复制链接]
ID:283855 发表于 2018-2-12 16:25 | 显示全部楼层 |阅读模式
步进电机转动历程
单片机源程序如下:

  1. #include "reg52.h"

  2. //电机IO
  3. #define GPIO_MOTOR P1
  4. //sbit F1 = P1^0;
  5. //sbit F2 = P1^1;
  6. //sbit F3 = P1^2;
  7. //sbit F4 = P1^3;
  8. //按键IO
  9. sbit K1=P3^0;  //接开关
  10. //sbit K2=P3^1;
  11. //sbit K3=P3^2;
  12. //sbit K4=P3^3;

  13. unsigned char code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //反转顺序
  14. unsigned char code FFW1[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};//正转
  15. unsigned int k=0,j=0;

  16. void Delay(unsigned int t);
  17. void  Motor();
  18. void  Motor1();
  19. /*******************************************************************************
  20. * 函 数 名         : main
  21. * 函数功能                   : 主函数
  22. * 输    入         : 无
  23. * 输    出         : 无
  24. *******************************************************************************/

  25. void main(void)
  26. {
  27.   while(1)
  28.         {  
  29.         if(K1==0)         //通电,正转25
  30.         {
  31.           for(k;k<28;k++)
  32.              {Motor1(); }
  33.                  j=0;
  34.                 }
  35.         else if(K1==1)           //断电,倒转25
  36.         {
  37.           for(j;j<28;j++)
  38.              {Motor();        }
  39.                  k=0;
  40.                 }

  41.         }
  42. }
  43. /*******************************************************************************
  44. * 函 数 名         : Motor
  45. * 函数功能                   : 电机旋转函数
  46. * 输    入         : 无
  47. * 输    出         : 无
  48. *******************************************************************************/

  49. void  Motor()         //反转
  50. {
  51.         unsigned char i;
  52.         for(i=0;i<8;i++)
  53.         {
  54.                 GPIO_MOTOR = FFW[i]&0x1f;  //取数据
  55.                 Delay(13);        //调节转速       
  56.         }                         
  57. }

  58. void  Motor1()        //正转
  59. {
  60.         unsigned char i;
  61.         for(i=0;i<8;i++)
  62.         {
  63.                 GPIO_MOTOR = FFW1[i]&0x1f;  //取数据
  64.                 Delay(13);        //调节转速       
  65.         }                         
  66. }
  67. /*******************************************************************************
  68. * 函 数 名         : Delay
  69. * 函数功能                   : 延时
  70. * 输    入         : t
  71. * 输    出         : 无
  72. *******************************************************************************/
  73. void Delay(unsigned int t)
  74. {                           
  75.         unsigned int k;
  76.         while(t--)
  77.         {
  78.                 for(k=0; k<80; k++)
  79.                 { }
  80.         }
  81. }


复制代码

所有资料51hei提供下载:
步进电机转动.rar (24.38 KB, 下载次数: 22)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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