久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2442|回復: 1
收起左側

自己用的步進電機程序STM32 四相八拍 源程序

[復制鏈接]
ID:487782 發表于 2019-11-13 09:14 | 顯示全部樓層 |閱讀模式
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "diver.h"
  4. #include "stdbool.h"
  5. //IN4: PB8  d
  6. //IN3: PB7  c
  7. //IN2: PB6  b
  8. //IN1: PB5  a
  9. //四相八拍
  10. u8 phasecw[8] ={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};// 逆時針
  11. u8 phaseccw[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};// 順時針

  12. //引腳初始化
  13. void Step_Motor_GPIO_Init(void)
  14. {
  15.     GPIO_InitTypeDef GPIO_InitStructure;
  16.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  17.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  18.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  19.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  20.     GPIO_Init(GPIOB,&GPIO_InitStructure);   
  21. }
  22. //引腳映射
  23. void SetMotor(unsigned char InputData)
  24. {
  25.     if(InputData&0x01)
  26.     {
  27.         GPIO_SetBits(GPIOB,GPIO_Pin_5);
  28.     }
  29.     else
  30.     {
  31.         GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  32.     }
  33.     if(InputData&0x02)
  34.     {
  35.         GPIO_SetBits(GPIOB,GPIO_Pin_6);
  36.     }
  37.     else
  38.     {
  39.         GPIO_ResetBits(GPIOB,GPIO_Pin_6);

  40.     }
  41.     if(InputData&0x04)
  42.     {
  43.         GPIO_SetBits(GPIOB,GPIO_Pin_7);
  44.     }
  45.     else
  46.     {
  47.         GPIO_ResetBits(GPIOB,GPIO_Pin_7);
  48.     }
  49.     if(InputData&0x08)
  50.     {
  51.         GPIO_SetBits(GPIOB,GPIO_Pin_8);
  52.     }
  53.     else
  54.     {
  55.         GPIO_ResetBits(GPIOB,GPIO_Pin_8);
  56.     }
  57. }
  58. //步距角5.625 360/5.625=64 減速比1/64
  59. //故64*64個脈沖轉一圈
  60. //n圈數
  61. //direction 方向
  62. void motorNcircle(int n,bool direction)
  63. {
  64.     int i,j,k=0;
  65.     for(j=0;j<n;j++)
  66.     {
  67.         for(i=0;i<64*8;i++)
  68.         //for(i=0;i<8;i++)
  69.         {
  70.             for(k=0;k<8;k++)
  71.             {
  72.                 if(1 == direction)
  73.                 {
  74.                     SetMotor(phasecw[k]);
  75.                 }
  76.                 else
  77.                 {
  78.                     SetMotor(phaseccw[k]);
  79.                 }
  80.                 delay_ms(2);
  81.             }
  82.         }
  83.     }
  84. }
  85. //speed 速度
  86. //direction 方向
  87. void motorNspeed(int speed,bool direction)
  88. {
  89.         unsigned char k=0;
  90.         for(k=0;k<8;k++)
  91.         {
  92.                 if(direction==1)
  93.                       SetMotor(phasecw[k]);  //取數據
  94.                 else
  95.                       SetMotor(phaseccw[k]);
  96.                 delay_ms(speed);        //調節轉速        
  97.         }                          
  98. }
復制代碼

全部資料51hei下載地址:
步進電機.7z (179.69 KB, 下載次數: 29)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:553838 發表于 2019-12-10 16:05 | 顯示全部樓層
能測電機的速度么?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品高潮呻吟久久 | 成人国产精品一级毛片视频毛片 | 国产一区二区三区精品久久久 | 精品日韩一区 | 亚洲欧美日韩中文字幕一区二区三区 | 国产一区二区三区精品久久久 | 伊人性伊人情综合网 | www.中文字幕.com | 亚洲一区日韩 | 九九导航 | 免费在线观看h片 | 久久精品亚洲精品国产欧美 | 午夜电影在线播放 | 大陆一级毛片免费视频观看 | 亚洲成人自拍 | 日韩精品成人 | 精品三级在线观看 | 一区二区三区在线电影 | 9久9久9久女女女九九九一九 | 中文字幕在线观看视频一区 | 免费成人高清在线视频 | 日日骑 | 国产精品美女久久久久久久网站 | 7777在线视频免费播放 | 欧美一级黄视频 | 99精品国产在热久久 | 四虎av电影 | 精品欧美一区二区三区久久久 | 国产资源在线视频 | 天天操网| 久久国产精品免费视频 | 精品亚洲一区二区三区 | 欧美视频三区 | 午夜男人免费视频 | a在线观看| 欧美日韩久久 | 精品日韩一区 | 久久精点视频 | 中国一级大黄大片 | 黄色av观看| 黄色免费看|