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

標題: a4988驅動二相四線電機,用51怎么控制step和dir來使電機運動 [打印本頁]

作者: lcjia_you    時間: 2015-11-6 00:13
標題: a4988驅動二相四線電機,用51怎么控制step和dir來使電機運動
rt,求各位幫一下,最近在用51做雕刻機。。沒想到一上來就被a4988給弄的。。。

作者: shtsw    時間: 2017-10-11 21:05
居然就是個沒有后續節目的帖子
作者: 你行你叫滿昊啊    時間: 2018-1-22 10:06
/***************************************************************
* 實 驗 名 :步進電機實驗
* 實驗說明 :電機啟動、停止、正轉、反轉
* 實驗平臺 :51單片機開發板
* 連接方式 :pulse接P10  DIR接P11 KYE1接P20 KYE2接P21 KYE3接P22 KYE4接P23 ENABLE接P12 MS1-3接P13-P14
* 注    意 :本例程使用了中斷定時器,中斷介紹會在下一實驗中說明
****************************************************************************/

#include <reg52.h>
#include <intrins.h>

#define FOSC 11059200L //晶振設置,默認使用11.0592M Hz
//#define FOSC 12000000L //晶振設置,使用12M Hz
//#define FOSC 24000000L //晶振設置,使用24M Hz

#define TIME_MS 1 //設定定時時間 ms ,在11.0592M晶振下,不易超過60ms





//IO接口定義
sbit pulse = P1^0;//脈沖信號
sbit Dir   = P1^1; //正反轉

sbit EN    = P1^2;
sbit MS1   = P1^3;
sbit MS2   = P1^4;
sbit MS3   = P1^5;



sbit KEY1 = P2^0;  //啟動
sbit KEY2 = P2^1;  //停止
sbit KEY3 = P2^2;  //正轉
sbit KEY4 = P2^3;  //反轉


//全局變量定義
unsigned char count=0;

/*******************************************************************************
* 函 數 名 :Delayms
* 函數功能 :實現 ms級的延時
* 輸    入 :ms
* 輸    出 :無
*******************************************************************************/
void Delayms(unsigned int ms)
{
        unsigned int i,j;
        for(i=0;i<ms;i++)
        #if FOSC == 11059200L
                for(j=0;j<114;j++);
        #elif FOSC == 12000000L
          for(j=0;j<123;j++);
        #elif FOSC == 24000000L
                for(j=0;j<249;j++);
        #else
                for(j=0;j<114;j++);
        #endif
}

/*******************************************************************************
* 函 數 名 :Timer0Init
* 函數功能 :定時器0初始化
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Timer0Init()
{
        TMOD=0x01; //設置定時器0工作方式為1
        TH0=(65536-FOSC/12/1000*TIME_MS)/256;
        TL0=(65536-FOSC/12/1000*TIME_MS)%256;
        ET0=1; //開啟定時器0中斷
//        TR0=1;        //開啟定時器       
        EA=1;  //打開總中斷
}


/*******************************************************************************
* 函 數 名 :main
* 函數功能 :主函數
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void main()
{
        Timer0Init();
        EN=0;
        MS1=0;
        MS2=0;
        MS3=0;
        while(1)
        {
  if(KEY1==0)  //判斷是否按下鍵盤
        {
                Delayms(10); //延時,軟件去干擾
                if(KEY1==0)   //確認按鍵按下
                {
      TR0=1;
                }
                while(KEY1==0);//按鍵鎖定,每按一次count只加1.
        }
        if(KEY2==0)  //判斷是否按下鍵盤
        {
                Delayms(10); //延時,軟件去干擾
                if(KEY2==0)   //確認按鍵按下
                {
      TR0=0;
                }
                while(KEY2==0);//按鍵鎖定,每按一次count只加1.
        }       
       
        if(KEY3==0)  //判斷是否按下鍵盤
        {
                Delayms(10); //延時,軟件去干擾
                if(KEY3==0)   //確認按鍵按下
                {
      Dir=0;
                }
                while(KEY3==0);//按鍵鎖定,每按一次count只加1.
        }       
       
                if(KEY4==0)  //判斷是否按下鍵盤
        {
                Delayms(10); //延時,軟件去干擾
                if(KEY4==0)   //確認按鍵按下
                {
      Dir=1;
                }
                while(KEY4==0);//按鍵鎖定,每按一次count只加1.
        }       
       
       
        }
}

/*******************************************************************************
* 函 數 名 :Timer0Int
* 函數功能 :定時器0中斷函數 , 每隔TIME_MS ms進入
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Timer0Int() interrupt 1
{
        TH0=(65536-FOSC/12/1000*TIME_MS)/256;
        TL0=(65536-FOSC/12/1000*TIME_MS)%256;
        count++;
        if(count == 2)//1s
        {
                pulse = !pulse;//LED燈閃爍
                count = 0;
        }
}


作者: 你行你叫滿昊啊    時間: 2018-1-22 10:07
這個是一個大神的測試程序,你可以參照一下
作者: 陌上花開m    時間: 2018-5-10 11:22
你行你叫滿昊啊 發表于 2018-1-22 10:06
/***************************************************************
* 實 驗 名 :步進電機實驗
* 實驗 ...

你好,你有電路圖嗎
作者: 286050318    時間: 2019-1-17 08:55
百度找的
/*-----------------------------------------------  
  名稱:步進電機  
------------------------------------------------*/   
   
#include <reg52.h>   
   
sbit step=P1^0;        //步進脈沖,一個正脈沖就轉一個步距角   
sbit dir=P1^1;        //1為正轉,0為反轉。   
sbit sleep=P1^2;   
sbit res=P1^3;   
unsigned char sum=0;   
   
/********************毫秒延時函數***************************/   
void Delay(unsigned int xms)   
{   
    unsigned int i,j;   
    for(i=xms;i>0;i--)   
        for(j=110;j>0;j--);   
}   
   
void ISR_Key(void) interrupt 2  //外部中斷1   
{   
  Delay(20);   
  sum++;   
  if(sum==1)   
  {   
    dir=~dir;   
   }   
  if(sum==1) sum=0;   
   
}   
/******************************************************************/   
/*                   主函數                                       */   
/******************************************************************/   
main()   
{   
   
  dir=1;         //正轉   
  sleep=1;       //休眠無效   
  res=1;         //復位無效   
  step=1;           
   
  EX1=1;         //外部中斷1開   
  IT1=1;         //邊沿觸發   
  EA=1;          //全局中斷開   
   
while(1)               
{   
     step=~step;     //輸出脈沖   
     Delay(2);       //需要延時,不延時電機不動,延時太久也不動。改變這個參數可以調整電機轉速 ,數字越小,轉速越大。   
      
}   
}   
   
作者: cjs99042092    時間: 2019-1-17 19:55
正常歩進電機的頻率為500HZ,每8步為1循環,具體請看附件(附件為四相八拍的歩進電機)

28BYJ-48步進電機.doc

271.5 KB, 下載次數: 47


作者: whatsrong    時間: 2019-1-17 20:49
dir用高低電平表示方向,step用PWM輸出控制,可控制轉速
作者: 乘風破浪1023    時間: 2019-6-19 17:01
你行你叫滿昊啊 發表于 2018-1-22 10:07
這個是一個大神的測試程序,你可以參照一下

這也不好用啊





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 99精品网| 欧美高清一区 | 久久国产精品无码网站 | 一区二区在线 | 99久久久久国产精品免费 | 中文字幕在线电影观看 | 天天宗合网 | 亚洲三级视频 | 国产精品日韩欧美一区二区 | 国产一区二区视频在线 | 91一区二区三区 | 蜜桃av一区二区三区 | 久久久久久毛片免费观看 | 日本黄色大片免费 | 日韩精品极品视频在线观看免费 | 午夜免费福利影院 | 久久久精品一区二区 | 亚洲精品美女在线观看 | 亚洲国产精品一区二区久久 | 亚洲一区免费在线 | 日日操网站 | 成人免费精品视频 | 久久av一区二区三区 | 久久精品国产久精国产 | 日韩精品在线观看免费 | 久久久久久免费精品一区二区三区 | 在线播放一区二区三区 | 日韩欧美在线不卡 | 成人黄页在线观看 | 91.色| 欧美视频二区 | 日本一本视频 | 日韩精品一区二区三区在线播放 | 国产特黄一级 | 欧美午夜一区 | 亚洲国产一区二区视频 | 台湾佬成人网 | 看片91| 国产一区二区三区视频 | 欧美精品在线一区二区三区 | 麻豆久久久久 |