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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9082|回復: 1
打印 上一主題 下一主題
收起左側

賦值法直接驅(qū)動uln2003步進電機

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:220449 發(fā)表于 2017-7-18 09:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "stm32....h" //頭文件自己寫,按需要弄
//uint16_t phasecw[4] ={0x0200,0x0100,0x0080,0x0040};// D-C-B-A   
//uint16_t phaseccw[4]={0x0040,0x0080,0x0100,0x0200};// A-B-C-D

       
void rightMoto_Init(void)//初始化左輪
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 );
}
void leftMoto_Init(void)//初始化右輪
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_10 | GPIO_Pin_11 |GPIO_Pin_12 |GPIO_Pin_13 );
}

//LED¶Ôó|IO3õê¼»ˉ
void Delay_xms(int x)//這里調(diào)節(jié)轉(zhuǎn)速如果太大就不能轉(zhuǎn)了,主要問題就是這里的延時脈沖
{
int i,j;
for(i=0;i<x;i++)
  for(j=0;j<112;j++);
}

void Motorcw(void)  //ǰ½ø直接按照規(guī)律賦值操作
{  
    int i= 225;//這里調(diào)節(jié)他以一種模式跑多長時間
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_8);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_10);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_12);
       
   Delay_xms(i);//×aËùμ÷½ú
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_7);
        GPIO_ResetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_10);
        Delay_xms(i);
        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_11| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_10);
       
        Delay_xms(i);

        GPIO_SetBits(GPIOC,GPIO_Pin_8| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_10| GPIO_Pin_11);
        GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);
         Delay_xms(i);
}
void Motorccw(void)  //μ1íË
{  
    int i= 225;
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_8);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_10);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_12);
       
   Delay_xms(i);//×aËùμ÷½ú
        GPIO_SetBits(GPIOC,GPIO_Pin_9| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_10| GPIO_Pin_11);
        GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);
        Delay_xms(i);
        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_11| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_10);
       
        Delay_xms(i);

        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_6);
        GPIO_ResetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_12| GPIO_Pin_13);
        GPIO_ResetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);
         Delay_xms(i);
}
void turn_left(void)
{
            int i= 225;
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_8);
       
GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_10);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_12);
       
   Delay_xms(i);//×aËùμ÷½ú
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_7);
        GPIO_ResetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
       
GPIO_SetBits(GPIOB,GPIO_Pin_10| GPIO_Pin_11);
        GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);
        Delay_xms(i);
        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_11| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_10);
       
        Delay_xms(i);

        GPIO_SetBits(GPIOC,GPIO_Pin_8| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_12| GPIO_Pin_13);
        GPIO_ResetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);
         Delay_xms(i);
}
void turn_right(void)
        {
           int i= 225;
        GPIO_SetBits(GPIOC,GPIO_Pin_6| GPIO_Pin_9);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_8);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_10);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_12);
       
   Delay_xms(i);//×aËùμ÷½ú
        GPIO_SetBits(GPIOC,GPIO_Pin_9| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_13| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_11|GPIO_Pin_10);
        Delay_xms(i);
        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_8);
        GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_6);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_11| GPIO_Pin_12);
        GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_10);
       
        Delay_xms(i);

        GPIO_SetBits(GPIOC,GPIO_Pin_7| GPIO_Pin_6);
        GPIO_ResetBits(GPIOC,GPIO_Pin_8|GPIO_Pin_9);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_10| GPIO_Pin_11);
        GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);
         Delay_xms(i);
}
       


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:611551 發(fā)表于 2019-9-15 14:55 | 只看該作者
你好,我根據(jù)你的思路這樣寫,電機一點反應都沒有,驅(qū)動的芯片發(fā)熱,是哪里出了問題?
#define C7_H()        GPIO_SetBits(GPIOC, GPIO_Pin_7)
#define C7_L()        GPIO_ResetBits(GPIOC, GPIO_Pin_7)
#define C13_H()        GPIO_SetBits(GPIOC, GPIO_Pin_13)
#define C13_L()        GPIO_ResetBits(GPIOC, GPIO_Pin_13)
#define C14_H()        GPIO_SetBits(GPIOC, GPIO_Pin_14)
#define C14_L()        GPIO_ResetBits(GPIOC, GPIO_Pin_14)
#define C15_H()        GPIO_SetBits(GPIOC, GPIO_Pin_15)
#define C15_L()        GPIO_ResetBits(GPIOC, GPIO_Pin_15)

uint16_t phasecw[4] ={0x0080,0x2000,0x4000,0x8000};// D-C-B-A  
uint16_t phaseccw[4]={0x8000,0x4000,0x2000,0x0080};// A-B-C-D  

void LED_gpio_cfg(void)
{
                GPIO_InitTypeDef GPIO_InitStructure;
                  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
                 // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
                GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_14;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
                GPIO_Init(GPIOC, &GPIO_InitStructure);
                GPIO_SetBits(GPIOC,GPIO_Pin_0);
                GPIO_SetBits(GPIOC,GPIO_Pin_2);
                GPIO_SetBits(GPIOC,GPIO_Pin_3);
                GPIO_SetBits(GPIOC,GPIO_Pin_4);
                C6_L();
                C7_L();
                C13_L();
                C15_L();
                C14_L();
}             


//步進電機正轉(zhuǎn)函數(shù)
void Motorcw(void)
{
        GPIO_ResetBits(GPIOC,GPIO_Pin_7);//依次高電平輸出
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_SetBits(GPIOC,GPIO_Pin_7);
        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_SetBits(GPIOC,GPIO_Pin_7);
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_ResetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_SetBits(GPIOC,GPIO_Pin_7);
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_ResetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);        
}

//步進電機反轉(zhuǎn)函數(shù)
void Motordw(void)
{
        GPIO_SetBits(GPIOC,GPIO_Pin_7);//依次高電平輸出
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_ResetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_SetBits(GPIOC,GPIO_Pin_7);
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_ResetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_SetBits(GPIOC,GPIO_Pin_7);
        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_15);
        delay_ms(10);
        
        GPIO_ResetBits(GPIOC,GPIO_Pin_7);
        GPIO_SetBits(GPIOC,GPIO_Pin_13);
        GPIO_SetBits(GPIOC,GPIO_Pin_14);
        GPIO_SetBits(GPIOC,GPIO_Pin_5);
        delay_ms(10);        
}
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产乱码精品一区二区三区中文 | 91日韩| 欧美国产日韩一区 | 精品亚洲国产成av人片传媒 | 天天操天天天干 | 国产色99| 久久蜜桃av一区二区天堂 | 一级黄在线观看 | 一级毛片免费视频 | 日韩在线免费 | 国产乱码精品一区二区三区中文 | www.久久久 | 久久伦理电影 | 人人看人人干 | 成人免费观看网站 | 欧美性jizz18性欧美 | 免费在线看黄 | 在线a视频 | 色毛片| 久久国产综合 | 成人av高清| 免费在线看黄视频 | 亚洲成人免费在线 | 亚洲色图在线观看 | 亚洲综合色自拍一区 | 欧美成人一区二区三区 | 欧美乱淫视频 | 狠狠视频 | 一级视频黄色 | 成人在线播放网址 | 国产91久久精品一区二区 | 国产高清视频 | 亚洲男人天堂2024 | 亚洲精品久久国产高清情趣图文 | h视频在线观看免费 | a爱视频 | 日韩欧美网| 国产ts人妖另类 | 一本一道久久a久久精品蜜桃 | 日韩精品一区二区三区中文字幕 | www.狠狠干|