欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機+步進馬達延時程序問題 [打印本頁]

作者: dj3365191    時間: 2023-3-5 13:41
標題: 51單片機+步進馬達延時程序問題
下面程序是上電馬達轉動45度后延時10秒再轉動45度,往復循環,我想在馬達停止后延時60秒,我把100000這個值改多大也不能延時60秒,請問這程序該怎么改,請各位給個提示,謝謝!

單片機源程序如下:
#include <reg52.h>      
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint i,j,k ;
uint N=128;    //角度范圍調節,對應于45度,512對應于360度

uchar code single_pos[4]={0x04,0x08,0x10,0x20};  /*單四拍正轉表*/                                                           
//uchar code single_rev[4]={0x20,0x10,0x08,0x04};  /*單四拍反轉表*/

void delay(uint z);
void m_single_pos();
//void m_single_rev();

void main()
{
    while(1)
        {
          m_single_pos(); //單四拍正轉45度
          delay(100000);
          m_single_pos(); //單四拍正轉45度
          delay(100000);                  
        }
}

void delay(uint z) /*延時z毫秒*/
{
    uint x,y;
        for(x=z;x>0;x--)
           for(y=300;y>0;y--) ;         //轉速調節,數值越大馬達越慢
}
            
/******************************單四拍驅動正轉(N*45/16)*************************************/  
void m_single_pos()
{
   for(k=0;k<N;k++)            
    {  
         for(i=0;i<4;i++)                                //單四拍一個脈沖轉子轉動5.625*2=11.625度,四拍共45度
            {
                  P3=single_pos[ i] ;
                  delay(10) ;                //適當延時,保證轉子轉動時間,延時過短會丟拍
                 }
         }
}


作者: qsssuv    時間: 2023-3-5 15:56
uint在這里最大也只能是65535,超過這個值反而會變小
作者: 人中狼    時間: 2023-3-5 16:21
使用定時器吧
作者: lkc8210    時間: 2023-3-5 23:11
  1. void main()
  2. {
  3.         uchar delay_Cnt = 0;
  4.         while(1)
  5.         {
  6.                 if(delay_Cnt==0)
  7.                 {
  8.                         m_single_pos(); //單四拍正轉45度
  9.                 }
  10.                 delay_Cnt++;
  11.                 if(delay_Cnt>=60)delay_Cnt=0;
  12.                 delay(1000);
  13.         }
  14. }
復制代碼

作者: yzwzfyz    時間: 2023-3-6 14:13
很易想到的,將10秒延時,做6次。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1