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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

步進電機細分問題,求大神指點迷津

[復制鏈接]
跳轉到指定樓層
樓主
ID:86177 發表于 2015-8-7 21:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

請問這細分表是怎么來的:?????
unsigned char TableA[] = { 0XF7,0XFB,0XF3};         //A線圈細分表
unsigned char TableB[] = { 0XeF,0XdF,0XcF};         //B線圈細分表

程序如下;


*************************************************************************************
*  標題:  步進電機試驗四(采用2細分)                                                                                         *
*                                                                                                                                                                          *
*    通過本例程了解步進馬達使用及驅動程序編寫                                                                                 *
*;   單相四拍通電驅動時序:                                                          *
*;   正轉: A/  B  A  B/                                                                                                                         *
*    反轉: B/  A  B  A/                                                                                              *
*                                                                                                                                                                     *
*    UDN2916電流控制真值表:                                                                                                                 *
*          I0    I1        輸出電流                                                                                                                 *
*          L            L                  最大                                                                                                                         *
*          H                L                  最大*2/3                                                                                                                 *
*          L                H                  最大*1/3                                                                                                                 *
*     H     H         0                                                                     *                                                                                 *
**************************************************************************************/  
#include "reg52.h"

#define speed 38
//Motor
sbit PH1 = P1^0;          //定義管腳
sbit PH2 = P1^1;
sbit I01 = P1^2;
sbit I11 = P1^3;
sbit I02 = P1^4;
sbit I12 = P1^5;
                                     
unsigned char TableA[] = { 0XF7,0XFB,0XF3};         //A線圈細分表
unsigned char TableB[] = { 0XeF,0XdF,0XcF};         //B線圈細分表

void delay(int time);

/***************************************
函數功能:產生單相四拍脈沖控制步進機 2細分
**************************************/
void Go()
{        char i ,temp;
     //A
    PH1 = 0;  //PH1為0 則A線圈為反向電流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableA[i];
           P1 = P1&temp;
           delay(1);
         }
       

        PH2 = 0;  //PH2為0 則B線圈為反向電流
        I02 = 1;
        I12 = 1;   //輸出0

        delay(speed);
        //0
        PH1 = 0;  //PH1為0 則A線圈為反向電流
    I01 = 1;  //輸出0
        I11 = 1;
       

        PH2 = 1;  //PH2為1 則B線圈為正電流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableB[i];
           P1 = P1&temp;
           delay(1);
         }

        delay(speed);
        //B
        PH1 = 1;   //PH1為1 則A線圈為正向電流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableA[i];
           P1 = P1&temp;
           delay(1);
         }

        PH2 = 1;  //PH2為1 則B線圈為正向電流
        I02 = 1;  //輸出0
        I12 = 1;
                   ////
        delay(speed);
        //0
        PH1 = 1;   //PH1為1 則A線圈為正向電流
        I01 = 1;
        I11 = 1;
       

        PH2 = 0;   //PH2為0 則B線圈為反向電流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableB[i];
           P1 = P1&temp;
           delay(1);
         }
        delay(speed);


       
}
/*******************延時函數****************************/
void delay(int time)
{
  int i,j;

  for(j=0; j <= time; j++)
   for(i =0 ; i <= 120; i++);
}


void main()
{

  while(1)
  {

    Go();  //步進電機運行
       
  }

}


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

使用道具 舉報

沙發
ID:86177 發表于 2015-8-7 21:34 | 只看該作者
求大神幫忙
回復

使用道具 舉報

板凳
ID:86177 發表于 2015-8-7 22:38 | 只看該作者
我還想問問,多級細分怎么分??原理是什么??
回復

使用道具 舉報

地板
ID:44267 發表于 2015-11-13 16:42 | 只看該作者

回帖獎勵 +1

本論壇真是高手如云啊,讓我們這些新長見識了
回復

使用道具 舉報

5#
ID:103038 發表于 2016-1-13 11:57 | 只看該作者
最近也在看這個代碼。沒有高手能解釋一下嗎??
回復

使用道具 舉報

6#
ID:106272 發表于 2016-12-5 22:14 | 只看該作者
我也想知道,高手來幫忙解釋一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 三级免费毛片 | 日韩综合在线 | 国产在线播放一区二区三区 | 黄色毛片免费视频 | 欧美一级欧美一级在线播放 | 欧美小视频在线观看 | 午夜视频在线 | 久久国产精品精品 | 免费成人高清在线视频 | 久久小视频 | 日朝毛片 | 久久久久久99 | 国产91在线精品 | 亚洲福利一区 | 国产精品亚洲一区 | 免费h在线| 亚洲国产精品视频 | 国产福利在线 | 精品国产乱码久久久久久牛牛 | 欧美日韩在线播放 | 99久久99 | 日韩在线精品强乱中文字幕 | 国产精品a久久久久 | 欧美综合一区 | 国产精品视频一二三区 | 2019天天干夜夜操 | 国产片侵犯亲女视频播放 | 日韩欧美手机在线 | 蜜臀久久99精品久久久久久宅男 | 日日干夜夜操 | 亚洲欧洲国产视频 | 中文字幕中文字幕 | 亚洲aⅴ | 嫩草网 | www.色五月.com | 成人一区二区三区 | 在线日韩欧美 | 天堂久久天堂综合色 | 久久久久久国产精品mv | 国产中文视频 | www.亚洲一区 |